2019-03-17 20:19:56 +01:00
// Copyright 2019 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package discovery provides access to the API Discovery Service.
//
// For product documentation, see: https://developers.google.com/discovery/
2018-06-19 15:30:26 +02:00
//
2019-03-17 20:19:56 +01:00
// Creating a client
2018-06-19 15:30:26 +02:00
//
// Usage example:
//
// import "google.golang.org/api/discovery/v1"
// ...
2019-03-17 20:19:56 +01:00
// ctx := context.Background()
// discoveryService, err := discovery.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// discoveryService, err := discovery.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// discoveryService, err := discovery.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
2018-06-19 15:30:26 +02:00
package discovery // import "google.golang.org/api/discovery/v1"
import (
"bytes"
2019-03-17 20:19:56 +01:00
"context"
2018-06-19 15:30:26 +02:00
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
2019-03-17 20:19:56 +01:00
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
option "google.golang.org/api/option"
htransport "google.golang.org/api/transport/http"
2018-06-19 15:30:26 +02:00
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes . NewBuffer
var _ = strconv . Itoa
var _ = fmt . Sprintf
var _ = json . NewDecoder
var _ = io . Copy
var _ = url . Parse
var _ = gensupport . MarshalJSON
var _ = googleapi . Version
var _ = errors . New
var _ = strings . Replace
var _ = context . Canceled
const apiId = "discovery:v1"
const apiName = "discovery"
const apiVersion = "v1"
const basePath = "https://www.googleapis.com/discovery/v1/"
2019-03-17 20:19:56 +01:00
// NewService creates a new Service.
func NewService ( ctx context . Context , opts ... option . ClientOption ) ( * Service , error ) {
client , endpoint , err := htransport . NewClient ( ctx , opts ... )
if err != nil {
return nil , err
}
s , err := New ( client )
if err != nil {
return nil , err
}
if endpoint != "" {
s . BasePath = endpoint
}
return s , nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
2018-06-19 15:30:26 +02:00
func New ( client * http . Client ) ( * Service , error ) {
if client == nil {
return nil , errors . New ( "client is nil" )
}
s := & Service { client : client , BasePath : basePath }
s . Apis = NewApisService ( s )
return s , nil
}
type Service struct {
client * http . Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Apis * ApisService
}
func ( s * Service ) userAgent ( ) string {
if s . UserAgent == "" {
return googleapi . UserAgent
}
return googleapi . UserAgent + " " + s . UserAgent
}
func NewApisService ( s * Service ) * ApisService {
rs := & ApisService { s : s }
return rs
}
type ApisService struct {
s * Service
}
type DirectoryList struct {
// DiscoveryVersion: Indicate the version of the Discovery API used to
// generate this doc.
DiscoveryVersion string ` json:"discoveryVersion,omitempty" `
// Items: The individual directory entries. One entry per api/version
// pair.
Items [ ] * DirectoryListItems ` json:"items,omitempty" `
// Kind: The kind for this response.
Kind string ` json:"kind,omitempty" `
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi . ServerResponse ` json:"-" `
// ForceSendFields is a list of field names (e.g. "DiscoveryVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "DiscoveryVersion") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields [ ] string ` json:"-" `
}
func ( s * DirectoryList ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod DirectoryList
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type DirectoryListItems struct {
// Description: The description of this API.
Description string ` json:"description,omitempty" `
// DiscoveryLink: A link to the discovery document.
DiscoveryLink string ` json:"discoveryLink,omitempty" `
// DiscoveryRestUrl: The URL for the discovery REST document.
DiscoveryRestUrl string ` json:"discoveryRestUrl,omitempty" `
// DocumentationLink: A link to human readable documentation for the
// API.
DocumentationLink string ` json:"documentationLink,omitempty" `
// Icons: Links to 16x16 and 32x32 icons representing the API.
Icons * DirectoryListItemsIcons ` json:"icons,omitempty" `
// Id: The id of this API.
Id string ` json:"id,omitempty" `
// Kind: The kind for this response.
Kind string ` json:"kind,omitempty" `
// Labels: Labels for the status of this API, such as labs or
// deprecated.
Labels [ ] string ` json:"labels,omitempty" `
// Name: The name of the API.
Name string ` json:"name,omitempty" `
// Preferred: True if this version is the preferred version to use.
Preferred bool ` json:"preferred,omitempty" `
// Title: The title of this API.
Title string ` json:"title,omitempty" `
// Version: The version of the API.
Version string ` json:"version,omitempty" `
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * DirectoryListItems ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod DirectoryListItems
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// DirectoryListItemsIcons: Links to 16x16 and 32x32 icons representing
// the API.
type DirectoryListItemsIcons struct {
// X16: The URL of the 16x16 icon.
X16 string ` json:"x16,omitempty" `
// X32: The URL of the 32x32 icon.
X32 string ` json:"x32,omitempty" `
// ForceSendFields is a list of field names (e.g. "X16") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "X16") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * DirectoryListItemsIcons ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod DirectoryListItemsIcons
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type JsonSchema struct {
// Ref: A reference to another schema. The value of this property is the
// "id" of another schema.
Ref string ` json:"$ref,omitempty" `
// AdditionalProperties: If this is a schema for an object, this
// property is the schema for any additional properties with dynamic
// keys on this object.
AdditionalProperties * JsonSchema ` json:"additionalProperties,omitempty" `
// Annotations: Additional information about this property.
Annotations * JsonSchemaAnnotations ` json:"annotations,omitempty" `
// Default: The default value of this property (if one exists).
Default string ` json:"default,omitempty" `
// Description: A description of this object.
Description string ` json:"description,omitempty" `
// Enum: Values this parameter may take (if it is an enum).
Enum [ ] string ` json:"enum,omitempty" `
// EnumDescriptions: The descriptions for the enums. Each position maps
// to the corresponding value in the "enum" array.
EnumDescriptions [ ] string ` json:"enumDescriptions,omitempty" `
// Format: An additional regular expression or key that helps constrain
// the value. For more details see:
// http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
Format string ` json:"format,omitempty" `
// Id: Unique identifier for this schema.
Id string ` json:"id,omitempty" `
// Items: If this is a schema for an array, this property is the schema
// for each element in the array.
Items * JsonSchema ` json:"items,omitempty" `
// Location: Whether this parameter goes in the query or the path for
// REST requests.
Location string ` json:"location,omitempty" `
// Maximum: The maximum value of this parameter.
Maximum string ` json:"maximum,omitempty" `
// Minimum: The minimum value of this parameter.
Minimum string ` json:"minimum,omitempty" `
// Pattern: The regular expression this parameter must conform to. Uses
// Java 6 regex format:
// http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
Pattern string ` json:"pattern,omitempty" `
// Properties: If this is a schema for an object, list the schema for
// each property of this object.
Properties map [ string ] JsonSchema ` json:"properties,omitempty" `
// ReadOnly: The value is read-only, generated by the service. The value
// cannot be modified by the client. If the value is included in a POST,
// PUT, or PATCH request, it is ignored by the service.
ReadOnly bool ` json:"readOnly,omitempty" `
// Repeated: Whether this parameter may appear multiple times.
Repeated bool ` json:"repeated,omitempty" `
// Required: Whether the parameter is required.
Required bool ` json:"required,omitempty" `
// Type: The value type for this schema. A list of values can be found
// here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
Type string ` json:"type,omitempty" `
// Variant: In a variant data type, the value of one property is used to
// determine how to interpret the entire entity. Its value must exist in
// a map of descriminant values to schema names.
Variant * JsonSchemaVariant ` json:"variant,omitempty" `
// ForceSendFields is a list of field names (e.g. "Ref") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Ref") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * JsonSchema ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod JsonSchema
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// JsonSchemaAnnotations: Additional information about this property.
type JsonSchemaAnnotations struct {
// Required: A list of methods for which this property is required on
// requests.
Required [ ] string ` json:"required,omitempty" `
// ForceSendFields is a list of field names (e.g. "Required") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Required") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * JsonSchemaAnnotations ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod JsonSchemaAnnotations
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// JsonSchemaVariant: 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.
type JsonSchemaVariant struct {
// Discriminant: The name of the type discriminant property.
Discriminant string ` json:"discriminant,omitempty" `
// Map: The map of discriminant value to schema to use for parsing..
Map [ ] * JsonSchemaVariantMap ` json:"map,omitempty" `
// ForceSendFields is a list of field names (e.g. "Discriminant") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Discriminant") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * JsonSchemaVariant ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod JsonSchemaVariant
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type JsonSchemaVariantMap struct {
Ref string ` json:"$ref,omitempty" `
TypeValue string ` json:"type_value,omitempty" `
// ForceSendFields is a list of field names (e.g. "Ref") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Ref") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * JsonSchemaVariantMap ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod JsonSchemaVariantMap
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type RestDescription struct {
// Auth: Authentication information.
Auth * RestDescriptionAuth ` json:"auth,omitempty" `
// BasePath: [DEPRECATED] The base path for REST requests.
BasePath string ` json:"basePath,omitempty" `
// BaseUrl: [DEPRECATED] The base URL for REST requests.
BaseUrl string ` json:"baseUrl,omitempty" `
// BatchPath: The path for REST batch requests.
BatchPath string ` json:"batchPath,omitempty" `
// CanonicalName: Indicates how the API name should be capitalized and
// split into various parts. Useful for generating pretty class names.
CanonicalName string ` json:"canonicalName,omitempty" `
// Description: The description of this API.
Description string ` json:"description,omitempty" `
// DiscoveryVersion: Indicate the version of the Discovery API used to
// generate this doc.
DiscoveryVersion string ` json:"discoveryVersion,omitempty" `
// DocumentationLink: A link to human readable documentation for the
// API.
DocumentationLink string ` json:"documentationLink,omitempty" `
// Etag: The ETag for this response.
Etag string ` json:"etag,omitempty" `
// ExponentialBackoffDefault: Enable exponential backoff for suitable
// methods in the generated clients.
ExponentialBackoffDefault bool ` json:"exponentialBackoffDefault,omitempty" `
// Features: A list of supported features for this API.
Features [ ] string ` json:"features,omitempty" `
// Icons: Links to 16x16 and 32x32 icons representing the API.
Icons * RestDescriptionIcons ` json:"icons,omitempty" `
// Id: The ID of this API.
Id string ` json:"id,omitempty" `
// Kind: The kind for this response.
Kind string ` json:"kind,omitempty" `
// Labels: Labels for the status of this API, such as labs or
// deprecated.
Labels [ ] string ` json:"labels,omitempty" `
// Methods: API-level methods for this API.
Methods map [ string ] RestMethod ` json:"methods,omitempty" `
// Name: The name of this API.
Name string ` json:"name,omitempty" `
// OwnerDomain: The domain of the owner of this API. Together with the
// ownerName and a packagePath values, this can be used to generate a
// library for this API which would have a unique fully qualified name.
OwnerDomain string ` json:"ownerDomain,omitempty" `
// OwnerName: The name of the owner of this API. See ownerDomain.
OwnerName string ` json:"ownerName,omitempty" `
// PackagePath: The package of the owner of this API. See ownerDomain.
PackagePath string ` json:"packagePath,omitempty" `
// Parameters: Common parameters that apply across all apis.
Parameters map [ string ] JsonSchema ` json:"parameters,omitempty" `
// Protocol: The protocol described by this document.
Protocol string ` json:"protocol,omitempty" `
// Resources: The resources in this API.
Resources map [ string ] RestResource ` json:"resources,omitempty" `
// Revision: The version of this API.
Revision string ` json:"revision,omitempty" `
// RootUrl: The root URL under which all API services live.
RootUrl string ` json:"rootUrl,omitempty" `
// Schemas: The schemas for this API.
Schemas map [ string ] JsonSchema ` json:"schemas,omitempty" `
// ServicePath: The base path for all REST requests.
ServicePath string ` json:"servicePath,omitempty" `
// Title: The title of this API.
Title string ` json:"title,omitempty" `
// Version: The version of this API.
Version string ` json:"version,omitempty" `
VersionModule bool ` json:"version_module,omitempty" `
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi . ServerResponse ` json:"-" `
// ForceSendFields is a list of field names (e.g. "Auth") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Auth") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestDescription ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestDescription
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestDescriptionAuth: Authentication information.
type RestDescriptionAuth struct {
// Oauth2: OAuth 2.0 authentication information.
Oauth2 * RestDescriptionAuthOauth2 ` json:"oauth2,omitempty" `
// ForceSendFields is a list of field names (e.g. "Oauth2") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Oauth2") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestDescriptionAuth ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestDescriptionAuth
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestDescriptionAuthOauth2: OAuth 2.0 authentication information.
type RestDescriptionAuthOauth2 struct {
// Scopes: Available OAuth 2.0 scopes.
Scopes map [ string ] RestDescriptionAuthOauth2Scopes ` json:"scopes,omitempty" `
// ForceSendFields is a list of field names (e.g. "Scopes") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Scopes") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestDescriptionAuthOauth2 ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestDescriptionAuthOauth2
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestDescriptionAuthOauth2Scopes: The scope value.
type RestDescriptionAuthOauth2Scopes struct {
// Description: Description of scope.
Description string ` json:"description,omitempty" `
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestDescriptionAuthOauth2Scopes ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestDescriptionAuthOauth2Scopes
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestDescriptionIcons: Links to 16x16 and 32x32 icons representing the
// API.
type RestDescriptionIcons struct {
// X16: The URL of the 16x16 icon.
X16 string ` json:"x16,omitempty" `
// X32: The URL of the 32x32 icon.
X32 string ` json:"x32,omitempty" `
// ForceSendFields is a list of field names (e.g. "X16") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "X16") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestDescriptionIcons ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestDescriptionIcons
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type RestMethod struct {
// Description: Description of this method.
Description string ` json:"description,omitempty" `
// EtagRequired: Whether this method requires an ETag to be specified.
// The ETag is sent as an HTTP If-Match or If-None-Match header.
EtagRequired bool ` json:"etagRequired,omitempty" `
// HttpMethod: HTTP method used by this method.
HttpMethod string ` json:"httpMethod,omitempty" `
// Id: A unique ID for this method. This property can be used to match
// methods between different versions of Discovery.
Id string ` json:"id,omitempty" `
// MediaUpload: Media upload parameters.
MediaUpload * RestMethodMediaUpload ` json:"mediaUpload,omitempty" `
// ParameterOrder: Ordered list of required parameters, serves as a hint
// to clients on how to structure their method signatures. The array is
// ordered such that the "most-significant" parameter appears first.
ParameterOrder [ ] string ` json:"parameterOrder,omitempty" `
// Parameters: Details for all parameters in this method.
Parameters map [ string ] JsonSchema ` json:"parameters,omitempty" `
// Path: The URI path of this REST method. Should be used in conjunction
// with the basePath property at the api-level.
Path string ` json:"path,omitempty" `
// Request: The schema for the request.
Request * RestMethodRequest ` json:"request,omitempty" `
// Response: The schema for the response.
Response * RestMethodResponse ` json:"response,omitempty" `
// Scopes: OAuth 2.0 scopes applicable to this method.
Scopes [ ] string ` json:"scopes,omitempty" `
// SupportsMediaDownload: Whether this method supports media downloads.
SupportsMediaDownload bool ` json:"supportsMediaDownload,omitempty" `
// SupportsMediaUpload: Whether this method supports media uploads.
SupportsMediaUpload bool ` json:"supportsMediaUpload,omitempty" `
// SupportsSubscription: Whether this method supports subscriptions.
SupportsSubscription bool ` json:"supportsSubscription,omitempty" `
// UseMediaDownloadService: Indicates that downloads from this method
// should use the download service URL (i.e. "/download"). Only applies
// if the method supports media download.
UseMediaDownloadService bool ` json:"useMediaDownloadService,omitempty" `
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestMethod ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestMethod
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestMethodMediaUpload: Media upload parameters.
type RestMethodMediaUpload struct {
// Accept: MIME Media Ranges for acceptable media uploads to this
// method.
Accept [ ] string ` json:"accept,omitempty" `
// MaxSize: Maximum size of a media upload, such as "1MB", "2GB" or
// "3TB".
MaxSize string ` json:"maxSize,omitempty" `
// Protocols: Supported upload protocols.
Protocols * RestMethodMediaUploadProtocols ` json:"protocols,omitempty" `
// ForceSendFields is a list of field names (e.g. "Accept") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Accept") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestMethodMediaUpload ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestMethodMediaUpload
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestMethodMediaUploadProtocols: Supported upload protocols.
type RestMethodMediaUploadProtocols struct {
// Resumable: Supports the Resumable Media Upload protocol.
Resumable * RestMethodMediaUploadProtocolsResumable ` json:"resumable,omitempty" `
// Simple: Supports uploading as a single HTTP request.
Simple * RestMethodMediaUploadProtocolsSimple ` json:"simple,omitempty" `
// ForceSendFields is a list of field names (e.g. "Resumable") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Resumable") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestMethodMediaUploadProtocols ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestMethodMediaUploadProtocols
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestMethodMediaUploadProtocolsResumable: Supports the Resumable Media
// Upload protocol.
type RestMethodMediaUploadProtocolsResumable struct {
// Multipart: True if this endpoint supports uploading multipart media.
//
// Default: true
Multipart * bool ` json:"multipart,omitempty" `
// Path: The URI path to be used for upload. Should be used in
// conjunction with the basePath property at the api-level.
Path string ` json:"path,omitempty" `
// ForceSendFields is a list of field names (e.g. "Multipart") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Multipart") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestMethodMediaUploadProtocolsResumable ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestMethodMediaUploadProtocolsResumable
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestMethodMediaUploadProtocolsSimple: Supports uploading as a single
// HTTP request.
type RestMethodMediaUploadProtocolsSimple struct {
// Multipart: True if this endpoint supports upload multipart media.
//
// Default: true
Multipart * bool ` json:"multipart,omitempty" `
// Path: The URI path to be used for upload. Should be used in
// conjunction with the basePath property at the api-level.
Path string ` json:"path,omitempty" `
// ForceSendFields is a list of field names (e.g. "Multipart") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Multipart") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestMethodMediaUploadProtocolsSimple ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestMethodMediaUploadProtocolsSimple
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestMethodRequest: The schema for the request.
type RestMethodRequest struct {
// Ref: Schema ID for the request schema.
Ref string ` json:"$ref,omitempty" `
// ParameterName: parameter name.
ParameterName string ` json:"parameterName,omitempty" `
// ForceSendFields is a list of field names (e.g. "Ref") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Ref") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestMethodRequest ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestMethodRequest
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RestMethodResponse: The schema for the response.
type RestMethodResponse struct {
// Ref: Schema ID for the response schema.
Ref string ` json:"$ref,omitempty" `
// ForceSendFields is a list of field names (e.g. "Ref") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Ref") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestMethodResponse ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestMethodResponse
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
type RestResource struct {
// Methods: Methods on this resource.
Methods map [ string ] RestMethod ` json:"methods,omitempty" `
// Resources: Sub-resources on this resource.
Resources map [ string ] RestResource ` json:"resources,omitempty" `
// ForceSendFields is a list of field names (e.g. "Methods") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Methods") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RestResource ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RestResource
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// method id "discovery.apis.getRest":
type ApisGetRestCall struct {
s * Service
api string
version string
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// GetRest: Retrieve the description of a particular version of an api.
func ( r * ApisService ) GetRest ( api string , version string ) * ApisGetRestCall {
c := & ApisGetRestCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . api = api
c . version = version
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * ApisGetRestCall ) Fields ( s ... googleapi . Field ) * ApisGetRestCall {
c . urlParams_ . Set ( "fields" , googleapi . CombineFields ( s ) )
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func ( c * ApisGetRestCall ) IfNoneMatch ( entityTag string ) * ApisGetRestCall {
c . ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func ( c * ApisGetRestCall ) Context ( ctx context . Context ) * ApisGetRestCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * ApisGetRestCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * ApisGetRestCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
2019-03-17 20:19:56 +01:00
c . urlParams_ . Set ( "prettyPrint" , "false" )
2018-06-19 15:30:26 +02:00
urls := googleapi . ResolveRelative ( c . s . BasePath , "apis/{api}/{version}/rest" )
urls += "?" + c . urlParams_ . Encode ( )
2019-03-17 20:19:56 +01:00
req , err := http . NewRequest ( "GET" , urls , body )
if err != nil {
return nil , err
}
2018-06-19 15:30:26 +02:00
req . Header = reqHeaders
googleapi . Expand ( req . URL , map [ string ] string {
"api" : c . api ,
"version" : c . version ,
} )
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "discovery.apis.getRest" call.
// Exactly one of *RestDescription or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *RestDescription.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func ( c * ApisGetRestCall ) Do ( opts ... googleapi . CallOption ) ( * RestDescription , error ) {
gensupport . SetOptions ( c . urlParams_ , opts ... )
res , err := c . doRequest ( "json" )
if res != nil && res . StatusCode == http . StatusNotModified {
if res . Body != nil {
res . Body . Close ( )
}
return nil , & googleapi . Error {
Code : res . StatusCode ,
Header : res . Header ,
}
}
if err != nil {
return nil , err
}
defer googleapi . CloseBody ( res )
if err := googleapi . CheckResponse ( res ) ; err != nil {
return nil , err
}
ret := & RestDescription {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
return nil , err
}
return ret , nil
// {
// "description": "Retrieve the description of a particular version of an api.",
// "httpMethod": "GET",
// "id": "discovery.apis.getRest",
// "parameterOrder": [
// "api",
// "version"
// ],
// "parameters": {
// "api": {
// "description": "The name of the API.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "version": {
// "description": "The version of the API.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "apis/{api}/{version}/rest",
// "response": {
// "$ref": "RestDescription"
// }
// }
}
// method id "discovery.apis.list":
type ApisListCall struct {
s * Service
urlParams_ gensupport . URLParams
ifNoneMatch_ string
ctx_ context . Context
header_ http . Header
}
// List: Retrieve the list of APIs supported at this endpoint.
func ( r * ApisService ) List ( ) * ApisListCall {
c := & ApisListCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
return c
}
// Name sets the optional parameter "name": Only include APIs with the
// given name.
func ( c * ApisListCall ) Name ( name string ) * ApisListCall {
c . urlParams_ . Set ( "name" , name )
return c
}
// Preferred sets the optional parameter "preferred": Return only the
// preferred version of an API.
func ( c * ApisListCall ) Preferred ( preferred bool ) * ApisListCall {
c . urlParams_ . Set ( "preferred" , fmt . Sprint ( preferred ) )
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * ApisListCall ) Fields ( s ... googleapi . Field ) * ApisListCall {
c . urlParams_ . Set ( "fields" , googleapi . CombineFields ( s ) )
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func ( c * ApisListCall ) IfNoneMatch ( entityTag string ) * ApisListCall {
c . ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func ( c * ApisListCall ) Context ( ctx context . Context ) * ApisListCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * ApisListCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * ApisListCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
if c . ifNoneMatch_ != "" {
reqHeaders . Set ( "If-None-Match" , c . ifNoneMatch_ )
}
var body io . Reader = nil
c . urlParams_ . Set ( "alt" , alt )
2019-03-17 20:19:56 +01:00
c . urlParams_ . Set ( "prettyPrint" , "false" )
2018-06-19 15:30:26 +02:00
urls := googleapi . ResolveRelative ( c . s . BasePath , "apis" )
urls += "?" + c . urlParams_ . Encode ( )
2019-03-17 20:19:56 +01:00
req , err := http . NewRequest ( "GET" , urls , body )
if err != nil {
return nil , err
}
2018-06-19 15:30:26 +02:00
req . Header = reqHeaders
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "discovery.apis.list" call.
// Exactly one of *DirectoryList or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *DirectoryList.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func ( c * ApisListCall ) Do ( opts ... googleapi . CallOption ) ( * DirectoryList , error ) {
gensupport . SetOptions ( c . urlParams_ , opts ... )
res , err := c . doRequest ( "json" )
if res != nil && res . StatusCode == http . StatusNotModified {
if res . Body != nil {
res . Body . Close ( )
}
return nil , & googleapi . Error {
Code : res . StatusCode ,
Header : res . Header ,
}
}
if err != nil {
return nil , err
}
defer googleapi . CloseBody ( res )
if err := googleapi . CheckResponse ( res ) ; err != nil {
return nil , err
}
ret := & DirectoryList {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
return nil , err
}
return ret , nil
// {
// "description": "Retrieve the list of APIs supported at this endpoint.",
// "httpMethod": "GET",
// "id": "discovery.apis.list",
// "parameters": {
// "name": {
// "description": "Only include APIs with the given name.",
// "location": "query",
// "type": "string"
// },
// "preferred": {
// "default": "false",
// "description": "Return only the preferred version of an API.",
// "location": "query",
// "type": "boolean"
// }
// },
// "path": "apis",
// "response": {
// "$ref": "DirectoryList"
// }
// }
}