// Copyright YEAR 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 additionalpropsobjs provides access to the Example API. // // Creating a client // // Usage example: // // import "google.golang.org/api/additionalpropsobjs/v1" // ... // ctx := context.Background() // additionalpropsobjsService, err := additionalpropsobjs.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: // // additionalpropsobjsService, err := additionalpropsobjs.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, ...) // additionalpropsobjsService, err := additionalpropsobjs.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See https://godoc.org/google.golang.org/api/option/ for details on options. package additionalpropsobjs // import "google.golang.org/api/additionalpropsobjs/v1" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" htransport "google.golang.org/api/transport/http" ) // 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 _ = internaloption.WithDefaultEndpoint const apiId = "additionalpropsobjs:v1" const apiName = "additionalpropsobjs" const apiVersion = "v1" const basePath = "https://www.googleapis.com/discovery/v1/apis" // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 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. 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 or default 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 or default 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 or default 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 or default 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 or default 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 or default 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 or default 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 or default 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 or default 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 or default 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) }