rclone/vendor/google.golang.org/api/google-api-go-generator/testdata/variants.want

547 lines
20 KiB
Text

// Package additionalpropsobjs provides access to the Example API.
//
// Usage example:
//
// import "google.golang.org/api/additionalpropsobjs/v1"
// ...
// additionalpropsobjsService, err := additionalpropsobjs.New(oauthHttpClient)
package additionalpropsobjs // import "google.golang.org/api/additionalpropsobjs/v1"
import (
"bytes"
"encoding/json"
"errors"
"fmt"
context "golang.org/x/net/context"
ctxhttp "golang.org/x/net/context/ctxhttp"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
"io"
"net/http"
"net/url"
"strconv"
"strings"
)
// 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
var _ = ctxhttp.Do
const apiId = "additionalpropsobjs:v1"
const apiName = "additionalpropsobjs"
const apiVersion = "v1"
const basePath = "https://www.googleapis.com/discovery/v1/apis"
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
type GeoJsonGeometry map[string]interface{}
func (t GeoJsonGeometry) Type() string {
return googleapi.VariantType(t)
}
func (t GeoJsonGeometry) GeometryCollection() (r GeoJsonGeometryCollection, ok bool) {
if t.Type() != "GeometryCollection" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
func (t GeoJsonGeometry) LineString() (r GeoJsonLineString, ok bool) {
if t.Type() != "LineString" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
func (t GeoJsonGeometry) MultiLineString() (r GeoJsonMultiLineString, ok bool) {
if t.Type() != "MultiLineString" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
func (t GeoJsonGeometry) MultiPoint() (r GeoJsonMultiPoint, ok bool) {
if t.Type() != "MultiPoint" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
func (t GeoJsonGeometry) MultiPolygon() (r GeoJsonMultiPolygon, ok bool) {
if t.Type() != "MultiPolygon" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
func (t GeoJsonGeometry) Point() (r GeoJsonPoint, ok bool) {
if t.Type() != "Point" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
func (t GeoJsonGeometry) Polygon() (r GeoJsonPolygon, ok bool) {
if t.Type() != "Polygon" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
// GeoJsonGeometryCollection: A heterogenous collection of
// GeoJsonGeometry objects.
type GeoJsonGeometryCollection struct {
// Geometries: An array of geometry objects. There must be at least 2
// different types of geometries in the array.
Geometries []GeoJsonGeometry `json:"geometries,omitempty"`
// Type: Identifies this object as a GeoJsonGeometryCollection.
//
// Possible values:
// "GeometryCollection"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Geometries") 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. "Geometries") 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 *GeoJsonGeometryCollection) MarshalJSON() ([]byte, error) {
type noMethod GeoJsonGeometryCollection
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GeoJsonLineString struct {
// Coordinates: An array of two or more positions, representing a line.
Coordinates [][]float64 `json:"coordinates,omitempty"`
// Type: Identifies this object as a GeoJsonLineString.
//
// Possible values:
// "LineString"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Coordinates") 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. "Coordinates") 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 *GeoJsonLineString) MarshalJSON() ([]byte, error) {
type noMethod GeoJsonLineString
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GeoJsonMultiLineString: Multi Line String
type GeoJsonMultiLineString struct {
// Coordinates: An array of at least two GeoJsonLineString coordinate
// arrays.
Coordinates [][][]float64 `json:"coordinates,omitempty"`
// Type: Identifies this object as a GeoJsonMultiLineString.
//
// Possible values:
// "MultiLineString"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Coordinates") 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. "Coordinates") 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 *GeoJsonMultiLineString) MarshalJSON() ([]byte, error) {
type noMethod GeoJsonMultiLineString
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GeoJsonMultiPoint struct {
// Coordinates: An array of at least two GeoJsonPoint coordinate arrays.
Coordinates [][]float64 `json:"coordinates,omitempty"`
// Type: Identifies this object as a GeoJsonMultiPoint.
//
// Possible values:
// "MultiPoint"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Coordinates") 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. "Coordinates") 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 *GeoJsonMultiPoint) MarshalJSON() ([]byte, error) {
type noMethod GeoJsonMultiPoint
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GeoJsonMultiPolygon struct {
// Coordinates: An array of at least two GeoJsonPolygon coordinate
// arrays.
Coordinates [][][][]float64 `json:"coordinates,omitempty"`
// Type: Identifies this object as a GeoJsonMultiPolygon.
//
// Possible values:
// "MultiPolygon"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Coordinates") 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. "Coordinates") 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 *GeoJsonMultiPolygon) MarshalJSON() ([]byte, error) {
type noMethod GeoJsonMultiPolygon
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GeoJsonPoint struct {
// Coordinates: A single GeoJsonPosition, specifying the location of the
// point.
Coordinates []float64 `json:"coordinates,omitempty"`
// Type: Identifies this object as a GeoJsonPoint.
//
// Possible values:
// "Point"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Coordinates") 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. "Coordinates") 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 *GeoJsonPoint) MarshalJSON() ([]byte, error) {
type noMethod GeoJsonPoint
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GeoJsonPolygon struct {
// Coordinates: An array of LinearRings, each of which is an array of
// four or more GeoJsonPositions. The first and last coordinates in each
// LinearRing must be the same. For polygons with multiple rings, the
// first LinearRing is the external ring, with subsequent rings being
// interior rings (i.e. hole). All LinearRings must contain
// GeoJsonPositions in counter-clockwise order.
Coordinates [][][]float64 `json:"coordinates,omitempty"`
// Type: Identifies this object as a GeoJsonPolygon.
//
// Possible values:
// "Polygon"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Coordinates") 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. "Coordinates") 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 *GeoJsonPolygon) MarshalJSON() ([]byte, error) {
type noMethod GeoJsonPolygon
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type MapFolder struct {
Contents []MapItem `json:"contents,omitempty"`
// DefaultViewport: An array of four numbers (west, south, east, north)
// which defines the rectangular bounding box of the default viewport.
// The numbers represent latitude and longitude in decimal degrees.
DefaultViewport []float64 `json:"defaultViewport,omitempty"`
// Expandable: The expandability setting of this MapFolder. If true, the
// folder can be expanded.
Expandable bool `json:"expandable,omitempty"`
// Key: A user defined alias for this MapFolder, specific to this Map.
Key string `json:"key,omitempty"`
// Name: The name of this MapFolder.
Name string `json:"name,omitempty"`
// Type: Identifies this object as a MapFolder.
//
// Possible values:
// "folder"
Type string `json:"type,omitempty"`
// Visibility: The visibility setting of this MapFolder. One of
// "defaultOn" or "defaultOff".
Visibility string `json:"visibility,omitempty"`
// ForceSendFields is a list of field names (e.g. "Contents") 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. "Contents") 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 *MapFolder) MarshalJSON() ([]byte, error) {
type noMethod MapFolder
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type MapItem map[string]interface{}
func (t MapItem) Type() string {
return googleapi.VariantType(t)
}
func (t MapItem) Folder() (r MapFolder, ok bool) {
if t.Type() != "Folder" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
func (t MapItem) KmlLink() (r MapKmlLink, ok bool) {
if t.Type() != "KmlLink" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
func (t MapItem) Layer() (r MapLayer, ok bool) {
if t.Type() != "Layer" {
return r, false
}
ok = googleapi.ConvertVariant(map[string]interface{}(t), &r)
return r, ok
}
type MapKmlLink struct {
// DefaultViewport: An array of four numbers (west, south, east, north)
// which defines the rectangular bounding box of the default viewport.
// The numbers represent latitude and longitude in decimal degrees.
DefaultViewport []float64 `json:"defaultViewport,omitempty"`
// KmlUrl: The URL to the KML file represented by this MapKmlLink.
KmlUrl string `json:"kmlUrl,omitempty"`
// Name: The name of this MapKmlLink.
Name string `json:"name,omitempty"`
// Type: Identifies this object as a MapKmlLink.
//
// Possible values:
// "kmlLink"
Type string `json:"type,omitempty"`
// Visibility: The visibility setting of this MapKmlLink. One of
// "defaultOn" or "defaultOff".
Visibility string `json:"visibility,omitempty"`
// ForceSendFields is a list of field names (e.g. "DefaultViewport") 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. "DefaultViewport") 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 *MapKmlLink) MarshalJSON() ([]byte, error) {
type noMethod MapKmlLink
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type MapLayer struct {
// DefaultViewport: An array of four numbers (west, south, east, north)
// which defines the rectangular bounding box of the default viewport.
// The numbers represent latitude and longitude in decimal degrees.
DefaultViewport []float64 `json:"defaultViewport,omitempty"`
// Id: The ID of this MapLayer. This ID can be used to request more
// details about the layer.
Id string `json:"id,omitempty"`
// Key: A user defined alias for this MapLayer, specific to this Map.
Key string `json:"key,omitempty"`
// Name: The name of this MapLayer.
Name string `json:"name,omitempty"`
// Type: Identifies this object as a MapLayer.
//
// Possible values:
// "layer"
Type string `json:"type,omitempty"`
// Visibility: The visibility setting of this MapLayer. One of
// "defaultOn" or "defaultOff".
Visibility string `json:"visibility,omitempty"`
// ForceSendFields is a list of field names (e.g. "DefaultViewport") 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. "DefaultViewport") 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 *MapLayer) MarshalJSON() ([]byte, error) {
type noMethod MapLayer
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}