mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
* add jaeger support, link hot container & req span * adds jaeger support now with FN_JAEGER_URL, there's a simple tutorial in the operating/metrics.md file now and it's pretty easy to get up and running. * links a hot request span to a hot container span. when we change this to sample at a lower ratio we'll need to finagle the hot container span to always sample or something, otherwise we'll hide that info. at least, since we're sampling at 100% for now if this is flipped on, can see freeze/unfreeze etc. if they hit. this is useful for debugging. note that zipkin's exporter does not follow the link at all, hence jaeger... and they're backed by the Cloud Empire now (CNCF) so we'll probably use it anyway. * vendor: add thrift for jaeger
1136 lines
34 KiB
Go
1136 lines
34 KiB
Go
// Package prediction provides access to the Prediction API.
|
|
//
|
|
// See https://developers.google.com/prediction/docs/developer-guide
|
|
//
|
|
// Usage example:
|
|
//
|
|
// import "google.golang.org/api/prediction/v1.2"
|
|
// ...
|
|
// predictionService, err := prediction.New(oauthHttpClient)
|
|
package prediction // import "google.golang.org/api/prediction/v1.2"
|
|
|
|
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 = "prediction:v1.2"
|
|
const apiName = "prediction"
|
|
const apiVersion = "v1.2"
|
|
const basePath = "https://www.googleapis.com/prediction/v1.2/"
|
|
|
|
// OAuth2 scopes used by this API.
|
|
const (
|
|
// Manage your data and permissions in Google Cloud Storage
|
|
DevstorageFullControlScope = "https://www.googleapis.com/auth/devstorage.full_control"
|
|
|
|
// View your data in Google Cloud Storage
|
|
DevstorageReadOnlyScope = "https://www.googleapis.com/auth/devstorage.read_only"
|
|
|
|
// Manage your data in Google Cloud Storage
|
|
DevstorageReadWriteScope = "https://www.googleapis.com/auth/devstorage.read_write"
|
|
|
|
// Manage your data in the Google Prediction API
|
|
PredictionScope = "https://www.googleapis.com/auth/prediction"
|
|
)
|
|
|
|
func New(client *http.Client) (*Service, error) {
|
|
if client == nil {
|
|
return nil, errors.New("client is nil")
|
|
}
|
|
s := &Service{client: client, BasePath: basePath}
|
|
s.Hostedmodels = NewHostedmodelsService(s)
|
|
s.Training = NewTrainingService(s)
|
|
return s, nil
|
|
}
|
|
|
|
type Service struct {
|
|
client *http.Client
|
|
BasePath string // API endpoint base URL
|
|
UserAgent string // optional additional User-Agent fragment
|
|
|
|
Hostedmodels *HostedmodelsService
|
|
|
|
Training *TrainingService
|
|
}
|
|
|
|
func (s *Service) userAgent() string {
|
|
if s.UserAgent == "" {
|
|
return googleapi.UserAgent
|
|
}
|
|
return googleapi.UserAgent + " " + s.UserAgent
|
|
}
|
|
|
|
func NewHostedmodelsService(s *Service) *HostedmodelsService {
|
|
rs := &HostedmodelsService{s: s}
|
|
return rs
|
|
}
|
|
|
|
type HostedmodelsService struct {
|
|
s *Service
|
|
}
|
|
|
|
func NewTrainingService(s *Service) *TrainingService {
|
|
rs := &TrainingService{s: s}
|
|
return rs
|
|
}
|
|
|
|
type TrainingService struct {
|
|
s *Service
|
|
}
|
|
|
|
type Input struct {
|
|
Input *InputInput `json:"input,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Input") 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. "Input") 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 *Input) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Input
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
type InputInput struct {
|
|
CsvInstance []interface{} `json:"csvInstance,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "CsvInstance") 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. "CsvInstance") 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 *InputInput) MarshalJSON() ([]byte, error) {
|
|
type NoMethod InputInput
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
type Output struct {
|
|
Id string `json:"id,omitempty"`
|
|
|
|
Kind string `json:"kind,omitempty"`
|
|
|
|
OutputLabel string `json:"outputLabel,omitempty"`
|
|
|
|
OutputMulti []*OutputOutputMulti `json:"outputMulti,omitempty"`
|
|
|
|
OutputValue float64 `json:"outputValue,omitempty"`
|
|
|
|
SelfLink string `json:"selfLink,omitempty"`
|
|
|
|
// ServerResponse contains the HTTP response code and headers from the
|
|
// server.
|
|
googleapi.ServerResponse `json:"-"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Id") 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. "Id") 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 *Output) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Output
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
func (s *Output) UnmarshalJSON(data []byte) error {
|
|
type NoMethod Output
|
|
var s1 struct {
|
|
OutputValue gensupport.JSONFloat64 `json:"outputValue"`
|
|
*NoMethod
|
|
}
|
|
s1.NoMethod = (*NoMethod)(s)
|
|
if err := json.Unmarshal(data, &s1); err != nil {
|
|
return err
|
|
}
|
|
s.OutputValue = float64(s1.OutputValue)
|
|
return nil
|
|
}
|
|
|
|
type OutputOutputMulti struct {
|
|
Label string `json:"label,omitempty"`
|
|
|
|
Score float64 `json:"score,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Label") 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. "Label") 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 *OutputOutputMulti) MarshalJSON() ([]byte, error) {
|
|
type NoMethod OutputOutputMulti
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
func (s *OutputOutputMulti) UnmarshalJSON(data []byte) error {
|
|
type NoMethod OutputOutputMulti
|
|
var s1 struct {
|
|
Score gensupport.JSONFloat64 `json:"score"`
|
|
*NoMethod
|
|
}
|
|
s1.NoMethod = (*NoMethod)(s)
|
|
if err := json.Unmarshal(data, &s1); err != nil {
|
|
return err
|
|
}
|
|
s.Score = float64(s1.Score)
|
|
return nil
|
|
}
|
|
|
|
type Training struct {
|
|
Id string `json:"id,omitempty"`
|
|
|
|
Kind string `json:"kind,omitempty"`
|
|
|
|
ModelInfo *TrainingModelInfo `json:"modelInfo,omitempty"`
|
|
|
|
SelfLink string `json:"selfLink,omitempty"`
|
|
|
|
TrainingStatus string `json:"trainingStatus,omitempty"`
|
|
|
|
// ServerResponse contains the HTTP response code and headers from the
|
|
// server.
|
|
googleapi.ServerResponse `json:"-"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Id") 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. "Id") 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 *Training) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Training
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
type TrainingModelInfo struct {
|
|
ClassificationAccuracy float64 `json:"classificationAccuracy,omitempty"`
|
|
|
|
MeanSquaredError float64 `json:"meanSquaredError,omitempty"`
|
|
|
|
ModelType string `json:"modelType,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g.
|
|
// "ClassificationAccuracy") 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. "ClassificationAccuracy")
|
|
// 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 *TrainingModelInfo) MarshalJSON() ([]byte, error) {
|
|
type NoMethod TrainingModelInfo
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
func (s *TrainingModelInfo) UnmarshalJSON(data []byte) error {
|
|
type NoMethod TrainingModelInfo
|
|
var s1 struct {
|
|
ClassificationAccuracy gensupport.JSONFloat64 `json:"classificationAccuracy"`
|
|
MeanSquaredError gensupport.JSONFloat64 `json:"meanSquaredError"`
|
|
*NoMethod
|
|
}
|
|
s1.NoMethod = (*NoMethod)(s)
|
|
if err := json.Unmarshal(data, &s1); err != nil {
|
|
return err
|
|
}
|
|
s.ClassificationAccuracy = float64(s1.ClassificationAccuracy)
|
|
s.MeanSquaredError = float64(s1.MeanSquaredError)
|
|
return nil
|
|
}
|
|
|
|
type Update struct {
|
|
// ClassLabel: The true class label of this instance
|
|
ClassLabel string `json:"classLabel,omitempty"`
|
|
|
|
// CsvInstance: The input features for this instance
|
|
CsvInstance []interface{} `json:"csvInstance,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "ClassLabel") 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. "ClassLabel") 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 *Update) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Update
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// method id "prediction.predict":
|
|
|
|
type PredictCall struct {
|
|
s *Service
|
|
data string
|
|
input *Input
|
|
urlParams_ gensupport.URLParams
|
|
ctx_ context.Context
|
|
header_ http.Header
|
|
}
|
|
|
|
// Predict: Submit data and request a prediction
|
|
func (s *Service) Predict(data string, input *Input) *PredictCall {
|
|
c := &PredictCall{s: s, urlParams_: make(gensupport.URLParams)}
|
|
c.data = data
|
|
c.input = input
|
|
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 *PredictCall) Fields(s ...googleapi.Field) *PredictCall {
|
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
|
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 *PredictCall) Context(ctx context.Context) *PredictCall {
|
|
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 *PredictCall) Header() http.Header {
|
|
if c.header_ == nil {
|
|
c.header_ = make(http.Header)
|
|
}
|
|
return c.header_
|
|
}
|
|
|
|
func (c *PredictCall) 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())
|
|
var body io.Reader = nil
|
|
body, err := googleapi.WithoutDataWrapper.JSONReader(c.input)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
reqHeaders.Set("Content-Type", "application/json")
|
|
c.urlParams_.Set("alt", alt)
|
|
urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}/predict")
|
|
urls += "?" + c.urlParams_.Encode()
|
|
req, _ := http.NewRequest("POST", urls, body)
|
|
req.Header = reqHeaders
|
|
googleapi.Expand(req.URL, map[string]string{
|
|
"data": c.data,
|
|
})
|
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
|
}
|
|
|
|
// Do executes the "prediction.predict" call.
|
|
// Exactly one of *Output or error will be non-nil. Any non-2xx status
|
|
// code is an error. Response headers are in either
|
|
// *Output.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 *PredictCall) Do(opts ...googleapi.CallOption) (*Output, 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 := &Output{
|
|
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": "Submit data and request a prediction",
|
|
// "httpMethod": "POST",
|
|
// "id": "prediction.predict",
|
|
// "parameterOrder": [
|
|
// "data"
|
|
// ],
|
|
// "parameters": {
|
|
// "data": {
|
|
// "description": "mybucket%2Fmydata resource in Google Storage",
|
|
// "location": "path",
|
|
// "required": true,
|
|
// "type": "string"
|
|
// }
|
|
// },
|
|
// "path": "training/{data}/predict",
|
|
// "request": {
|
|
// "$ref": "Input"
|
|
// },
|
|
// "response": {
|
|
// "$ref": "Output"
|
|
// },
|
|
// "scopes": [
|
|
// "https://www.googleapis.com/auth/prediction"
|
|
// ]
|
|
// }
|
|
|
|
}
|
|
|
|
// method id "prediction.hostedmodels.predict":
|
|
|
|
type HostedmodelsPredictCall struct {
|
|
s *Service
|
|
hostedModelName string
|
|
input *Input
|
|
urlParams_ gensupport.URLParams
|
|
ctx_ context.Context
|
|
header_ http.Header
|
|
}
|
|
|
|
// Predict: Submit input and request an output against a hosted model
|
|
func (r *HostedmodelsService) Predict(hostedModelName string, input *Input) *HostedmodelsPredictCall {
|
|
c := &HostedmodelsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
|
c.hostedModelName = hostedModelName
|
|
c.input = input
|
|
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 *HostedmodelsPredictCall) Fields(s ...googleapi.Field) *HostedmodelsPredictCall {
|
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
|
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 *HostedmodelsPredictCall) Context(ctx context.Context) *HostedmodelsPredictCall {
|
|
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 *HostedmodelsPredictCall) Header() http.Header {
|
|
if c.header_ == nil {
|
|
c.header_ = make(http.Header)
|
|
}
|
|
return c.header_
|
|
}
|
|
|
|
func (c *HostedmodelsPredictCall) 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())
|
|
var body io.Reader = nil
|
|
body, err := googleapi.WithoutDataWrapper.JSONReader(c.input)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
reqHeaders.Set("Content-Type", "application/json")
|
|
c.urlParams_.Set("alt", alt)
|
|
urls := googleapi.ResolveRelative(c.s.BasePath, "hostedmodels/{hostedModelName}/predict")
|
|
urls += "?" + c.urlParams_.Encode()
|
|
req, _ := http.NewRequest("POST", urls, body)
|
|
req.Header = reqHeaders
|
|
googleapi.Expand(req.URL, map[string]string{
|
|
"hostedModelName": c.hostedModelName,
|
|
})
|
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
|
}
|
|
|
|
// Do executes the "prediction.hostedmodels.predict" call.
|
|
// Exactly one of *Output or error will be non-nil. Any non-2xx status
|
|
// code is an error. Response headers are in either
|
|
// *Output.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 *HostedmodelsPredictCall) Do(opts ...googleapi.CallOption) (*Output, 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 := &Output{
|
|
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": "Submit input and request an output against a hosted model",
|
|
// "httpMethod": "POST",
|
|
// "id": "prediction.hostedmodels.predict",
|
|
// "parameterOrder": [
|
|
// "hostedModelName"
|
|
// ],
|
|
// "parameters": {
|
|
// "hostedModelName": {
|
|
// "description": "The name of a hosted model",
|
|
// "location": "path",
|
|
// "required": true,
|
|
// "type": "string"
|
|
// }
|
|
// },
|
|
// "path": "hostedmodels/{hostedModelName}/predict",
|
|
// "request": {
|
|
// "$ref": "Input"
|
|
// },
|
|
// "response": {
|
|
// "$ref": "Output"
|
|
// },
|
|
// "scopes": [
|
|
// "https://www.googleapis.com/auth/prediction"
|
|
// ]
|
|
// }
|
|
|
|
}
|
|
|
|
// method id "prediction.training.delete":
|
|
|
|
type TrainingDeleteCall struct {
|
|
s *Service
|
|
data string
|
|
urlParams_ gensupport.URLParams
|
|
ctx_ context.Context
|
|
header_ http.Header
|
|
}
|
|
|
|
// Delete: Delete a trained model
|
|
func (r *TrainingService) Delete(data string) *TrainingDeleteCall {
|
|
c := &TrainingDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
|
c.data = data
|
|
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 *TrainingDeleteCall) Fields(s ...googleapi.Field) *TrainingDeleteCall {
|
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
|
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 *TrainingDeleteCall) Context(ctx context.Context) *TrainingDeleteCall {
|
|
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 *TrainingDeleteCall) Header() http.Header {
|
|
if c.header_ == nil {
|
|
c.header_ = make(http.Header)
|
|
}
|
|
return c.header_
|
|
}
|
|
|
|
func (c *TrainingDeleteCall) 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())
|
|
var body io.Reader = nil
|
|
c.urlParams_.Set("alt", alt)
|
|
urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
|
|
urls += "?" + c.urlParams_.Encode()
|
|
req, _ := http.NewRequest("DELETE", urls, body)
|
|
req.Header = reqHeaders
|
|
googleapi.Expand(req.URL, map[string]string{
|
|
"data": c.data,
|
|
})
|
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
|
}
|
|
|
|
// Do executes the "prediction.training.delete" call.
|
|
func (c *TrainingDeleteCall) Do(opts ...googleapi.CallOption) error {
|
|
gensupport.SetOptions(c.urlParams_, opts...)
|
|
res, err := c.doRequest("json")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer googleapi.CloseBody(res)
|
|
if err := googleapi.CheckResponse(res); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
// {
|
|
// "description": "Delete a trained model",
|
|
// "httpMethod": "DELETE",
|
|
// "id": "prediction.training.delete",
|
|
// "parameterOrder": [
|
|
// "data"
|
|
// ],
|
|
// "parameters": {
|
|
// "data": {
|
|
// "description": "mybucket/mydata resource in Google Storage",
|
|
// "location": "path",
|
|
// "required": true,
|
|
// "type": "string"
|
|
// }
|
|
// },
|
|
// "path": "training/{data}",
|
|
// "scopes": [
|
|
// "https://www.googleapis.com/auth/prediction"
|
|
// ]
|
|
// }
|
|
|
|
}
|
|
|
|
// method id "prediction.training.get":
|
|
|
|
type TrainingGetCall struct {
|
|
s *Service
|
|
data string
|
|
urlParams_ gensupport.URLParams
|
|
ifNoneMatch_ string
|
|
ctx_ context.Context
|
|
header_ http.Header
|
|
}
|
|
|
|
// Get: Check training status of your model
|
|
func (r *TrainingService) Get(data string) *TrainingGetCall {
|
|
c := &TrainingGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
|
c.data = data
|
|
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 *TrainingGetCall) Fields(s ...googleapi.Field) *TrainingGetCall {
|
|
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 *TrainingGetCall) IfNoneMatch(entityTag string) *TrainingGetCall {
|
|
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 *TrainingGetCall) Context(ctx context.Context) *TrainingGetCall {
|
|
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 *TrainingGetCall) Header() http.Header {
|
|
if c.header_ == nil {
|
|
c.header_ = make(http.Header)
|
|
}
|
|
return c.header_
|
|
}
|
|
|
|
func (c *TrainingGetCall) 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)
|
|
urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
|
|
urls += "?" + c.urlParams_.Encode()
|
|
req, _ := http.NewRequest("GET", urls, body)
|
|
req.Header = reqHeaders
|
|
googleapi.Expand(req.URL, map[string]string{
|
|
"data": c.data,
|
|
})
|
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
|
}
|
|
|
|
// Do executes the "prediction.training.get" call.
|
|
// Exactly one of *Training or error will be non-nil. Any non-2xx status
|
|
// code is an error. Response headers are in either
|
|
// *Training.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 *TrainingGetCall) Do(opts ...googleapi.CallOption) (*Training, 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 := &Training{
|
|
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": "Check training status of your model",
|
|
// "httpMethod": "GET",
|
|
// "id": "prediction.training.get",
|
|
// "parameterOrder": [
|
|
// "data"
|
|
// ],
|
|
// "parameters": {
|
|
// "data": {
|
|
// "description": "mybucket/mydata resource in Google Storage",
|
|
// "location": "path",
|
|
// "required": true,
|
|
// "type": "string"
|
|
// }
|
|
// },
|
|
// "path": "training/{data}",
|
|
// "response": {
|
|
// "$ref": "Training"
|
|
// },
|
|
// "scopes": [
|
|
// "https://www.googleapis.com/auth/prediction"
|
|
// ]
|
|
// }
|
|
|
|
}
|
|
|
|
// method id "prediction.training.insert":
|
|
|
|
type TrainingInsertCall struct {
|
|
s *Service
|
|
training *Training
|
|
urlParams_ gensupport.URLParams
|
|
ctx_ context.Context
|
|
header_ http.Header
|
|
}
|
|
|
|
// Insert: Begin training your model
|
|
func (r *TrainingService) Insert(training *Training) *TrainingInsertCall {
|
|
c := &TrainingInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
|
c.training = training
|
|
return c
|
|
}
|
|
|
|
// Data sets the optional parameter "data": mybucket/mydata resource in
|
|
// Google Storage
|
|
func (c *TrainingInsertCall) Data(data string) *TrainingInsertCall {
|
|
c.urlParams_.Set("data", data)
|
|
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 *TrainingInsertCall) Fields(s ...googleapi.Field) *TrainingInsertCall {
|
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
|
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 *TrainingInsertCall) Context(ctx context.Context) *TrainingInsertCall {
|
|
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 *TrainingInsertCall) Header() http.Header {
|
|
if c.header_ == nil {
|
|
c.header_ = make(http.Header)
|
|
}
|
|
return c.header_
|
|
}
|
|
|
|
func (c *TrainingInsertCall) 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())
|
|
var body io.Reader = nil
|
|
body, err := googleapi.WithoutDataWrapper.JSONReader(c.training)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
reqHeaders.Set("Content-Type", "application/json")
|
|
c.urlParams_.Set("alt", alt)
|
|
urls := googleapi.ResolveRelative(c.s.BasePath, "training")
|
|
urls += "?" + c.urlParams_.Encode()
|
|
req, _ := http.NewRequest("POST", urls, body)
|
|
req.Header = reqHeaders
|
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
|
}
|
|
|
|
// Do executes the "prediction.training.insert" call.
|
|
// Exactly one of *Training or error will be non-nil. Any non-2xx status
|
|
// code is an error. Response headers are in either
|
|
// *Training.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 *TrainingInsertCall) Do(opts ...googleapi.CallOption) (*Training, 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 := &Training{
|
|
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": "Begin training your model",
|
|
// "httpMethod": "POST",
|
|
// "id": "prediction.training.insert",
|
|
// "parameters": {
|
|
// "data": {
|
|
// "description": "mybucket/mydata resource in Google Storage",
|
|
// "location": "query",
|
|
// "type": "string"
|
|
// }
|
|
// },
|
|
// "path": "training",
|
|
// "request": {
|
|
// "$ref": "Training"
|
|
// },
|
|
// "response": {
|
|
// "$ref": "Training"
|
|
// },
|
|
// "scopes": [
|
|
// "https://www.googleapis.com/auth/devstorage.full_control",
|
|
// "https://www.googleapis.com/auth/devstorage.read_only",
|
|
// "https://www.googleapis.com/auth/devstorage.read_write",
|
|
// "https://www.googleapis.com/auth/prediction"
|
|
// ]
|
|
// }
|
|
|
|
}
|
|
|
|
// method id "prediction.training.update":
|
|
|
|
type TrainingUpdateCall struct {
|
|
s *Service
|
|
data string
|
|
update *Update
|
|
urlParams_ gensupport.URLParams
|
|
ctx_ context.Context
|
|
header_ http.Header
|
|
}
|
|
|
|
// Update: Add new data to a trained model
|
|
func (r *TrainingService) Update(data string, update *Update) *TrainingUpdateCall {
|
|
c := &TrainingUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
|
c.data = data
|
|
c.update = update
|
|
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 *TrainingUpdateCall) Fields(s ...googleapi.Field) *TrainingUpdateCall {
|
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
|
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 *TrainingUpdateCall) Context(ctx context.Context) *TrainingUpdateCall {
|
|
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 *TrainingUpdateCall) Header() http.Header {
|
|
if c.header_ == nil {
|
|
c.header_ = make(http.Header)
|
|
}
|
|
return c.header_
|
|
}
|
|
|
|
func (c *TrainingUpdateCall) 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())
|
|
var body io.Reader = nil
|
|
body, err := googleapi.WithoutDataWrapper.JSONReader(c.update)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
reqHeaders.Set("Content-Type", "application/json")
|
|
c.urlParams_.Set("alt", alt)
|
|
urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
|
|
urls += "?" + c.urlParams_.Encode()
|
|
req, _ := http.NewRequest("PUT", urls, body)
|
|
req.Header = reqHeaders
|
|
googleapi.Expand(req.URL, map[string]string{
|
|
"data": c.data,
|
|
})
|
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
|
}
|
|
|
|
// Do executes the "prediction.training.update" call.
|
|
// Exactly one of *Training or error will be non-nil. Any non-2xx status
|
|
// code is an error. Response headers are in either
|
|
// *Training.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 *TrainingUpdateCall) Do(opts ...googleapi.CallOption) (*Training, 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 := &Training{
|
|
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": "Add new data to a trained model",
|
|
// "httpMethod": "PUT",
|
|
// "id": "prediction.training.update",
|
|
// "parameterOrder": [
|
|
// "data"
|
|
// ],
|
|
// "parameters": {
|
|
// "data": {
|
|
// "description": "mybucket/mydata resource in Google Storage",
|
|
// "location": "path",
|
|
// "required": true,
|
|
// "type": "string"
|
|
// }
|
|
// },
|
|
// "path": "training/{data}",
|
|
// "request": {
|
|
// "$ref": "Update"
|
|
// },
|
|
// "response": {
|
|
// "$ref": "Training"
|
|
// },
|
|
// "scopes": [
|
|
// "https://www.googleapis.com/auth/prediction"
|
|
// ]
|
|
// }
|
|
|
|
}
|