Files
fn-serverless/vendor/google.golang.org/api/prediction/v1.3/prediction-gen.go
Reed Allman 9eaf824398 add jaeger support, link hot container & req span (#840)
* 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
2018-03-13 15:57:12 -07:00

1182 lines
37 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.3"
// ...
// predictionService, err := prediction.New(oauthHttpClient)
package prediction // import "google.golang.org/api/prediction/v1.3"
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.3"
const apiName = "prediction"
const apiVersion = "v1.3"
const basePath = "https://www.googleapis.com/prediction/v1.3/"
// 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: Input to the model for a prediction
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)
}
// InputInput: Input to the model for a prediction
type InputInput struct {
// CsvInstance: A list of input features, these can be strings or
// doubles.
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: The unique name for the predictive model.
Id string `json:"id,omitempty"`
// Kind: What kind of resource this is.
Kind string `json:"kind,omitempty"`
// OutputLabel: The most likely class [Categorical models only].
OutputLabel string `json:"outputLabel,omitempty"`
// OutputMulti: A list of classes with their estimated probabilities
// [Categorical models only].
OutputMulti []*OutputOutputMulti `json:"outputMulti,omitempty"`
// OutputValue: The estimated regression value [Regression models only].
OutputValue float64 `json:"outputValue,omitempty"`
// SelfLink: A URL to re-request this resource.
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: The class label.
Label string `json:"label,omitempty"`
// Score: The probability of the class.
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: The unique name for the predictive model.
Id string `json:"id,omitempty"`
// Kind: What kind of resource this is.
Kind string `json:"kind,omitempty"`
// ModelInfo: Model metadata.
ModelInfo *TrainingModelInfo `json:"modelInfo,omitempty"`
// SelfLink: A URL to re-request this resource.
SelfLink string `json:"selfLink,omitempty"`
// TrainingStatus: The current status of the training job. This can be
// one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
TrainingStatus string `json:"trainingStatus,omitempty"`
// Utility: A class weighting function, which allows the importance
// weights for classes to be specified [Categorical models only].
Utility []map[string]float64 `json:"utility,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)
}
// TrainingModelInfo: Model metadata.
type TrainingModelInfo struct {
// ClassWeightedAccuracy: Estimated accuracy of model taking utility
// weights into account [Categorical models only].
ClassWeightedAccuracy float64 `json:"classWeightedAccuracy,omitempty"`
// ClassificationAccuracy: A number between 0.0 and 1.0, where 1.0 is
// 100% accurate. This is an estimate, based on the amount and quality
// of the training data, of the estimated prediction accuracy. You can
// use this is a guide to decide whether the results are accurate enough
// for your needs. This estimate will be more reliable if your real
// input data is similar to your training data [Categorical models
// only].
ClassificationAccuracy float64 `json:"classificationAccuracy,omitempty"`
// ConfusionMatrix: An output confusion matrix. This shows an estimate
// for how this model will do in predictions. This is first indexed by
// the true class label. For each true class label, this provides a pair
// {predicted_label, count}, where count is the estimated number of
// times the model will predict the predicted label given the true
// label. Will not output if more then 100 classes [Categorical models
// only].
ConfusionMatrix map[string]map[string]float64 `json:"confusionMatrix,omitempty"`
// ConfusionMatrixRowTotals: A list of the confusion matrix row totals
ConfusionMatrixRowTotals map[string]float64 `json:"confusionMatrixRowTotals,omitempty"`
// MeanSquaredError: An estimated mean squared error. The can be used to
// measure the quality of the predicted model [Regression models only].
MeanSquaredError float64 `json:"meanSquaredError,omitempty"`
// ModelType: Type of predictive model (CLASSIFICATION or REGRESSION)
ModelType string `json:"modelType,omitempty"`
// NumberClasses: Number of classes in the trained model [Categorical
// models only].
NumberClasses int64 `json:"numberClasses,omitempty,string"`
// NumberInstances: Number of valid data instances used in the trained
// model.
NumberInstances int64 `json:"numberInstances,omitempty,string"`
// ForceSendFields is a list of field names (e.g.
// "ClassWeightedAccuracy") 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. "ClassWeightedAccuracy") 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 {
ClassWeightedAccuracy gensupport.JSONFloat64 `json:"classWeightedAccuracy"`
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.ClassWeightedAccuracy = float64(s1.ClassWeightedAccuracy)
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.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
}
// 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",
// "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.predict":
type TrainingPredictCall struct {
s *Service
data string
input *Input
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Predict: Submit data and request a prediction
func (r *TrainingService) Predict(data string, input *Input) *TrainingPredictCall {
c := &TrainingPredictCall{s: r.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 *TrainingPredictCall) Fields(s ...googleapi.Field) *TrainingPredictCall {
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 *TrainingPredictCall) Context(ctx context.Context) *TrainingPredictCall {
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 *TrainingPredictCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *TrainingPredictCall) 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.training.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 *TrainingPredictCall) 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.training.predict",
// "parameterOrder": [
// "data"
// ],
// "parameters": {
// "data": {
// "description": "mybucket/mydata 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.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"
// ]
// }
}