1// Copyright 2021 Google LLC. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// Code generated file. DO NOT EDIT. 6 7// Package vision provides access to the Cloud Vision API. 8// 9// This package is DEPRECATED. Use package cloud.google.com/go/vision/apiv1 instead. 10// 11// For product documentation, see: https://cloud.google.com/vision/ 12// 13// Creating a client 14// 15// Usage example: 16// 17// import "google.golang.org/api/vision/v1" 18// ... 19// ctx := context.Background() 20// visionService, err := vision.NewService(ctx) 21// 22// In this example, Google Application Default Credentials are used for authentication. 23// 24// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 25// 26// Other authentication options 27// 28// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: 29// 30// visionService, err := vision.NewService(ctx, option.WithScopes(vision.CloudVisionScope)) 31// 32// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: 33// 34// visionService, err := vision.NewService(ctx, option.WithAPIKey("AIza...")) 35// 36// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: 37// 38// config := &oauth2.Config{...} 39// // ... 40// token, err := config.Exchange(ctx, ...) 41// visionService, err := vision.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 42// 43// See https://godoc.org/google.golang.org/api/option/ for details on options. 44package vision // import "google.golang.org/api/vision/v1" 45 46import ( 47 "bytes" 48 "context" 49 "encoding/json" 50 "errors" 51 "fmt" 52 "io" 53 "net/http" 54 "net/url" 55 "strconv" 56 "strings" 57 58 googleapi "google.golang.org/api/googleapi" 59 gensupport "google.golang.org/api/internal/gensupport" 60 option "google.golang.org/api/option" 61 internaloption "google.golang.org/api/option/internaloption" 62 htransport "google.golang.org/api/transport/http" 63) 64 65// Always reference these packages, just in case the auto-generated code 66// below doesn't. 67var _ = bytes.NewBuffer 68var _ = strconv.Itoa 69var _ = fmt.Sprintf 70var _ = json.NewDecoder 71var _ = io.Copy 72var _ = url.Parse 73var _ = gensupport.MarshalJSON 74var _ = googleapi.Version 75var _ = errors.New 76var _ = strings.Replace 77var _ = context.Canceled 78var _ = internaloption.WithDefaultEndpoint 79 80const apiId = "vision:v1" 81const apiName = "vision" 82const apiVersion = "v1" 83const basePath = "https://vision.googleapis.com/" 84const mtlsBasePath = "https://vision.mtls.googleapis.com/" 85 86// OAuth2 scopes used by this API. 87const ( 88 // See, edit, configure, and delete your Google Cloud data and see the 89 // email address for your Google Account. 90 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 91 92 // Apply machine learning models to understand and label images 93 CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision" 94) 95 96// NewService creates a new Service. 97func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 98 scopesOption := option.WithScopes( 99 "https://www.googleapis.com/auth/cloud-platform", 100 "https://www.googleapis.com/auth/cloud-vision", 101 ) 102 // NOTE: prepend, so we don't override user-specified scopes. 103 opts = append([]option.ClientOption{scopesOption}, opts...) 104 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 105 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 106 client, endpoint, err := htransport.NewClient(ctx, opts...) 107 if err != nil { 108 return nil, err 109 } 110 s, err := New(client) 111 if err != nil { 112 return nil, err 113 } 114 if endpoint != "" { 115 s.BasePath = endpoint 116 } 117 return s, nil 118} 119 120// New creates a new Service. It uses the provided http.Client for requests. 121// 122// Deprecated: please use NewService instead. 123// To provide a custom HTTP client, use option.WithHTTPClient. 124// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 125func New(client *http.Client) (*Service, error) { 126 if client == nil { 127 return nil, errors.New("client is nil") 128 } 129 s := &Service{client: client, BasePath: basePath} 130 s.Files = NewFilesService(s) 131 s.Images = NewImagesService(s) 132 s.Locations = NewLocationsService(s) 133 s.Operations = NewOperationsService(s) 134 s.Projects = NewProjectsService(s) 135 return s, nil 136} 137 138type Service struct { 139 client *http.Client 140 BasePath string // API endpoint base URL 141 UserAgent string // optional additional User-Agent fragment 142 143 Files *FilesService 144 145 Images *ImagesService 146 147 Locations *LocationsService 148 149 Operations *OperationsService 150 151 Projects *ProjectsService 152} 153 154func (s *Service) userAgent() string { 155 if s.UserAgent == "" { 156 return googleapi.UserAgent 157 } 158 return googleapi.UserAgent + " " + s.UserAgent 159} 160 161func NewFilesService(s *Service) *FilesService { 162 rs := &FilesService{s: s} 163 return rs 164} 165 166type FilesService struct { 167 s *Service 168} 169 170func NewImagesService(s *Service) *ImagesService { 171 rs := &ImagesService{s: s} 172 return rs 173} 174 175type ImagesService struct { 176 s *Service 177} 178 179func NewLocationsService(s *Service) *LocationsService { 180 rs := &LocationsService{s: s} 181 rs.Operations = NewLocationsOperationsService(s) 182 return rs 183} 184 185type LocationsService struct { 186 s *Service 187 188 Operations *LocationsOperationsService 189} 190 191func NewLocationsOperationsService(s *Service) *LocationsOperationsService { 192 rs := &LocationsOperationsService{s: s} 193 return rs 194} 195 196type LocationsOperationsService struct { 197 s *Service 198} 199 200func NewOperationsService(s *Service) *OperationsService { 201 rs := &OperationsService{s: s} 202 return rs 203} 204 205type OperationsService struct { 206 s *Service 207} 208 209func NewProjectsService(s *Service) *ProjectsService { 210 rs := &ProjectsService{s: s} 211 rs.Files = NewProjectsFilesService(s) 212 rs.Images = NewProjectsImagesService(s) 213 rs.Locations = NewProjectsLocationsService(s) 214 rs.Operations = NewProjectsOperationsService(s) 215 return rs 216} 217 218type ProjectsService struct { 219 s *Service 220 221 Files *ProjectsFilesService 222 223 Images *ProjectsImagesService 224 225 Locations *ProjectsLocationsService 226 227 Operations *ProjectsOperationsService 228} 229 230func NewProjectsFilesService(s *Service) *ProjectsFilesService { 231 rs := &ProjectsFilesService{s: s} 232 return rs 233} 234 235type ProjectsFilesService struct { 236 s *Service 237} 238 239func NewProjectsImagesService(s *Service) *ProjectsImagesService { 240 rs := &ProjectsImagesService{s: s} 241 return rs 242} 243 244type ProjectsImagesService struct { 245 s *Service 246} 247 248func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { 249 rs := &ProjectsLocationsService{s: s} 250 rs.Files = NewProjectsLocationsFilesService(s) 251 rs.Images = NewProjectsLocationsImagesService(s) 252 rs.Operations = NewProjectsLocationsOperationsService(s) 253 rs.ProductSets = NewProjectsLocationsProductSetsService(s) 254 rs.Products = NewProjectsLocationsProductsService(s) 255 return rs 256} 257 258type ProjectsLocationsService struct { 259 s *Service 260 261 Files *ProjectsLocationsFilesService 262 263 Images *ProjectsLocationsImagesService 264 265 Operations *ProjectsLocationsOperationsService 266 267 ProductSets *ProjectsLocationsProductSetsService 268 269 Products *ProjectsLocationsProductsService 270} 271 272func NewProjectsLocationsFilesService(s *Service) *ProjectsLocationsFilesService { 273 rs := &ProjectsLocationsFilesService{s: s} 274 return rs 275} 276 277type ProjectsLocationsFilesService struct { 278 s *Service 279} 280 281func NewProjectsLocationsImagesService(s *Service) *ProjectsLocationsImagesService { 282 rs := &ProjectsLocationsImagesService{s: s} 283 return rs 284} 285 286type ProjectsLocationsImagesService struct { 287 s *Service 288} 289 290func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService { 291 rs := &ProjectsLocationsOperationsService{s: s} 292 return rs 293} 294 295type ProjectsLocationsOperationsService struct { 296 s *Service 297} 298 299func NewProjectsLocationsProductSetsService(s *Service) *ProjectsLocationsProductSetsService { 300 rs := &ProjectsLocationsProductSetsService{s: s} 301 rs.Products = NewProjectsLocationsProductSetsProductsService(s) 302 return rs 303} 304 305type ProjectsLocationsProductSetsService struct { 306 s *Service 307 308 Products *ProjectsLocationsProductSetsProductsService 309} 310 311func NewProjectsLocationsProductSetsProductsService(s *Service) *ProjectsLocationsProductSetsProductsService { 312 rs := &ProjectsLocationsProductSetsProductsService{s: s} 313 return rs 314} 315 316type ProjectsLocationsProductSetsProductsService struct { 317 s *Service 318} 319 320func NewProjectsLocationsProductsService(s *Service) *ProjectsLocationsProductsService { 321 rs := &ProjectsLocationsProductsService{s: s} 322 rs.ReferenceImages = NewProjectsLocationsProductsReferenceImagesService(s) 323 return rs 324} 325 326type ProjectsLocationsProductsService struct { 327 s *Service 328 329 ReferenceImages *ProjectsLocationsProductsReferenceImagesService 330} 331 332func NewProjectsLocationsProductsReferenceImagesService(s *Service) *ProjectsLocationsProductsReferenceImagesService { 333 rs := &ProjectsLocationsProductsReferenceImagesService{s: s} 334 return rs 335} 336 337type ProjectsLocationsProductsReferenceImagesService struct { 338 s *Service 339} 340 341func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { 342 rs := &ProjectsOperationsService{s: s} 343 return rs 344} 345 346type ProjectsOperationsService struct { 347 s *Service 348} 349 350// AddProductToProductSetRequest: Request message for the 351// `AddProductToProductSet` method. 352type AddProductToProductSetRequest struct { 353 // Product: Required. The resource name for the Product to be added to 354 // this ProductSet. Format is: 355 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` 356 Product string `json:"product,omitempty"` 357 358 // ForceSendFields is a list of field names (e.g. "Product") to 359 // unconditionally include in API requests. By default, fields with 360 // empty or default values are omitted from API requests. However, any 361 // non-pointer, non-interface field appearing in ForceSendFields will be 362 // sent to the server regardless of whether the field is empty or not. 363 // This may be used to include empty fields in Patch requests. 364 ForceSendFields []string `json:"-"` 365 366 // NullFields is a list of field names (e.g. "Product") to include in 367 // API requests with the JSON null value. By default, fields with empty 368 // values are omitted from API requests. However, any field with an 369 // empty value appearing in NullFields will be sent to the server as 370 // null. It is an error if a field in this list has a non-empty value. 371 // This may be used to include null fields in Patch requests. 372 NullFields []string `json:"-"` 373} 374 375func (s *AddProductToProductSetRequest) MarshalJSON() ([]byte, error) { 376 type NoMethod AddProductToProductSetRequest 377 raw := NoMethod(*s) 378 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 379} 380 381// AnnotateFileRequest: A request to annotate one single file, e.g. a 382// PDF, TIFF or GIF file. 383type AnnotateFileRequest struct { 384 // Features: Required. Requested features. 385 Features []*Feature `json:"features,omitempty"` 386 387 // ImageContext: Additional context that may accompany the image(s) in 388 // the file. 389 ImageContext *ImageContext `json:"imageContext,omitempty"` 390 391 // InputConfig: Required. Information about the input file. 392 InputConfig *InputConfig `json:"inputConfig,omitempty"` 393 394 // Pages: Pages of the file to perform image annotation. Pages starts 395 // from 1, we assume the first page of the file is page 1. At most 5 396 // pages are supported per request. Pages can be negative. Page 1 means 397 // the first page. Page 2 means the second page. Page -1 means the last 398 // page. Page -2 means the second to the last page. If the file is GIF 399 // instead of PDF or TIFF, page refers to GIF frames. If this field is 400 // empty, by default the service performs image annotation for the first 401 // 5 pages of the file. 402 Pages []int64 `json:"pages,omitempty"` 403 404 // ForceSendFields is a list of field names (e.g. "Features") to 405 // unconditionally include in API requests. By default, fields with 406 // empty or default values are omitted from API requests. However, any 407 // non-pointer, non-interface field appearing in ForceSendFields will be 408 // sent to the server regardless of whether the field is empty or not. 409 // This may be used to include empty fields in Patch requests. 410 ForceSendFields []string `json:"-"` 411 412 // NullFields is a list of field names (e.g. "Features") to include in 413 // API requests with the JSON null value. By default, fields with empty 414 // values are omitted from API requests. However, any field with an 415 // empty value appearing in NullFields will be sent to the server as 416 // null. It is an error if a field in this list has a non-empty value. 417 // This may be used to include null fields in Patch requests. 418 NullFields []string `json:"-"` 419} 420 421func (s *AnnotateFileRequest) MarshalJSON() ([]byte, error) { 422 type NoMethod AnnotateFileRequest 423 raw := NoMethod(*s) 424 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 425} 426 427// AnnotateFileResponse: Response to a single file annotation request. A 428// file may contain one or more images, which individually have their 429// own responses. 430type AnnotateFileResponse struct { 431 // Error: If set, represents the error message for the failed request. 432 // The `responses` field will not be set in this case. 433 Error *Status `json:"error,omitempty"` 434 435 // InputConfig: Information about the file for which this response is 436 // generated. 437 InputConfig *InputConfig `json:"inputConfig,omitempty"` 438 439 // Responses: Individual responses to images found within the file. This 440 // field will be empty if the `error` field is set. 441 Responses []*AnnotateImageResponse `json:"responses,omitempty"` 442 443 // TotalPages: This field gives the total number of pages in the file. 444 TotalPages int64 `json:"totalPages,omitempty"` 445 446 // ForceSendFields is a list of field names (e.g. "Error") to 447 // unconditionally include in API requests. By default, fields with 448 // empty or default values are omitted from API requests. However, any 449 // non-pointer, non-interface field appearing in ForceSendFields will be 450 // sent to the server regardless of whether the field is empty or not. 451 // This may be used to include empty fields in Patch requests. 452 ForceSendFields []string `json:"-"` 453 454 // NullFields is a list of field names (e.g. "Error") to include in API 455 // requests with the JSON null value. By default, fields with empty 456 // values are omitted from API requests. However, any field with an 457 // empty value appearing in NullFields will be sent to the server as 458 // null. It is an error if a field in this list has a non-empty value. 459 // This may be used to include null fields in Patch requests. 460 NullFields []string `json:"-"` 461} 462 463func (s *AnnotateFileResponse) MarshalJSON() ([]byte, error) { 464 type NoMethod AnnotateFileResponse 465 raw := NoMethod(*s) 466 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 467} 468 469// AnnotateImageRequest: Request for performing Google Cloud Vision API 470// tasks over a user-provided image, with user-requested features, and 471// with context information. 472type AnnotateImageRequest struct { 473 // Features: Requested features. 474 Features []*Feature `json:"features,omitempty"` 475 476 // Image: The image to be processed. 477 Image *Image `json:"image,omitempty"` 478 479 // ImageContext: Additional context that may accompany the image. 480 ImageContext *ImageContext `json:"imageContext,omitempty"` 481 482 // ForceSendFields is a list of field names (e.g. "Features") to 483 // unconditionally include in API requests. By default, fields with 484 // empty or default values are omitted from API requests. However, any 485 // non-pointer, non-interface field appearing in ForceSendFields will be 486 // sent to the server regardless of whether the field is empty or not. 487 // This may be used to include empty fields in Patch requests. 488 ForceSendFields []string `json:"-"` 489 490 // NullFields is a list of field names (e.g. "Features") to include in 491 // API requests with the JSON null value. By default, fields with empty 492 // values are omitted from API requests. However, any field with an 493 // empty value appearing in NullFields will be sent to the server as 494 // null. It is an error if a field in this list has a non-empty value. 495 // This may be used to include null fields in Patch requests. 496 NullFields []string `json:"-"` 497} 498 499func (s *AnnotateImageRequest) MarshalJSON() ([]byte, error) { 500 type NoMethod AnnotateImageRequest 501 raw := NoMethod(*s) 502 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 503} 504 505// AnnotateImageResponse: Response to an image annotation request. 506type AnnotateImageResponse struct { 507 // Context: If present, contextual information is needed to understand 508 // where this image comes from. 509 Context *ImageAnnotationContext `json:"context,omitempty"` 510 511 // CropHintsAnnotation: If present, crop hints have completed 512 // successfully. 513 CropHintsAnnotation *CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 514 515 // Error: If set, represents the error message for the operation. Note 516 // that filled-in image annotations are guaranteed to be correct, even 517 // when `error` is set. 518 Error *Status `json:"error,omitempty"` 519 520 // FaceAnnotations: If present, face detection has completed 521 // successfully. 522 FaceAnnotations []*FaceAnnotation `json:"faceAnnotations,omitempty"` 523 524 // FullTextAnnotation: If present, text (OCR) detection or document 525 // (OCR) text detection has completed successfully. This annotation 526 // provides the structural hierarchy for the OCR detected text. 527 FullTextAnnotation *TextAnnotation `json:"fullTextAnnotation,omitempty"` 528 529 // ImagePropertiesAnnotation: If present, image properties were 530 // extracted successfully. 531 ImagePropertiesAnnotation *ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 532 533 // LabelAnnotations: If present, label detection has completed 534 // successfully. 535 LabelAnnotations []*EntityAnnotation `json:"labelAnnotations,omitempty"` 536 537 // LandmarkAnnotations: If present, landmark detection has completed 538 // successfully. 539 LandmarkAnnotations []*EntityAnnotation `json:"landmarkAnnotations,omitempty"` 540 541 // LocalizedObjectAnnotations: If present, localized object detection 542 // has completed successfully. This will be sorted descending by 543 // confidence score. 544 LocalizedObjectAnnotations []*LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 545 546 // LogoAnnotations: If present, logo detection has completed 547 // successfully. 548 LogoAnnotations []*EntityAnnotation `json:"logoAnnotations,omitempty"` 549 550 // ProductSearchResults: If present, product search has completed 551 // successfully. 552 ProductSearchResults *ProductSearchResults `json:"productSearchResults,omitempty"` 553 554 // SafeSearchAnnotation: If present, safe-search annotation has 555 // completed successfully. 556 SafeSearchAnnotation *SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 557 558 // TextAnnotations: If present, text (OCR) detection has completed 559 // successfully. 560 TextAnnotations []*EntityAnnotation `json:"textAnnotations,omitempty"` 561 562 // WebDetection: If present, web detection has completed successfully. 563 WebDetection *WebDetection `json:"webDetection,omitempty"` 564 565 // ForceSendFields is a list of field names (e.g. "Context") to 566 // unconditionally include in API requests. By default, fields with 567 // empty or default values are omitted from API requests. However, any 568 // non-pointer, non-interface field appearing in ForceSendFields will be 569 // sent to the server regardless of whether the field is empty or not. 570 // This may be used to include empty fields in Patch requests. 571 ForceSendFields []string `json:"-"` 572 573 // NullFields is a list of field names (e.g. "Context") to include in 574 // API requests with the JSON null value. By default, fields with empty 575 // values are omitted from API requests. However, any field with an 576 // empty value appearing in NullFields will be sent to the server as 577 // null. It is an error if a field in this list has a non-empty value. 578 // This may be used to include null fields in Patch requests. 579 NullFields []string `json:"-"` 580} 581 582func (s *AnnotateImageResponse) MarshalJSON() ([]byte, error) { 583 type NoMethod AnnotateImageResponse 584 raw := NoMethod(*s) 585 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 586} 587 588// AsyncAnnotateFileRequest: An offline file annotation request. 589type AsyncAnnotateFileRequest struct { 590 // Features: Required. Requested features. 591 Features []*Feature `json:"features,omitempty"` 592 593 // ImageContext: Additional context that may accompany the image(s) in 594 // the file. 595 ImageContext *ImageContext `json:"imageContext,omitempty"` 596 597 // InputConfig: Required. Information about the input file. 598 InputConfig *InputConfig `json:"inputConfig,omitempty"` 599 600 // OutputConfig: Required. The desired output location and metadata 601 // (e.g. format). 602 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 603 604 // ForceSendFields is a list of field names (e.g. "Features") to 605 // unconditionally include in API requests. By default, fields with 606 // empty or default values are omitted from API requests. However, any 607 // non-pointer, non-interface field appearing in ForceSendFields will be 608 // sent to the server regardless of whether the field is empty or not. 609 // This may be used to include empty fields in Patch requests. 610 ForceSendFields []string `json:"-"` 611 612 // NullFields is a list of field names (e.g. "Features") to include in 613 // API requests with the JSON null value. By default, fields with empty 614 // values are omitted from API requests. However, any field with an 615 // empty value appearing in NullFields will be sent to the server as 616 // null. It is an error if a field in this list has a non-empty value. 617 // This may be used to include null fields in Patch requests. 618 NullFields []string `json:"-"` 619} 620 621func (s *AsyncAnnotateFileRequest) MarshalJSON() ([]byte, error) { 622 type NoMethod AsyncAnnotateFileRequest 623 raw := NoMethod(*s) 624 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 625} 626 627// AsyncAnnotateFileResponse: The response for a single offline file 628// annotation request. 629type AsyncAnnotateFileResponse struct { 630 // OutputConfig: The output location and metadata from 631 // AsyncAnnotateFileRequest. 632 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 633 634 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 635 // unconditionally include in API requests. By default, fields with 636 // empty or default values are omitted from API requests. However, any 637 // non-pointer, non-interface field appearing in ForceSendFields will be 638 // sent to the server regardless of whether the field is empty or not. 639 // This may be used to include empty fields in Patch requests. 640 ForceSendFields []string `json:"-"` 641 642 // NullFields is a list of field names (e.g. "OutputConfig") to include 643 // in API requests with the JSON null value. By default, fields with 644 // empty values are omitted from API requests. However, any field with 645 // an empty value appearing in NullFields will be sent to the server as 646 // null. It is an error if a field in this list has a non-empty value. 647 // This may be used to include null fields in Patch requests. 648 NullFields []string `json:"-"` 649} 650 651func (s *AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 652 type NoMethod AsyncAnnotateFileResponse 653 raw := NoMethod(*s) 654 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 655} 656 657// AsyncBatchAnnotateFilesRequest: Multiple async file annotation 658// requests are batched into a single service call. 659type AsyncBatchAnnotateFilesRequest struct { 660 // Parent: Optional. Target project and location to make a call. Format: 661 // `projects/{project-id}/locations/{location-id}`. If no parent is 662 // specified, a region will be chosen automatically. Supported 663 // location-ids: `us`: USA country only, `asia`: East asia areas, like 664 // Japan, Taiwan, `eu`: The European Union. Example: 665 // `projects/project-A/locations/eu`. 666 Parent string `json:"parent,omitempty"` 667 668 // Requests: Required. Individual async file annotation requests for 669 // this batch. 670 Requests []*AsyncAnnotateFileRequest `json:"requests,omitempty"` 671 672 // ForceSendFields is a list of field names (e.g. "Parent") to 673 // unconditionally include in API requests. By default, fields with 674 // empty or default values are omitted from API requests. However, any 675 // non-pointer, non-interface field appearing in ForceSendFields will be 676 // sent to the server regardless of whether the field is empty or not. 677 // This may be used to include empty fields in Patch requests. 678 ForceSendFields []string `json:"-"` 679 680 // NullFields is a list of field names (e.g. "Parent") to include in API 681 // requests with the JSON null value. By default, fields with empty 682 // values are omitted from API requests. However, any field with an 683 // empty value appearing in NullFields will be sent to the server as 684 // null. It is an error if a field in this list has a non-empty value. 685 // This may be used to include null fields in Patch requests. 686 NullFields []string `json:"-"` 687} 688 689func (s *AsyncBatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 690 type NoMethod AsyncBatchAnnotateFilesRequest 691 raw := NoMethod(*s) 692 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 693} 694 695// AsyncBatchAnnotateFilesResponse: Response to an async batch file 696// annotation request. 697type AsyncBatchAnnotateFilesResponse struct { 698 // Responses: The list of file annotation responses, one for each 699 // request in AsyncBatchAnnotateFilesRequest. 700 Responses []*AsyncAnnotateFileResponse `json:"responses,omitempty"` 701 702 // ForceSendFields is a list of field names (e.g. "Responses") to 703 // unconditionally include in API requests. By default, fields with 704 // empty or default values are omitted from API requests. However, any 705 // non-pointer, non-interface field appearing in ForceSendFields will be 706 // sent to the server regardless of whether the field is empty or not. 707 // This may be used to include empty fields in Patch requests. 708 ForceSendFields []string `json:"-"` 709 710 // NullFields is a list of field names (e.g. "Responses") to include in 711 // API requests with the JSON null value. By default, fields with empty 712 // values are omitted from API requests. However, any field with an 713 // empty value appearing in NullFields will be sent to the server as 714 // null. It is an error if a field in this list has a non-empty value. 715 // This may be used to include null fields in Patch requests. 716 NullFields []string `json:"-"` 717} 718 719func (s *AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 720 type NoMethod AsyncBatchAnnotateFilesResponse 721 raw := NoMethod(*s) 722 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 723} 724 725// AsyncBatchAnnotateImagesRequest: Request for async image annotation 726// for a list of images. 727type AsyncBatchAnnotateImagesRequest struct { 728 // OutputConfig: Required. The desired output location and metadata 729 // (e.g. format). 730 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 731 732 // Parent: Optional. Target project and location to make a call. Format: 733 // `projects/{project-id}/locations/{location-id}`. If no parent is 734 // specified, a region will be chosen automatically. Supported 735 // location-ids: `us`: USA country only, `asia`: East asia areas, like 736 // Japan, Taiwan, `eu`: The European Union. Example: 737 // `projects/project-A/locations/eu`. 738 Parent string `json:"parent,omitempty"` 739 740 // Requests: Required. Individual image annotation requests for this 741 // batch. 742 Requests []*AnnotateImageRequest `json:"requests,omitempty"` 743 744 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 745 // unconditionally include in API requests. By default, fields with 746 // empty or default values are omitted from API requests. However, any 747 // non-pointer, non-interface field appearing in ForceSendFields will be 748 // sent to the server regardless of whether the field is empty or not. 749 // This may be used to include empty fields in Patch requests. 750 ForceSendFields []string `json:"-"` 751 752 // NullFields is a list of field names (e.g. "OutputConfig") to include 753 // in API requests with the JSON null value. By default, fields with 754 // empty values are omitted from API requests. However, any field with 755 // an empty value appearing in NullFields will be sent to the server as 756 // null. It is an error if a field in this list has a non-empty value. 757 // This may be used to include null fields in Patch requests. 758 NullFields []string `json:"-"` 759} 760 761func (s *AsyncBatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 762 type NoMethod AsyncBatchAnnotateImagesRequest 763 raw := NoMethod(*s) 764 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 765} 766 767// AsyncBatchAnnotateImagesResponse: Response to an async batch image 768// annotation request. 769type AsyncBatchAnnotateImagesResponse struct { 770 // OutputConfig: The output location and metadata from 771 // AsyncBatchAnnotateImagesRequest. 772 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 773 774 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 775 // unconditionally include in API requests. By default, fields with 776 // empty or default values are omitted from API requests. However, any 777 // non-pointer, non-interface field appearing in ForceSendFields will be 778 // sent to the server regardless of whether the field is empty or not. 779 // This may be used to include empty fields in Patch requests. 780 ForceSendFields []string `json:"-"` 781 782 // NullFields is a list of field names (e.g. "OutputConfig") to include 783 // in API requests with the JSON null value. By default, fields with 784 // empty values are omitted from API requests. However, any field with 785 // an empty value appearing in NullFields will be sent to the server as 786 // null. It is an error if a field in this list has a non-empty value. 787 // This may be used to include null fields in Patch requests. 788 NullFields []string `json:"-"` 789} 790 791func (s *AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 792 type NoMethod AsyncBatchAnnotateImagesResponse 793 raw := NoMethod(*s) 794 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 795} 796 797// BatchAnnotateFilesRequest: A list of requests to annotate files using 798// the BatchAnnotateFiles API. 799type BatchAnnotateFilesRequest struct { 800 // Parent: Optional. Target project and location to make a call. Format: 801 // `projects/{project-id}/locations/{location-id}`. If no parent is 802 // specified, a region will be chosen automatically. Supported 803 // location-ids: `us`: USA country only, `asia`: East asia areas, like 804 // Japan, Taiwan, `eu`: The European Union. Example: 805 // `projects/project-A/locations/eu`. 806 Parent string `json:"parent,omitempty"` 807 808 // Requests: Required. The list of file annotation requests. Right now 809 // we support only one AnnotateFileRequest in BatchAnnotateFilesRequest. 810 Requests []*AnnotateFileRequest `json:"requests,omitempty"` 811 812 // ForceSendFields is a list of field names (e.g. "Parent") to 813 // unconditionally include in API requests. By default, fields with 814 // empty or default values are omitted from API requests. However, any 815 // non-pointer, non-interface field appearing in ForceSendFields will be 816 // sent to the server regardless of whether the field is empty or not. 817 // This may be used to include empty fields in Patch requests. 818 ForceSendFields []string `json:"-"` 819 820 // NullFields is a list of field names (e.g. "Parent") to include in API 821 // requests with the JSON null value. By default, fields with empty 822 // values are omitted from API requests. However, any field with an 823 // empty value appearing in NullFields will be sent to the server as 824 // null. It is an error if a field in this list has a non-empty value. 825 // This may be used to include null fields in Patch requests. 826 NullFields []string `json:"-"` 827} 828 829func (s *BatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 830 type NoMethod BatchAnnotateFilesRequest 831 raw := NoMethod(*s) 832 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 833} 834 835// BatchAnnotateFilesResponse: A list of file annotation responses. 836type BatchAnnotateFilesResponse struct { 837 // Responses: The list of file annotation responses, each response 838 // corresponding to each AnnotateFileRequest in 839 // BatchAnnotateFilesRequest. 840 Responses []*AnnotateFileResponse `json:"responses,omitempty"` 841 842 // ServerResponse contains the HTTP response code and headers from the 843 // server. 844 googleapi.ServerResponse `json:"-"` 845 846 // ForceSendFields is a list of field names (e.g. "Responses") to 847 // unconditionally include in API requests. By default, fields with 848 // empty or default values are omitted from API requests. However, any 849 // non-pointer, non-interface field appearing in ForceSendFields will be 850 // sent to the server regardless of whether the field is empty or not. 851 // This may be used to include empty fields in Patch requests. 852 ForceSendFields []string `json:"-"` 853 854 // NullFields is a list of field names (e.g. "Responses") to include in 855 // API requests with the JSON null value. By default, fields with empty 856 // values are omitted from API requests. However, any field with an 857 // empty value appearing in NullFields will be sent to the server as 858 // null. It is an error if a field in this list has a non-empty value. 859 // This may be used to include null fields in Patch requests. 860 NullFields []string `json:"-"` 861} 862 863func (s *BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 864 type NoMethod BatchAnnotateFilesResponse 865 raw := NoMethod(*s) 866 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 867} 868 869// BatchAnnotateImagesRequest: Multiple image annotation requests are 870// batched into a single service call. 871type BatchAnnotateImagesRequest struct { 872 // Parent: Optional. Target project and location to make a call. Format: 873 // `projects/{project-id}/locations/{location-id}`. If no parent is 874 // specified, a region will be chosen automatically. Supported 875 // location-ids: `us`: USA country only, `asia`: East asia areas, like 876 // Japan, Taiwan, `eu`: The European Union. Example: 877 // `projects/project-A/locations/eu`. 878 Parent string `json:"parent,omitempty"` 879 880 // Requests: Required. Individual image annotation requests for this 881 // batch. 882 Requests []*AnnotateImageRequest `json:"requests,omitempty"` 883 884 // ForceSendFields is a list of field names (e.g. "Parent") to 885 // unconditionally include in API requests. By default, fields with 886 // empty or default values are omitted from API requests. However, any 887 // non-pointer, non-interface field appearing in ForceSendFields will be 888 // sent to the server regardless of whether the field is empty or not. 889 // This may be used to include empty fields in Patch requests. 890 ForceSendFields []string `json:"-"` 891 892 // NullFields is a list of field names (e.g. "Parent") to include in API 893 // requests with the JSON null value. By default, fields with empty 894 // values are omitted from API requests. However, any field with an 895 // empty value appearing in NullFields will be sent to the server as 896 // null. It is an error if a field in this list has a non-empty value. 897 // This may be used to include null fields in Patch requests. 898 NullFields []string `json:"-"` 899} 900 901func (s *BatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 902 type NoMethod BatchAnnotateImagesRequest 903 raw := NoMethod(*s) 904 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 905} 906 907// BatchAnnotateImagesResponse: Response to a batch image annotation 908// request. 909type BatchAnnotateImagesResponse struct { 910 // Responses: Individual responses to image annotation requests within 911 // the batch. 912 Responses []*AnnotateImageResponse `json:"responses,omitempty"` 913 914 // ServerResponse contains the HTTP response code and headers from the 915 // server. 916 googleapi.ServerResponse `json:"-"` 917 918 // ForceSendFields is a list of field names (e.g. "Responses") to 919 // unconditionally include in API requests. By default, fields with 920 // empty or default values are omitted from API requests. However, any 921 // non-pointer, non-interface field appearing in ForceSendFields will be 922 // sent to the server regardless of whether the field is empty or not. 923 // This may be used to include empty fields in Patch requests. 924 ForceSendFields []string `json:"-"` 925 926 // NullFields is a list of field names (e.g. "Responses") to include in 927 // API requests with the JSON null value. By default, fields with empty 928 // values are omitted from API requests. However, any field with an 929 // empty value appearing in NullFields will be sent to the server as 930 // null. It is an error if a field in this list has a non-empty value. 931 // This may be used to include null fields in Patch requests. 932 NullFields []string `json:"-"` 933} 934 935func (s *BatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 936 type NoMethod BatchAnnotateImagesResponse 937 raw := NoMethod(*s) 938 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 939} 940 941// BatchOperationMetadata: Metadata for the batch operations such as the 942// current state. This is included in the `metadata` field of the 943// `Operation` returned by the `GetOperation` call of the 944// `google::longrunning::Operations` service. 945type BatchOperationMetadata struct { 946 // EndTime: The time when the batch request is finished and 947 // google.longrunning.Operation.done is set to true. 948 EndTime string `json:"endTime,omitempty"` 949 950 // State: The current state of the batch operation. 951 // 952 // Possible values: 953 // "STATE_UNSPECIFIED" - Invalid. 954 // "PROCESSING" - Request is actively being processed. 955 // "SUCCESSFUL" - The request is done and at least one item has been 956 // successfully processed. 957 // "FAILED" - The request is done and no item has been successfully 958 // processed. 959 // "CANCELLED" - The request is done after the 960 // longrunning.Operations.CancelOperation has been called by the user. 961 // Any records that were processed before the cancel command are output 962 // as specified in the request. 963 State string `json:"state,omitempty"` 964 965 // SubmitTime: The time when the batch request was submitted to the 966 // server. 967 SubmitTime string `json:"submitTime,omitempty"` 968 969 // ForceSendFields is a list of field names (e.g. "EndTime") to 970 // unconditionally include in API requests. By default, fields with 971 // empty or default values are omitted from API requests. However, any 972 // non-pointer, non-interface field appearing in ForceSendFields will be 973 // sent to the server regardless of whether the field is empty or not. 974 // This may be used to include empty fields in Patch requests. 975 ForceSendFields []string `json:"-"` 976 977 // NullFields is a list of field names (e.g. "EndTime") to include in 978 // API requests with the JSON null value. By default, fields with empty 979 // values are omitted from API requests. However, any field with an 980 // empty value appearing in NullFields will be sent to the server as 981 // null. It is an error if a field in this list has a non-empty value. 982 // This may be used to include null fields in Patch requests. 983 NullFields []string `json:"-"` 984} 985 986func (s *BatchOperationMetadata) MarshalJSON() ([]byte, error) { 987 type NoMethod BatchOperationMetadata 988 raw := NoMethod(*s) 989 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 990} 991 992// Block: Logical element on the page. 993type Block struct { 994 // BlockType: Detected block type (text, image etc) for this block. 995 // 996 // Possible values: 997 // "UNKNOWN" - Unknown block type. 998 // "TEXT" - Regular text block. 999 // "TABLE" - Table block. 1000 // "PICTURE" - Image block. 1001 // "RULER" - Horizontal/vertical line box. 1002 // "BARCODE" - Barcode block. 1003 BlockType string `json:"blockType,omitempty"` 1004 1005 // BoundingBox: The bounding box for the block. The vertices are in the 1006 // order of top-left, top-right, bottom-right, bottom-left. When a 1007 // rotation of the bounding box is detected the rotation is represented 1008 // as around the top-left corner as defined when the text is read in the 1009 // 'natural' orientation. For example: * when the text is horizontal it 1010 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 1011 // around the top-left corner it becomes: 2----3 | | 1----0 and the 1012 // vertex order will still be (0, 1, 2, 3). 1013 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 1014 1015 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 1016 Confidence float64 `json:"confidence,omitempty"` 1017 1018 // Paragraphs: List of paragraphs in this block (if this blocks is of 1019 // type text). 1020 Paragraphs []*Paragraph `json:"paragraphs,omitempty"` 1021 1022 // Property: Additional information detected for the block. 1023 Property *TextProperty `json:"property,omitempty"` 1024 1025 // ForceSendFields is a list of field names (e.g. "BlockType") to 1026 // unconditionally include in API requests. By default, fields with 1027 // empty or default values are omitted from API requests. However, any 1028 // non-pointer, non-interface field appearing in ForceSendFields will be 1029 // sent to the server regardless of whether the field is empty or not. 1030 // This may be used to include empty fields in Patch requests. 1031 ForceSendFields []string `json:"-"` 1032 1033 // NullFields is a list of field names (e.g. "BlockType") to include in 1034 // API requests with the JSON null value. By default, fields with empty 1035 // values are omitted from API requests. However, any field with an 1036 // empty value appearing in NullFields will be sent to the server as 1037 // null. It is an error if a field in this list has a non-empty value. 1038 // This may be used to include null fields in Patch requests. 1039 NullFields []string `json:"-"` 1040} 1041 1042func (s *Block) MarshalJSON() ([]byte, error) { 1043 type NoMethod Block 1044 raw := NoMethod(*s) 1045 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1046} 1047 1048func (s *Block) UnmarshalJSON(data []byte) error { 1049 type NoMethod Block 1050 var s1 struct { 1051 Confidence gensupport.JSONFloat64 `json:"confidence"` 1052 *NoMethod 1053 } 1054 s1.NoMethod = (*NoMethod)(s) 1055 if err := json.Unmarshal(data, &s1); err != nil { 1056 return err 1057 } 1058 s.Confidence = float64(s1.Confidence) 1059 return nil 1060} 1061 1062// BoundingPoly: A bounding polygon for the detected image annotation. 1063type BoundingPoly struct { 1064 // NormalizedVertices: The bounding polygon normalized vertices. 1065 NormalizedVertices []*NormalizedVertex `json:"normalizedVertices,omitempty"` 1066 1067 // Vertices: The bounding polygon vertices. 1068 Vertices []*Vertex `json:"vertices,omitempty"` 1069 1070 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 1071 // to unconditionally include in API requests. By default, fields with 1072 // empty or default values are omitted from API requests. However, any 1073 // non-pointer, non-interface field appearing in ForceSendFields will be 1074 // sent to the server regardless of whether the field is empty or not. 1075 // This may be used to include empty fields in Patch requests. 1076 ForceSendFields []string `json:"-"` 1077 1078 // NullFields is a list of field names (e.g. "NormalizedVertices") to 1079 // include in API requests with the JSON null value. By default, fields 1080 // with empty values are omitted from API requests. However, any field 1081 // with an empty value appearing in NullFields will be sent to the 1082 // server as null. It is an error if a field in this list has a 1083 // non-empty value. This may be used to include null fields in Patch 1084 // requests. 1085 NullFields []string `json:"-"` 1086} 1087 1088func (s *BoundingPoly) MarshalJSON() ([]byte, error) { 1089 type NoMethod BoundingPoly 1090 raw := NoMethod(*s) 1091 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1092} 1093 1094// CancelOperationRequest: The request message for 1095// Operations.CancelOperation. 1096type CancelOperationRequest struct { 1097} 1098 1099// Color: Represents a color in the RGBA color space. This 1100// representation is designed for simplicity of conversion to/from color 1101// representations in various languages over compactness. For example, 1102// the fields of this representation can be trivially provided to the 1103// constructor of `java.awt.Color` in Java; it can also be trivially 1104// provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; 1105// and, with just a little work, it can be easily formatted into a CSS 1106// `rgba()` string in JavaScript. This reference page doesn't carry 1107// information about the absolute color space that should be used to 1108// interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, 1109// etc.). By default, applications should assume the sRGB color space. 1110// When color equality needs to be decided, implementations, unless 1111// documented otherwise, treat two colors as equal if all their red, 1112// green, blue, and alpha values each differ by at most 1e-5. Example 1113// (Java): import com.google.type.Color; // ... public static 1114// java.awt.Color fromProto(Color protocolor) { float alpha = 1115// protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; 1116// return new java.awt.Color( protocolor.getRed(), 1117// protocolor.getGreen(), protocolor.getBlue(), alpha); } public static 1118// Color toProto(java.awt.Color color) { float red = (float) 1119// color.getRed(); float green = (float) color.getGreen(); float blue = 1120// (float) color.getBlue(); float denominator = 255.0; Color.Builder 1121// resultBuilder = Color .newBuilder() .setRed(red / denominator) 1122// .setGreen(green / denominator) .setBlue(blue / denominator); int 1123// alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( 1124// FloatValue .newBuilder() .setValue(((float) alpha) / denominator) 1125// .build()); } return resultBuilder.build(); } // ... Example (iOS / 1126// Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float 1127// red = [protocolor red]; float green = [protocolor green]; float blue 1128// = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; 1129// float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper 1130// value]; } return [UIColor colorWithRed:red green:green blue:blue 1131// alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, 1132// green, blue, alpha; if (![color getRed:&red green:&green blue:&blue 1133// alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; 1134// [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; 1135// if (alpha <= 0.9999) { [result 1136// setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; 1137// return result; } // ... Example (JavaScript): // ... var 1138// protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red 1139// || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = 1140// rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green 1141// = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); 1142// if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, 1143// blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams 1144// = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', 1145// alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, 1146// blue) { var rgbNumber = new Number((red << 16) | (green << 8) | 1147// blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - 1148// hexString.length; var resultBuilder = ['#']; for (var i = 0; i < 1149// missingZeros; i++) { resultBuilder.push('0'); } 1150// resultBuilder.push(hexString); return resultBuilder.join(''); }; // 1151// ... 1152type Color struct { 1153 // Alpha: The fraction of this color that should be applied to the 1154 // pixel. That is, the final pixel color is defined by the equation: 1155 // `pixel color = alpha * (this color) + (1.0 - alpha) * (background 1156 // color)` This means that a value of 1.0 corresponds to a solid color, 1157 // whereas a value of 0.0 corresponds to a completely transparent color. 1158 // This uses a wrapper message rather than a simple float scalar so that 1159 // it is possible to distinguish between a default value and the value 1160 // being unset. If omitted, this color object is rendered as a solid 1161 // color (as if the alpha value had been explicitly given a value of 1162 // 1.0). 1163 Alpha float64 `json:"alpha,omitempty"` 1164 1165 // Blue: The amount of blue in the color as a value in the interval [0, 1166 // 1]. 1167 Blue float64 `json:"blue,omitempty"` 1168 1169 // Green: The amount of green in the color as a value in the interval 1170 // [0, 1]. 1171 Green float64 `json:"green,omitempty"` 1172 1173 // Red: The amount of red in the color as a value in the interval [0, 1174 // 1]. 1175 Red float64 `json:"red,omitempty"` 1176 1177 // ForceSendFields is a list of field names (e.g. "Alpha") to 1178 // unconditionally include in API requests. By default, fields with 1179 // empty or default values are omitted from API requests. However, any 1180 // non-pointer, non-interface field appearing in ForceSendFields will be 1181 // sent to the server regardless of whether the field is empty or not. 1182 // This may be used to include empty fields in Patch requests. 1183 ForceSendFields []string `json:"-"` 1184 1185 // NullFields is a list of field names (e.g. "Alpha") to include in API 1186 // requests with the JSON null value. By default, fields with empty 1187 // values are omitted from API requests. However, any field with an 1188 // empty value appearing in NullFields will be sent to the server as 1189 // null. It is an error if a field in this list has a non-empty value. 1190 // This may be used to include null fields in Patch requests. 1191 NullFields []string `json:"-"` 1192} 1193 1194func (s *Color) MarshalJSON() ([]byte, error) { 1195 type NoMethod Color 1196 raw := NoMethod(*s) 1197 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1198} 1199 1200func (s *Color) UnmarshalJSON(data []byte) error { 1201 type NoMethod Color 1202 var s1 struct { 1203 Alpha gensupport.JSONFloat64 `json:"alpha"` 1204 Blue gensupport.JSONFloat64 `json:"blue"` 1205 Green gensupport.JSONFloat64 `json:"green"` 1206 Red gensupport.JSONFloat64 `json:"red"` 1207 *NoMethod 1208 } 1209 s1.NoMethod = (*NoMethod)(s) 1210 if err := json.Unmarshal(data, &s1); err != nil { 1211 return err 1212 } 1213 s.Alpha = float64(s1.Alpha) 1214 s.Blue = float64(s1.Blue) 1215 s.Green = float64(s1.Green) 1216 s.Red = float64(s1.Red) 1217 return nil 1218} 1219 1220// ColorInfo: Color information consists of RGB channels, score, and the 1221// fraction of the image that the color occupies in the image. 1222type ColorInfo struct { 1223 // Color: RGB components of the color. 1224 Color *Color `json:"color,omitempty"` 1225 1226 // PixelFraction: The fraction of pixels the color occupies in the 1227 // image. Value in range [0, 1]. 1228 PixelFraction float64 `json:"pixelFraction,omitempty"` 1229 1230 // Score: Image-specific score for this color. Value in range [0, 1]. 1231 Score float64 `json:"score,omitempty"` 1232 1233 // ForceSendFields is a list of field names (e.g. "Color") to 1234 // unconditionally include in API requests. By default, fields with 1235 // empty or default values are omitted from API requests. However, any 1236 // non-pointer, non-interface field appearing in ForceSendFields will be 1237 // sent to the server regardless of whether the field is empty or not. 1238 // This may be used to include empty fields in Patch requests. 1239 ForceSendFields []string `json:"-"` 1240 1241 // NullFields is a list of field names (e.g. "Color") to include in API 1242 // requests with the JSON null value. By default, fields with empty 1243 // values are omitted from API requests. However, any field with an 1244 // empty value appearing in NullFields will be sent to the server as 1245 // null. It is an error if a field in this list has a non-empty value. 1246 // This may be used to include null fields in Patch requests. 1247 NullFields []string `json:"-"` 1248} 1249 1250func (s *ColorInfo) MarshalJSON() ([]byte, error) { 1251 type NoMethod ColorInfo 1252 raw := NoMethod(*s) 1253 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1254} 1255 1256func (s *ColorInfo) UnmarshalJSON(data []byte) error { 1257 type NoMethod ColorInfo 1258 var s1 struct { 1259 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 1260 Score gensupport.JSONFloat64 `json:"score"` 1261 *NoMethod 1262 } 1263 s1.NoMethod = (*NoMethod)(s) 1264 if err := json.Unmarshal(data, &s1); err != nil { 1265 return err 1266 } 1267 s.PixelFraction = float64(s1.PixelFraction) 1268 s.Score = float64(s1.Score) 1269 return nil 1270} 1271 1272// CropHint: Single crop hint that is used to generate a new crop when 1273// serving an image. 1274type CropHint struct { 1275 // BoundingPoly: The bounding polygon for the crop region. The 1276 // coordinates of the bounding box are in the original image's scale. 1277 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1278 1279 // Confidence: Confidence of this being a salient region. Range [0, 1]. 1280 Confidence float64 `json:"confidence,omitempty"` 1281 1282 // ImportanceFraction: Fraction of importance of this salient region 1283 // with respect to the original image. 1284 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 1285 1286 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1287 // unconditionally include in API requests. By default, fields with 1288 // empty or default values are omitted from API requests. However, any 1289 // non-pointer, non-interface field appearing in ForceSendFields will be 1290 // sent to the server regardless of whether the field is empty or not. 1291 // This may be used to include empty fields in Patch requests. 1292 ForceSendFields []string `json:"-"` 1293 1294 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1295 // in API requests with the JSON null value. By default, fields with 1296 // empty values are omitted from API requests. However, any field with 1297 // an empty value appearing in NullFields will be sent to the server as 1298 // null. It is an error if a field in this list has a non-empty value. 1299 // This may be used to include null fields in Patch requests. 1300 NullFields []string `json:"-"` 1301} 1302 1303func (s *CropHint) MarshalJSON() ([]byte, error) { 1304 type NoMethod CropHint 1305 raw := NoMethod(*s) 1306 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1307} 1308 1309func (s *CropHint) UnmarshalJSON(data []byte) error { 1310 type NoMethod CropHint 1311 var s1 struct { 1312 Confidence gensupport.JSONFloat64 `json:"confidence"` 1313 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 1314 *NoMethod 1315 } 1316 s1.NoMethod = (*NoMethod)(s) 1317 if err := json.Unmarshal(data, &s1); err != nil { 1318 return err 1319 } 1320 s.Confidence = float64(s1.Confidence) 1321 s.ImportanceFraction = float64(s1.ImportanceFraction) 1322 return nil 1323} 1324 1325// CropHintsAnnotation: Set of crop hints that are used to generate new 1326// crops when serving images. 1327type CropHintsAnnotation struct { 1328 // CropHints: Crop hint results. 1329 CropHints []*CropHint `json:"cropHints,omitempty"` 1330 1331 // ForceSendFields is a list of field names (e.g. "CropHints") to 1332 // unconditionally include in API requests. By default, fields with 1333 // empty or default values are omitted from API requests. However, any 1334 // non-pointer, non-interface field appearing in ForceSendFields will be 1335 // sent to the server regardless of whether the field is empty or not. 1336 // This may be used to include empty fields in Patch requests. 1337 ForceSendFields []string `json:"-"` 1338 1339 // NullFields is a list of field names (e.g. "CropHints") to include in 1340 // API requests with the JSON null value. By default, fields with empty 1341 // values are omitted from API requests. However, any field with an 1342 // empty value appearing in NullFields will be sent to the server as 1343 // null. It is an error if a field in this list has a non-empty value. 1344 // This may be used to include null fields in Patch requests. 1345 NullFields []string `json:"-"` 1346} 1347 1348func (s *CropHintsAnnotation) MarshalJSON() ([]byte, error) { 1349 type NoMethod CropHintsAnnotation 1350 raw := NoMethod(*s) 1351 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1352} 1353 1354// CropHintsParams: Parameters for crop hints annotation request. 1355type CropHintsParams struct { 1356 // AspectRatios: Aspect ratios in floats, representing the ratio of the 1357 // width to the height of the image. For example, if the desired aspect 1358 // ratio is 4/3, the corresponding float value should be 1.33333. If not 1359 // specified, the best possible crop is returned. The number of provided 1360 // aspect ratios is limited to a maximum of 16; any aspect ratios 1361 // provided after the 16th are ignored. 1362 AspectRatios []float64 `json:"aspectRatios,omitempty"` 1363 1364 // ForceSendFields is a list of field names (e.g. "AspectRatios") to 1365 // unconditionally include in API requests. By default, fields with 1366 // empty or default values are omitted from API requests. However, any 1367 // non-pointer, non-interface field appearing in ForceSendFields will be 1368 // sent to the server regardless of whether the field is empty or not. 1369 // This may be used to include empty fields in Patch requests. 1370 ForceSendFields []string `json:"-"` 1371 1372 // NullFields is a list of field names (e.g. "AspectRatios") to include 1373 // in API requests with the JSON null value. By default, fields with 1374 // empty values are omitted from API requests. However, any field with 1375 // an empty value appearing in NullFields will be sent to the server as 1376 // null. It is an error if a field in this list has a non-empty value. 1377 // This may be used to include null fields in Patch requests. 1378 NullFields []string `json:"-"` 1379} 1380 1381func (s *CropHintsParams) MarshalJSON() ([]byte, error) { 1382 type NoMethod CropHintsParams 1383 raw := NoMethod(*s) 1384 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1385} 1386 1387// DetectedBreak: Detected start or end of a structural component. 1388type DetectedBreak struct { 1389 // IsPrefix: True if break prepends the element. 1390 IsPrefix bool `json:"isPrefix,omitempty"` 1391 1392 // Type: Detected break type. 1393 // 1394 // Possible values: 1395 // "UNKNOWN" - Unknown break label type. 1396 // "SPACE" - Regular space. 1397 // "SURE_SPACE" - Sure space (very wide). 1398 // "EOL_SURE_SPACE" - Line-wrapping break. 1399 // "HYPHEN" - End-line hyphen that is not present in text; does not 1400 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 1401 // "LINE_BREAK" - Line break that ends a paragraph. 1402 Type string `json:"type,omitempty"` 1403 1404 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 1405 // unconditionally include in API requests. By default, fields with 1406 // empty or default values are omitted from API requests. However, any 1407 // non-pointer, non-interface field appearing in ForceSendFields will be 1408 // sent to the server regardless of whether the field is empty or not. 1409 // This may be used to include empty fields in Patch requests. 1410 ForceSendFields []string `json:"-"` 1411 1412 // NullFields is a list of field names (e.g. "IsPrefix") to include in 1413 // API requests with the JSON null value. By default, fields with empty 1414 // values are omitted from API requests. However, any field with an 1415 // empty value appearing in NullFields will be sent to the server as 1416 // null. It is an error if a field in this list has a non-empty value. 1417 // This may be used to include null fields in Patch requests. 1418 NullFields []string `json:"-"` 1419} 1420 1421func (s *DetectedBreak) MarshalJSON() ([]byte, error) { 1422 type NoMethod DetectedBreak 1423 raw := NoMethod(*s) 1424 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1425} 1426 1427// DetectedLanguage: Detected language for a structural component. 1428type DetectedLanguage struct { 1429 // Confidence: Confidence of detected language. Range [0, 1]. 1430 Confidence float64 `json:"confidence,omitempty"` 1431 1432 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 1433 // For more information, see 1434 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 1435 LanguageCode string `json:"languageCode,omitempty"` 1436 1437 // ForceSendFields is a list of field names (e.g. "Confidence") to 1438 // unconditionally include in API requests. By default, fields with 1439 // empty or default values are omitted from API requests. However, any 1440 // non-pointer, non-interface field appearing in ForceSendFields will be 1441 // sent to the server regardless of whether the field is empty or not. 1442 // This may be used to include empty fields in Patch requests. 1443 ForceSendFields []string `json:"-"` 1444 1445 // NullFields is a list of field names (e.g. "Confidence") to include in 1446 // API requests with the JSON null value. By default, fields with empty 1447 // values are omitted from API requests. However, any field with an 1448 // empty value appearing in NullFields will be sent to the server as 1449 // null. It is an error if a field in this list has a non-empty value. 1450 // This may be used to include null fields in Patch requests. 1451 NullFields []string `json:"-"` 1452} 1453 1454func (s *DetectedLanguage) MarshalJSON() ([]byte, error) { 1455 type NoMethod DetectedLanguage 1456 raw := NoMethod(*s) 1457 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1458} 1459 1460func (s *DetectedLanguage) UnmarshalJSON(data []byte) error { 1461 type NoMethod DetectedLanguage 1462 var s1 struct { 1463 Confidence gensupport.JSONFloat64 `json:"confidence"` 1464 *NoMethod 1465 } 1466 s1.NoMethod = (*NoMethod)(s) 1467 if err := json.Unmarshal(data, &s1); err != nil { 1468 return err 1469 } 1470 s.Confidence = float64(s1.Confidence) 1471 return nil 1472} 1473 1474// DominantColorsAnnotation: Set of dominant colors and their 1475// corresponding scores. 1476type DominantColorsAnnotation struct { 1477 // Colors: RGB color values with their score and pixel fraction. 1478 Colors []*ColorInfo `json:"colors,omitempty"` 1479 1480 // ForceSendFields is a list of field names (e.g. "Colors") to 1481 // unconditionally include in API requests. By default, fields with 1482 // empty or default values are omitted from API requests. However, any 1483 // non-pointer, non-interface field appearing in ForceSendFields will be 1484 // sent to the server regardless of whether the field is empty or not. 1485 // This may be used to include empty fields in Patch requests. 1486 ForceSendFields []string `json:"-"` 1487 1488 // NullFields is a list of field names (e.g. "Colors") to include in API 1489 // requests with the JSON null value. By default, fields with empty 1490 // values are omitted from API requests. However, any field with an 1491 // empty value appearing in NullFields will be sent to the server as 1492 // null. It is an error if a field in this list has a non-empty value. 1493 // This may be used to include null fields in Patch requests. 1494 NullFields []string `json:"-"` 1495} 1496 1497func (s *DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 1498 type NoMethod DominantColorsAnnotation 1499 raw := NoMethod(*s) 1500 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1501} 1502 1503// Empty: A generic empty message that you can re-use to avoid defining 1504// duplicated empty messages in your APIs. A typical example is to use 1505// it as the request or the response type of an API method. For 1506// instance: service Foo { rpc Bar(google.protobuf.Empty) returns 1507// (google.protobuf.Empty); } The JSON representation for `Empty` is 1508// empty JSON object `{}`. 1509type Empty struct { 1510 // ServerResponse contains the HTTP response code and headers from the 1511 // server. 1512 googleapi.ServerResponse `json:"-"` 1513} 1514 1515// EntityAnnotation: Set of detected entity features. 1516type EntityAnnotation struct { 1517 // BoundingPoly: Image region to which this entity belongs. Not produced 1518 // for `LABEL_DETECTION` features. 1519 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1520 1521 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 1522 // entity detection in an image. For example, for an image in which the 1523 // "Eiffel Tower" entity is detected, this field represents the 1524 // confidence that there is a tower in the query image. Range [0, 1]. 1525 Confidence float64 `json:"confidence,omitempty"` 1526 1527 // Description: Entity textual description, expressed in its `locale` 1528 // language. 1529 Description string `json:"description,omitempty"` 1530 1531 // Locale: The language code for the locale in which the entity textual 1532 // `description` is expressed. 1533 Locale string `json:"locale,omitempty"` 1534 1535 // Locations: The location information for the detected entity. Multiple 1536 // `LocationInfo` elements can be present because one location may 1537 // indicate the location of the scene in the image, and another location 1538 // may indicate the location of the place where the image was taken. 1539 // Location information is usually present for landmarks. 1540 Locations []*LocationInfo `json:"locations,omitempty"` 1541 1542 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 1543 // Graph Search API (https://developers.google.com/knowledge-graph/). 1544 Mid string `json:"mid,omitempty"` 1545 1546 // Properties: Some entities may have optional user-supplied `Property` 1547 // (name/value) fields, such a score or string that qualifies the 1548 // entity. 1549 Properties []*Property `json:"properties,omitempty"` 1550 1551 // Score: Overall score of the result. Range [0, 1]. 1552 Score float64 `json:"score,omitempty"` 1553 1554 // Topicality: The relevancy of the ICA (Image Content Annotation) label 1555 // to the image. For example, the relevancy of "tower" is likely higher 1556 // to an image containing the detected "Eiffel Tower" than to an image 1557 // containing a detected distant towering building, even though the 1558 // confidence that there is a tower in each image may be the same. Range 1559 // [0, 1]. 1560 Topicality float64 `json:"topicality,omitempty"` 1561 1562 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1563 // unconditionally include in API requests. By default, fields with 1564 // empty or default values are omitted from API requests. However, any 1565 // non-pointer, non-interface field appearing in ForceSendFields will be 1566 // sent to the server regardless of whether the field is empty or not. 1567 // This may be used to include empty fields in Patch requests. 1568 ForceSendFields []string `json:"-"` 1569 1570 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1571 // in API requests with the JSON null value. By default, fields with 1572 // empty values are omitted from API requests. However, any field with 1573 // an empty value appearing in NullFields will be sent to the server as 1574 // null. It is an error if a field in this list has a non-empty value. 1575 // This may be used to include null fields in Patch requests. 1576 NullFields []string `json:"-"` 1577} 1578 1579func (s *EntityAnnotation) MarshalJSON() ([]byte, error) { 1580 type NoMethod EntityAnnotation 1581 raw := NoMethod(*s) 1582 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1583} 1584 1585func (s *EntityAnnotation) UnmarshalJSON(data []byte) error { 1586 type NoMethod EntityAnnotation 1587 var s1 struct { 1588 Confidence gensupport.JSONFloat64 `json:"confidence"` 1589 Score gensupport.JSONFloat64 `json:"score"` 1590 Topicality gensupport.JSONFloat64 `json:"topicality"` 1591 *NoMethod 1592 } 1593 s1.NoMethod = (*NoMethod)(s) 1594 if err := json.Unmarshal(data, &s1); err != nil { 1595 return err 1596 } 1597 s.Confidence = float64(s1.Confidence) 1598 s.Score = float64(s1.Score) 1599 s.Topicality = float64(s1.Topicality) 1600 return nil 1601} 1602 1603// FaceAnnotation: A face annotation object contains the results of face 1604// detection. 1605type FaceAnnotation struct { 1606 // AngerLikelihood: Anger likelihood. 1607 // 1608 // Possible values: 1609 // "UNKNOWN" - Unknown likelihood. 1610 // "VERY_UNLIKELY" - It is very unlikely. 1611 // "UNLIKELY" - It is unlikely. 1612 // "POSSIBLE" - It is possible. 1613 // "LIKELY" - It is likely. 1614 // "VERY_LIKELY" - It is very likely. 1615 AngerLikelihood string `json:"angerLikelihood,omitempty"` 1616 1617 // BlurredLikelihood: Blurred likelihood. 1618 // 1619 // Possible values: 1620 // "UNKNOWN" - Unknown likelihood. 1621 // "VERY_UNLIKELY" - It is very unlikely. 1622 // "UNLIKELY" - It is unlikely. 1623 // "POSSIBLE" - It is possible. 1624 // "LIKELY" - It is likely. 1625 // "VERY_LIKELY" - It is very likely. 1626 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 1627 1628 // BoundingPoly: The bounding polygon around the face. The coordinates 1629 // of the bounding box are in the original image's scale. The bounding 1630 // box is computed to "frame" the face in accordance with human 1631 // expectations. It is based on the landmarker results. Note that one or 1632 // more x and/or y coordinates may not be generated in the 1633 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 1634 // appears in the image to be annotated. 1635 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1636 1637 // DetectionConfidence: Detection confidence. Range [0, 1]. 1638 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 1639 1640 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 1641 // than the `boundingPoly`, and encloses only the skin part of the face. 1642 // Typically, it is used to eliminate the face from any image analysis 1643 // that detects the "amount of skin" visible in an image. It is not 1644 // based on the landmarker results, only on the initial face detection, 1645 // hence the fd (face detection) prefix. 1646 FdBoundingPoly *BoundingPoly `json:"fdBoundingPoly,omitempty"` 1647 1648 // HeadwearLikelihood: Headwear likelihood. 1649 // 1650 // Possible values: 1651 // "UNKNOWN" - Unknown likelihood. 1652 // "VERY_UNLIKELY" - It is very unlikely. 1653 // "UNLIKELY" - It is unlikely. 1654 // "POSSIBLE" - It is possible. 1655 // "LIKELY" - It is likely. 1656 // "VERY_LIKELY" - It is very likely. 1657 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 1658 1659 // JoyLikelihood: Joy likelihood. 1660 // 1661 // Possible values: 1662 // "UNKNOWN" - Unknown likelihood. 1663 // "VERY_UNLIKELY" - It is very unlikely. 1664 // "UNLIKELY" - It is unlikely. 1665 // "POSSIBLE" - It is possible. 1666 // "LIKELY" - It is likely. 1667 // "VERY_LIKELY" - It is very likely. 1668 JoyLikelihood string `json:"joyLikelihood,omitempty"` 1669 1670 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 1671 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 1672 1673 // Landmarks: Detected face landmarks. 1674 Landmarks []*Landmark `json:"landmarks,omitempty"` 1675 1676 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 1677 // that the face is pointing relative to the vertical plane 1678 // perpendicular to the image. Range [-180,180]. 1679 PanAngle float64 `json:"panAngle,omitempty"` 1680 1681 // RollAngle: Roll angle, which indicates the amount of 1682 // clockwise/anti-clockwise rotation of the face relative to the image 1683 // vertical about the axis perpendicular to the face. Range [-180,180]. 1684 RollAngle float64 `json:"rollAngle,omitempty"` 1685 1686 // SorrowLikelihood: Sorrow likelihood. 1687 // 1688 // Possible values: 1689 // "UNKNOWN" - Unknown likelihood. 1690 // "VERY_UNLIKELY" - It is very unlikely. 1691 // "UNLIKELY" - It is unlikely. 1692 // "POSSIBLE" - It is possible. 1693 // "LIKELY" - It is likely. 1694 // "VERY_LIKELY" - It is very likely. 1695 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 1696 1697 // SurpriseLikelihood: Surprise likelihood. 1698 // 1699 // Possible values: 1700 // "UNKNOWN" - Unknown likelihood. 1701 // "VERY_UNLIKELY" - It is very unlikely. 1702 // "UNLIKELY" - It is unlikely. 1703 // "POSSIBLE" - It is possible. 1704 // "LIKELY" - It is likely. 1705 // "VERY_LIKELY" - It is very likely. 1706 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 1707 1708 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 1709 // that the face is pointing relative to the image's horizontal plane. 1710 // Range [-180,180]. 1711 TiltAngle float64 `json:"tiltAngle,omitempty"` 1712 1713 // UnderExposedLikelihood: Under-exposed likelihood. 1714 // 1715 // Possible values: 1716 // "UNKNOWN" - Unknown likelihood. 1717 // "VERY_UNLIKELY" - It is very unlikely. 1718 // "UNLIKELY" - It is unlikely. 1719 // "POSSIBLE" - It is possible. 1720 // "LIKELY" - It is likely. 1721 // "VERY_LIKELY" - It is very likely. 1722 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 1723 1724 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 1725 // unconditionally include in API requests. By default, fields with 1726 // empty or default values are omitted from API requests. However, any 1727 // non-pointer, non-interface field appearing in ForceSendFields will be 1728 // sent to the server regardless of whether the field is empty or not. 1729 // This may be used to include empty fields in Patch requests. 1730 ForceSendFields []string `json:"-"` 1731 1732 // NullFields is a list of field names (e.g. "AngerLikelihood") to 1733 // include in API requests with the JSON null value. By default, fields 1734 // with empty values are omitted from API requests. However, any field 1735 // with an empty value appearing in NullFields will be sent to the 1736 // server as null. It is an error if a field in this list has a 1737 // non-empty value. This may be used to include null fields in Patch 1738 // requests. 1739 NullFields []string `json:"-"` 1740} 1741 1742func (s *FaceAnnotation) MarshalJSON() ([]byte, error) { 1743 type NoMethod FaceAnnotation 1744 raw := NoMethod(*s) 1745 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1746} 1747 1748func (s *FaceAnnotation) UnmarshalJSON(data []byte) error { 1749 type NoMethod FaceAnnotation 1750 var s1 struct { 1751 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 1752 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 1753 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 1754 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 1755 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 1756 *NoMethod 1757 } 1758 s1.NoMethod = (*NoMethod)(s) 1759 if err := json.Unmarshal(data, &s1); err != nil { 1760 return err 1761 } 1762 s.DetectionConfidence = float64(s1.DetectionConfidence) 1763 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 1764 s.PanAngle = float64(s1.PanAngle) 1765 s.RollAngle = float64(s1.RollAngle) 1766 s.TiltAngle = float64(s1.TiltAngle) 1767 return nil 1768} 1769 1770// Feature: The type of Google Cloud Vision API detection to perform, 1771// and the maximum number of results to return for that type. Multiple 1772// `Feature` objects can be specified in the `features` list. 1773type Feature struct { 1774 // MaxResults: Maximum number of results of this type. Does not apply to 1775 // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. 1776 MaxResults int64 `json:"maxResults,omitempty"` 1777 1778 // Model: Model to use for the feature. Supported values: 1779 // "builtin/stable" (the default if unset) and "builtin/latest". 1780 Model string `json:"model,omitempty"` 1781 1782 // Type: The feature type. 1783 // 1784 // Possible values: 1785 // "TYPE_UNSPECIFIED" - Unspecified feature type. 1786 // "FACE_DETECTION" - Run face detection. 1787 // "LANDMARK_DETECTION" - Run landmark detection. 1788 // "LOGO_DETECTION" - Run logo detection. 1789 // "LABEL_DETECTION" - Run label detection. 1790 // "TEXT_DETECTION" - Run text detection / optical character 1791 // recognition (OCR). Text detection is optimized for areas of text 1792 // within a larger image; if the image is a document, use 1793 // `DOCUMENT_TEXT_DETECTION` instead. 1794 // "DOCUMENT_TEXT_DETECTION" - Run dense text document OCR. Takes 1795 // precedence when both `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` 1796 // are present. 1797 // "SAFE_SEARCH_DETECTION" - Run Safe Search to detect potentially 1798 // unsafe or undesirable content. 1799 // "IMAGE_PROPERTIES" - Compute a set of image properties, such as the 1800 // image's dominant colors. 1801 // "CROP_HINTS" - Run crop hints. 1802 // "WEB_DETECTION" - Run web detection. 1803 // "PRODUCT_SEARCH" - Run Product Search. 1804 // "OBJECT_LOCALIZATION" - Run localizer for object detection. 1805 Type string `json:"type,omitempty"` 1806 1807 // ForceSendFields is a list of field names (e.g. "MaxResults") to 1808 // unconditionally include in API requests. By default, fields with 1809 // empty or default values are omitted from API requests. However, any 1810 // non-pointer, non-interface field appearing in ForceSendFields will be 1811 // sent to the server regardless of whether the field is empty or not. 1812 // This may be used to include empty fields in Patch requests. 1813 ForceSendFields []string `json:"-"` 1814 1815 // NullFields is a list of field names (e.g. "MaxResults") to include in 1816 // API requests with the JSON null value. By default, fields with empty 1817 // values are omitted from API requests. However, any field with an 1818 // empty value appearing in NullFields will be sent to the server as 1819 // null. It is an error if a field in this list has a non-empty value. 1820 // This may be used to include null fields in Patch requests. 1821 NullFields []string `json:"-"` 1822} 1823 1824func (s *Feature) MarshalJSON() ([]byte, error) { 1825 type NoMethod Feature 1826 raw := NoMethod(*s) 1827 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1828} 1829 1830// GcsDestination: The Google Cloud Storage location where the output 1831// will be written to. 1832type GcsDestination struct { 1833 // Uri: Google Cloud Storage URI prefix where the results will be 1834 // stored. Results will be in JSON format and preceded by its 1835 // corresponding input URI prefix. This field can either represent a gcs 1836 // file prefix or gcs directory. In either case, the uri should be 1837 // unique because in order to get all of the output files, you will need 1838 // to do a wildcard gcs search on the uri prefix you provide. Examples: 1839 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 1840 // will be created in gs://bucket-name/here/ and the names of the output 1841 // files will begin with "filenameprefix". * Directory Prefix: 1842 // gs://bucket-name/some/location/ The output files will be created in 1843 // gs://bucket-name/some/location/ and the names of the output files 1844 // could be anything because there was no filename prefix specified. If 1845 // multiple outputs, each response is still AnnotateFileResponse, each 1846 // of which contains some subset of the full list of 1847 // AnnotateImageResponse. Multiple outputs can happen if, for example, 1848 // the output JSON is too large and overflows into multiple sharded 1849 // files. 1850 Uri string `json:"uri,omitempty"` 1851 1852 // ForceSendFields is a list of field names (e.g. "Uri") to 1853 // unconditionally include in API requests. By default, fields with 1854 // empty or default values are omitted from API requests. However, any 1855 // non-pointer, non-interface field appearing in ForceSendFields will be 1856 // sent to the server regardless of whether the field is empty or not. 1857 // This may be used to include empty fields in Patch requests. 1858 ForceSendFields []string `json:"-"` 1859 1860 // NullFields is a list of field names (e.g. "Uri") to include in API 1861 // requests with the JSON null value. By default, fields with empty 1862 // values are omitted from API requests. However, any field with an 1863 // empty value appearing in NullFields will be sent to the server as 1864 // null. It is an error if a field in this list has a non-empty value. 1865 // This may be used to include null fields in Patch requests. 1866 NullFields []string `json:"-"` 1867} 1868 1869func (s *GcsDestination) MarshalJSON() ([]byte, error) { 1870 type NoMethod GcsDestination 1871 raw := NoMethod(*s) 1872 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1873} 1874 1875// GcsSource: The Google Cloud Storage location where the input will be 1876// read from. 1877type GcsSource struct { 1878 // Uri: Google Cloud Storage URI for the input file. This must only be a 1879 // Google Cloud Storage object. Wildcards are not currently supported. 1880 Uri string `json:"uri,omitempty"` 1881 1882 // ForceSendFields is a list of field names (e.g. "Uri") to 1883 // unconditionally include in API requests. By default, fields with 1884 // empty or default values are omitted from API requests. However, any 1885 // non-pointer, non-interface field appearing in ForceSendFields will be 1886 // sent to the server regardless of whether the field is empty or not. 1887 // This may be used to include empty fields in Patch requests. 1888 ForceSendFields []string `json:"-"` 1889 1890 // NullFields is a list of field names (e.g. "Uri") to include in API 1891 // requests with the JSON null value. By default, fields with empty 1892 // values are omitted from API requests. However, any field with an 1893 // empty value appearing in NullFields will be sent to the server as 1894 // null. It is an error if a field in this list has a non-empty value. 1895 // This may be used to include null fields in Patch requests. 1896 NullFields []string `json:"-"` 1897} 1898 1899func (s *GcsSource) MarshalJSON() ([]byte, error) { 1900 type NoMethod GcsSource 1901 raw := NoMethod(*s) 1902 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1903} 1904 1905// GoogleCloudVisionV1p1beta1AnnotateFileResponse: Response to a single 1906// file annotation request. A file may contain one or more images, which 1907// individually have their own responses. 1908type GoogleCloudVisionV1p1beta1AnnotateFileResponse struct { 1909 // Error: If set, represents the error message for the failed request. 1910 // The `responses` field will not be set in this case. 1911 Error *Status `json:"error,omitempty"` 1912 1913 // InputConfig: Information about the file for which this response is 1914 // generated. 1915 InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"` 1916 1917 // Responses: Individual responses to images found within the file. This 1918 // field will be empty if the `error` field is set. 1919 Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"` 1920 1921 // TotalPages: This field gives the total number of pages in the file. 1922 TotalPages int64 `json:"totalPages,omitempty"` 1923 1924 // ForceSendFields is a list of field names (e.g. "Error") to 1925 // unconditionally include in API requests. By default, fields with 1926 // empty or default values are omitted from API requests. However, any 1927 // non-pointer, non-interface field appearing in ForceSendFields will be 1928 // sent to the server regardless of whether the field is empty or not. 1929 // This may be used to include empty fields in Patch requests. 1930 ForceSendFields []string `json:"-"` 1931 1932 // NullFields is a list of field names (e.g. "Error") to include in API 1933 // requests with the JSON null value. By default, fields with empty 1934 // values are omitted from API requests. However, any field with an 1935 // empty value appearing in NullFields will be sent to the server as 1936 // null. It is an error if a field in this list has a non-empty value. 1937 // This may be used to include null fields in Patch requests. 1938 NullFields []string `json:"-"` 1939} 1940 1941func (s *GoogleCloudVisionV1p1beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 1942 type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileResponse 1943 raw := NoMethod(*s) 1944 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1945} 1946 1947// GoogleCloudVisionV1p1beta1AnnotateImageResponse: Response to an image 1948// annotation request. 1949type GoogleCloudVisionV1p1beta1AnnotateImageResponse struct { 1950 // Context: If present, contextual information is needed to understand 1951 // where this image comes from. 1952 Context *GoogleCloudVisionV1p1beta1ImageAnnotationContext `json:"context,omitempty"` 1953 1954 // CropHintsAnnotation: If present, crop hints have completed 1955 // successfully. 1956 CropHintsAnnotation *GoogleCloudVisionV1p1beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 1957 1958 // Error: If set, represents the error message for the operation. Note 1959 // that filled-in image annotations are guaranteed to be correct, even 1960 // when `error` is set. 1961 Error *Status `json:"error,omitempty"` 1962 1963 // FaceAnnotations: If present, face detection has completed 1964 // successfully. 1965 FaceAnnotations []*GoogleCloudVisionV1p1beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 1966 1967 // FullTextAnnotation: If present, text (OCR) detection or document 1968 // (OCR) text detection has completed successfully. This annotation 1969 // provides the structural hierarchy for the OCR detected text. 1970 FullTextAnnotation *GoogleCloudVisionV1p1beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 1971 1972 // ImagePropertiesAnnotation: If present, image properties were 1973 // extracted successfully. 1974 ImagePropertiesAnnotation *GoogleCloudVisionV1p1beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 1975 1976 // LabelAnnotations: If present, label detection has completed 1977 // successfully. 1978 LabelAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 1979 1980 // LandmarkAnnotations: If present, landmark detection has completed 1981 // successfully. 1982 LandmarkAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 1983 1984 // LocalizedObjectAnnotations: If present, localized object detection 1985 // has completed successfully. This will be sorted descending by 1986 // confidence score. 1987 LocalizedObjectAnnotations []*GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 1988 1989 // LogoAnnotations: If present, logo detection has completed 1990 // successfully. 1991 LogoAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 1992 1993 // ProductSearchResults: If present, product search has completed 1994 // successfully. 1995 ProductSearchResults *GoogleCloudVisionV1p1beta1ProductSearchResults `json:"productSearchResults,omitempty"` 1996 1997 // SafeSearchAnnotation: If present, safe-search annotation has 1998 // completed successfully. 1999 SafeSearchAnnotation *GoogleCloudVisionV1p1beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 2000 2001 // TextAnnotations: If present, text (OCR) detection has completed 2002 // successfully. 2003 TextAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"textAnnotations,omitempty"` 2004 2005 // WebDetection: If present, web detection has completed successfully. 2006 WebDetection *GoogleCloudVisionV1p1beta1WebDetection `json:"webDetection,omitempty"` 2007 2008 // ForceSendFields is a list of field names (e.g. "Context") to 2009 // unconditionally include in API requests. By default, fields with 2010 // empty or default values are omitted from API requests. However, any 2011 // non-pointer, non-interface field appearing in ForceSendFields will be 2012 // sent to the server regardless of whether the field is empty or not. 2013 // This may be used to include empty fields in Patch requests. 2014 ForceSendFields []string `json:"-"` 2015 2016 // NullFields is a list of field names (e.g. "Context") to include in 2017 // API requests with the JSON null value. By default, fields with empty 2018 // values are omitted from API requests. However, any field with an 2019 // empty value appearing in NullFields will be sent to the server as 2020 // null. It is an error if a field in this list has a non-empty value. 2021 // This may be used to include null fields in Patch requests. 2022 NullFields []string `json:"-"` 2023} 2024 2025func (s *GoogleCloudVisionV1p1beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 2026 type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageResponse 2027 raw := NoMethod(*s) 2028 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2029} 2030 2031// GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse: The response for 2032// a single offline file annotation request. 2033type GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse struct { 2034 // OutputConfig: The output location and metadata from 2035 // AsyncAnnotateFileRequest. 2036 OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"` 2037 2038 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 2039 // unconditionally include in API requests. By default, fields with 2040 // empty or default values are omitted from API requests. However, any 2041 // non-pointer, non-interface field appearing in ForceSendFields will be 2042 // sent to the server regardless of whether the field is empty or not. 2043 // This may be used to include empty fields in Patch requests. 2044 ForceSendFields []string `json:"-"` 2045 2046 // NullFields is a list of field names (e.g. "OutputConfig") to include 2047 // in API requests with the JSON null value. By default, fields with 2048 // empty values are omitted from API requests. However, any field with 2049 // an empty value appearing in NullFields will be sent to the server as 2050 // null. It is an error if a field in this list has a non-empty value. 2051 // This may be used to include null fields in Patch requests. 2052 NullFields []string `json:"-"` 2053} 2054 2055func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 2056 type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse 2057 raw := NoMethod(*s) 2058 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2059} 2060 2061// GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse: Response 2062// to an async batch file annotation request. 2063type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse struct { 2064 // Responses: The list of file annotation responses, one for each 2065 // request in AsyncBatchAnnotateFilesRequest. 2066 Responses []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 2067 2068 // ForceSendFields is a list of field names (e.g. "Responses") to 2069 // unconditionally include in API requests. By default, fields with 2070 // empty or default values are omitted from API requests. However, any 2071 // non-pointer, non-interface field appearing in ForceSendFields will be 2072 // sent to the server regardless of whether the field is empty or not. 2073 // This may be used to include empty fields in Patch requests. 2074 ForceSendFields []string `json:"-"` 2075 2076 // NullFields is a list of field names (e.g. "Responses") to include in 2077 // API requests with the JSON null value. By default, fields with empty 2078 // values are omitted from API requests. However, any field with an 2079 // empty value appearing in NullFields will be sent to the server as 2080 // null. It is an error if a field in this list has a non-empty value. 2081 // This may be used to include null fields in Patch requests. 2082 NullFields []string `json:"-"` 2083} 2084 2085func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 2086 type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse 2087 raw := NoMethod(*s) 2088 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2089} 2090 2091// GoogleCloudVisionV1p1beta1Block: Logical element on the page. 2092type GoogleCloudVisionV1p1beta1Block struct { 2093 // BlockType: Detected block type (text, image etc) for this block. 2094 // 2095 // Possible values: 2096 // "UNKNOWN" - Unknown block type. 2097 // "TEXT" - Regular text block. 2098 // "TABLE" - Table block. 2099 // "PICTURE" - Image block. 2100 // "RULER" - Horizontal/vertical line box. 2101 // "BARCODE" - Barcode block. 2102 BlockType string `json:"blockType,omitempty"` 2103 2104 // BoundingBox: The bounding box for the block. The vertices are in the 2105 // order of top-left, top-right, bottom-right, bottom-left. When a 2106 // rotation of the bounding box is detected the rotation is represented 2107 // as around the top-left corner as defined when the text is read in the 2108 // 'natural' orientation. For example: * when the text is horizontal it 2109 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 2110 // around the top-left corner it becomes: 2----3 | | 1----0 and the 2111 // vertex order will still be (0, 1, 2, 3). 2112 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 2113 2114 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 2115 Confidence float64 `json:"confidence,omitempty"` 2116 2117 // Paragraphs: List of paragraphs in this block (if this blocks is of 2118 // type text). 2119 Paragraphs []*GoogleCloudVisionV1p1beta1Paragraph `json:"paragraphs,omitempty"` 2120 2121 // Property: Additional information detected for the block. 2122 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 2123 2124 // ForceSendFields is a list of field names (e.g. "BlockType") to 2125 // unconditionally include in API requests. By default, fields with 2126 // empty or default values are omitted from API requests. However, any 2127 // non-pointer, non-interface field appearing in ForceSendFields will be 2128 // sent to the server regardless of whether the field is empty or not. 2129 // This may be used to include empty fields in Patch requests. 2130 ForceSendFields []string `json:"-"` 2131 2132 // NullFields is a list of field names (e.g. "BlockType") to include in 2133 // API requests with the JSON null value. By default, fields with empty 2134 // values are omitted from API requests. However, any field with an 2135 // empty value appearing in NullFields will be sent to the server as 2136 // null. It is an error if a field in this list has a non-empty value. 2137 // This may be used to include null fields in Patch requests. 2138 NullFields []string `json:"-"` 2139} 2140 2141func (s *GoogleCloudVisionV1p1beta1Block) MarshalJSON() ([]byte, error) { 2142 type NoMethod GoogleCloudVisionV1p1beta1Block 2143 raw := NoMethod(*s) 2144 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2145} 2146 2147func (s *GoogleCloudVisionV1p1beta1Block) UnmarshalJSON(data []byte) error { 2148 type NoMethod GoogleCloudVisionV1p1beta1Block 2149 var s1 struct { 2150 Confidence gensupport.JSONFloat64 `json:"confidence"` 2151 *NoMethod 2152 } 2153 s1.NoMethod = (*NoMethod)(s) 2154 if err := json.Unmarshal(data, &s1); err != nil { 2155 return err 2156 } 2157 s.Confidence = float64(s1.Confidence) 2158 return nil 2159} 2160 2161// GoogleCloudVisionV1p1beta1BoundingPoly: A bounding polygon for the 2162// detected image annotation. 2163type GoogleCloudVisionV1p1beta1BoundingPoly struct { 2164 // NormalizedVertices: The bounding polygon normalized vertices. 2165 NormalizedVertices []*GoogleCloudVisionV1p1beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 2166 2167 // Vertices: The bounding polygon vertices. 2168 Vertices []*GoogleCloudVisionV1p1beta1Vertex `json:"vertices,omitempty"` 2169 2170 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 2171 // to unconditionally include in API requests. By default, fields with 2172 // empty or default values are omitted from API requests. However, any 2173 // non-pointer, non-interface field appearing in ForceSendFields will be 2174 // sent to the server regardless of whether the field is empty or not. 2175 // This may be used to include empty fields in Patch requests. 2176 ForceSendFields []string `json:"-"` 2177 2178 // NullFields is a list of field names (e.g. "NormalizedVertices") to 2179 // include in API requests with the JSON null value. By default, fields 2180 // with empty values are omitted from API requests. However, any field 2181 // with an empty value appearing in NullFields will be sent to the 2182 // server as null. It is an error if a field in this list has a 2183 // non-empty value. This may be used to include null fields in Patch 2184 // requests. 2185 NullFields []string `json:"-"` 2186} 2187 2188func (s *GoogleCloudVisionV1p1beta1BoundingPoly) MarshalJSON() ([]byte, error) { 2189 type NoMethod GoogleCloudVisionV1p1beta1BoundingPoly 2190 raw := NoMethod(*s) 2191 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2192} 2193 2194// GoogleCloudVisionV1p1beta1ColorInfo: Color information consists of 2195// RGB channels, score, and the fraction of the image that the color 2196// occupies in the image. 2197type GoogleCloudVisionV1p1beta1ColorInfo struct { 2198 // Color: RGB components of the color. 2199 Color *Color `json:"color,omitempty"` 2200 2201 // PixelFraction: The fraction of pixels the color occupies in the 2202 // image. Value in range [0, 1]. 2203 PixelFraction float64 `json:"pixelFraction,omitempty"` 2204 2205 // Score: Image-specific score for this color. Value in range [0, 1]. 2206 Score float64 `json:"score,omitempty"` 2207 2208 // ForceSendFields is a list of field names (e.g. "Color") to 2209 // unconditionally include in API requests. By default, fields with 2210 // empty or default values are omitted from API requests. However, any 2211 // non-pointer, non-interface field appearing in ForceSendFields will be 2212 // sent to the server regardless of whether the field is empty or not. 2213 // This may be used to include empty fields in Patch requests. 2214 ForceSendFields []string `json:"-"` 2215 2216 // NullFields is a list of field names (e.g. "Color") to include in API 2217 // requests with the JSON null value. By default, fields with empty 2218 // values are omitted from API requests. However, any field with an 2219 // empty value appearing in NullFields will be sent to the server as 2220 // null. It is an error if a field in this list has a non-empty value. 2221 // This may be used to include null fields in Patch requests. 2222 NullFields []string `json:"-"` 2223} 2224 2225func (s *GoogleCloudVisionV1p1beta1ColorInfo) MarshalJSON() ([]byte, error) { 2226 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 2227 raw := NoMethod(*s) 2228 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2229} 2230 2231func (s *GoogleCloudVisionV1p1beta1ColorInfo) UnmarshalJSON(data []byte) error { 2232 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 2233 var s1 struct { 2234 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 2235 Score gensupport.JSONFloat64 `json:"score"` 2236 *NoMethod 2237 } 2238 s1.NoMethod = (*NoMethod)(s) 2239 if err := json.Unmarshal(data, &s1); err != nil { 2240 return err 2241 } 2242 s.PixelFraction = float64(s1.PixelFraction) 2243 s.Score = float64(s1.Score) 2244 return nil 2245} 2246 2247// GoogleCloudVisionV1p1beta1CropHint: Single crop hint that is used to 2248// generate a new crop when serving an image. 2249type GoogleCloudVisionV1p1beta1CropHint struct { 2250 // BoundingPoly: The bounding polygon for the crop region. The 2251 // coordinates of the bounding box are in the original image's scale. 2252 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2253 2254 // Confidence: Confidence of this being a salient region. Range [0, 1]. 2255 Confidence float64 `json:"confidence,omitempty"` 2256 2257 // ImportanceFraction: Fraction of importance of this salient region 2258 // with respect to the original image. 2259 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 2260 2261 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2262 // unconditionally include in API requests. By default, fields with 2263 // empty or default values are omitted from API requests. However, any 2264 // non-pointer, non-interface field appearing in ForceSendFields will be 2265 // sent to the server regardless of whether the field is empty or not. 2266 // This may be used to include empty fields in Patch requests. 2267 ForceSendFields []string `json:"-"` 2268 2269 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2270 // in API requests with the JSON null value. By default, fields with 2271 // empty values are omitted from API requests. However, any field with 2272 // an empty value appearing in NullFields will be sent to the server as 2273 // null. It is an error if a field in this list has a non-empty value. 2274 // This may be used to include null fields in Patch requests. 2275 NullFields []string `json:"-"` 2276} 2277 2278func (s *GoogleCloudVisionV1p1beta1CropHint) MarshalJSON() ([]byte, error) { 2279 type NoMethod GoogleCloudVisionV1p1beta1CropHint 2280 raw := NoMethod(*s) 2281 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2282} 2283 2284func (s *GoogleCloudVisionV1p1beta1CropHint) UnmarshalJSON(data []byte) error { 2285 type NoMethod GoogleCloudVisionV1p1beta1CropHint 2286 var s1 struct { 2287 Confidence gensupport.JSONFloat64 `json:"confidence"` 2288 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 2289 *NoMethod 2290 } 2291 s1.NoMethod = (*NoMethod)(s) 2292 if err := json.Unmarshal(data, &s1); err != nil { 2293 return err 2294 } 2295 s.Confidence = float64(s1.Confidence) 2296 s.ImportanceFraction = float64(s1.ImportanceFraction) 2297 return nil 2298} 2299 2300// GoogleCloudVisionV1p1beta1CropHintsAnnotation: Set of crop hints that 2301// are used to generate new crops when serving images. 2302type GoogleCloudVisionV1p1beta1CropHintsAnnotation struct { 2303 // CropHints: Crop hint results. 2304 CropHints []*GoogleCloudVisionV1p1beta1CropHint `json:"cropHints,omitempty"` 2305 2306 // ForceSendFields is a list of field names (e.g. "CropHints") to 2307 // unconditionally include in API requests. By default, fields with 2308 // empty or default values are omitted from API requests. However, any 2309 // non-pointer, non-interface field appearing in ForceSendFields will be 2310 // sent to the server regardless of whether the field is empty or not. 2311 // This may be used to include empty fields in Patch requests. 2312 ForceSendFields []string `json:"-"` 2313 2314 // NullFields is a list of field names (e.g. "CropHints") to include in 2315 // API requests with the JSON null value. By default, fields with empty 2316 // values are omitted from API requests. However, any field with an 2317 // empty value appearing in NullFields will be sent to the server as 2318 // null. It is an error if a field in this list has a non-empty value. 2319 // This may be used to include null fields in Patch requests. 2320 NullFields []string `json:"-"` 2321} 2322 2323func (s *GoogleCloudVisionV1p1beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 2324 type NoMethod GoogleCloudVisionV1p1beta1CropHintsAnnotation 2325 raw := NoMethod(*s) 2326 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2327} 2328 2329// GoogleCloudVisionV1p1beta1DominantColorsAnnotation: Set of dominant 2330// colors and their corresponding scores. 2331type GoogleCloudVisionV1p1beta1DominantColorsAnnotation struct { 2332 // Colors: RGB color values with their score and pixel fraction. 2333 Colors []*GoogleCloudVisionV1p1beta1ColorInfo `json:"colors,omitempty"` 2334 2335 // ForceSendFields is a list of field names (e.g. "Colors") to 2336 // unconditionally include in API requests. By default, fields with 2337 // empty or default values are omitted from API requests. However, any 2338 // non-pointer, non-interface field appearing in ForceSendFields will be 2339 // sent to the server regardless of whether the field is empty or not. 2340 // This may be used to include empty fields in Patch requests. 2341 ForceSendFields []string `json:"-"` 2342 2343 // NullFields is a list of field names (e.g. "Colors") to include in API 2344 // requests with the JSON null value. By default, fields with empty 2345 // values are omitted from API requests. However, any field with an 2346 // empty value appearing in NullFields will be sent to the server as 2347 // null. It is an error if a field in this list has a non-empty value. 2348 // This may be used to include null fields in Patch requests. 2349 NullFields []string `json:"-"` 2350} 2351 2352func (s *GoogleCloudVisionV1p1beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 2353 type NoMethod GoogleCloudVisionV1p1beta1DominantColorsAnnotation 2354 raw := NoMethod(*s) 2355 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2356} 2357 2358// GoogleCloudVisionV1p1beta1EntityAnnotation: Set of detected entity 2359// features. 2360type GoogleCloudVisionV1p1beta1EntityAnnotation struct { 2361 // BoundingPoly: Image region to which this entity belongs. Not produced 2362 // for `LABEL_DETECTION` features. 2363 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2364 2365 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 2366 // entity detection in an image. For example, for an image in which the 2367 // "Eiffel Tower" entity is detected, this field represents the 2368 // confidence that there is a tower in the query image. Range [0, 1]. 2369 Confidence float64 `json:"confidence,omitempty"` 2370 2371 // Description: Entity textual description, expressed in its `locale` 2372 // language. 2373 Description string `json:"description,omitempty"` 2374 2375 // Locale: The language code for the locale in which the entity textual 2376 // `description` is expressed. 2377 Locale string `json:"locale,omitempty"` 2378 2379 // Locations: The location information for the detected entity. Multiple 2380 // `LocationInfo` elements can be present because one location may 2381 // indicate the location of the scene in the image, and another location 2382 // may indicate the location of the place where the image was taken. 2383 // Location information is usually present for landmarks. 2384 Locations []*GoogleCloudVisionV1p1beta1LocationInfo `json:"locations,omitempty"` 2385 2386 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 2387 // Graph Search API (https://developers.google.com/knowledge-graph/). 2388 Mid string `json:"mid,omitempty"` 2389 2390 // Properties: Some entities may have optional user-supplied `Property` 2391 // (name/value) fields, such a score or string that qualifies the 2392 // entity. 2393 Properties []*GoogleCloudVisionV1p1beta1Property `json:"properties,omitempty"` 2394 2395 // Score: Overall score of the result. Range [0, 1]. 2396 Score float64 `json:"score,omitempty"` 2397 2398 // Topicality: The relevancy of the ICA (Image Content Annotation) label 2399 // to the image. For example, the relevancy of "tower" is likely higher 2400 // to an image containing the detected "Eiffel Tower" than to an image 2401 // containing a detected distant towering building, even though the 2402 // confidence that there is a tower in each image may be the same. Range 2403 // [0, 1]. 2404 Topicality float64 `json:"topicality,omitempty"` 2405 2406 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2407 // unconditionally include in API requests. By default, fields with 2408 // empty or default values are omitted from API requests. However, any 2409 // non-pointer, non-interface field appearing in ForceSendFields will be 2410 // sent to the server regardless of whether the field is empty or not. 2411 // This may be used to include empty fields in Patch requests. 2412 ForceSendFields []string `json:"-"` 2413 2414 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2415 // in API requests with the JSON null value. By default, fields with 2416 // empty values are omitted from API requests. However, any field with 2417 // an empty value appearing in NullFields will be sent to the server as 2418 // null. It is an error if a field in this list has a non-empty value. 2419 // This may be used to include null fields in Patch requests. 2420 NullFields []string `json:"-"` 2421} 2422 2423func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 2424 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 2425 raw := NoMethod(*s) 2426 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2427} 2428 2429func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 2430 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 2431 var s1 struct { 2432 Confidence gensupport.JSONFloat64 `json:"confidence"` 2433 Score gensupport.JSONFloat64 `json:"score"` 2434 Topicality gensupport.JSONFloat64 `json:"topicality"` 2435 *NoMethod 2436 } 2437 s1.NoMethod = (*NoMethod)(s) 2438 if err := json.Unmarshal(data, &s1); err != nil { 2439 return err 2440 } 2441 s.Confidence = float64(s1.Confidence) 2442 s.Score = float64(s1.Score) 2443 s.Topicality = float64(s1.Topicality) 2444 return nil 2445} 2446 2447// GoogleCloudVisionV1p1beta1FaceAnnotation: A face annotation object 2448// contains the results of face detection. 2449type GoogleCloudVisionV1p1beta1FaceAnnotation struct { 2450 // AngerLikelihood: Anger likelihood. 2451 // 2452 // Possible values: 2453 // "UNKNOWN" - Unknown likelihood. 2454 // "VERY_UNLIKELY" - It is very unlikely. 2455 // "UNLIKELY" - It is unlikely. 2456 // "POSSIBLE" - It is possible. 2457 // "LIKELY" - It is likely. 2458 // "VERY_LIKELY" - It is very likely. 2459 AngerLikelihood string `json:"angerLikelihood,omitempty"` 2460 2461 // BlurredLikelihood: Blurred likelihood. 2462 // 2463 // Possible values: 2464 // "UNKNOWN" - Unknown likelihood. 2465 // "VERY_UNLIKELY" - It is very unlikely. 2466 // "UNLIKELY" - It is unlikely. 2467 // "POSSIBLE" - It is possible. 2468 // "LIKELY" - It is likely. 2469 // "VERY_LIKELY" - It is very likely. 2470 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 2471 2472 // BoundingPoly: The bounding polygon around the face. The coordinates 2473 // of the bounding box are in the original image's scale. The bounding 2474 // box is computed to "frame" the face in accordance with human 2475 // expectations. It is based on the landmarker results. Note that one or 2476 // more x and/or y coordinates may not be generated in the 2477 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 2478 // appears in the image to be annotated. 2479 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2480 2481 // DetectionConfidence: Detection confidence. Range [0, 1]. 2482 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 2483 2484 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 2485 // than the `boundingPoly`, and encloses only the skin part of the face. 2486 // Typically, it is used to eliminate the face from any image analysis 2487 // that detects the "amount of skin" visible in an image. It is not 2488 // based on the landmarker results, only on the initial face detection, 2489 // hence the fd (face detection) prefix. 2490 FdBoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 2491 2492 // HeadwearLikelihood: Headwear likelihood. 2493 // 2494 // Possible values: 2495 // "UNKNOWN" - Unknown likelihood. 2496 // "VERY_UNLIKELY" - It is very unlikely. 2497 // "UNLIKELY" - It is unlikely. 2498 // "POSSIBLE" - It is possible. 2499 // "LIKELY" - It is likely. 2500 // "VERY_LIKELY" - It is very likely. 2501 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 2502 2503 // JoyLikelihood: Joy likelihood. 2504 // 2505 // Possible values: 2506 // "UNKNOWN" - Unknown likelihood. 2507 // "VERY_UNLIKELY" - It is very unlikely. 2508 // "UNLIKELY" - It is unlikely. 2509 // "POSSIBLE" - It is possible. 2510 // "LIKELY" - It is likely. 2511 // "VERY_LIKELY" - It is very likely. 2512 JoyLikelihood string `json:"joyLikelihood,omitempty"` 2513 2514 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 2515 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 2516 2517 // Landmarks: Detected face landmarks. 2518 Landmarks []*GoogleCloudVisionV1p1beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 2519 2520 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 2521 // that the face is pointing relative to the vertical plane 2522 // perpendicular to the image. Range [-180,180]. 2523 PanAngle float64 `json:"panAngle,omitempty"` 2524 2525 // RollAngle: Roll angle, which indicates the amount of 2526 // clockwise/anti-clockwise rotation of the face relative to the image 2527 // vertical about the axis perpendicular to the face. Range [-180,180]. 2528 RollAngle float64 `json:"rollAngle,omitempty"` 2529 2530 // SorrowLikelihood: Sorrow likelihood. 2531 // 2532 // Possible values: 2533 // "UNKNOWN" - Unknown likelihood. 2534 // "VERY_UNLIKELY" - It is very unlikely. 2535 // "UNLIKELY" - It is unlikely. 2536 // "POSSIBLE" - It is possible. 2537 // "LIKELY" - It is likely. 2538 // "VERY_LIKELY" - It is very likely. 2539 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 2540 2541 // SurpriseLikelihood: Surprise likelihood. 2542 // 2543 // Possible values: 2544 // "UNKNOWN" - Unknown likelihood. 2545 // "VERY_UNLIKELY" - It is very unlikely. 2546 // "UNLIKELY" - It is unlikely. 2547 // "POSSIBLE" - It is possible. 2548 // "LIKELY" - It is likely. 2549 // "VERY_LIKELY" - It is very likely. 2550 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 2551 2552 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 2553 // that the face is pointing relative to the image's horizontal plane. 2554 // Range [-180,180]. 2555 TiltAngle float64 `json:"tiltAngle,omitempty"` 2556 2557 // UnderExposedLikelihood: Under-exposed likelihood. 2558 // 2559 // Possible values: 2560 // "UNKNOWN" - Unknown likelihood. 2561 // "VERY_UNLIKELY" - It is very unlikely. 2562 // "UNLIKELY" - It is unlikely. 2563 // "POSSIBLE" - It is possible. 2564 // "LIKELY" - It is likely. 2565 // "VERY_LIKELY" - It is very likely. 2566 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 2567 2568 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 2569 // unconditionally include in API requests. By default, fields with 2570 // empty or default values are omitted from API requests. However, any 2571 // non-pointer, non-interface field appearing in ForceSendFields will be 2572 // sent to the server regardless of whether the field is empty or not. 2573 // This may be used to include empty fields in Patch requests. 2574 ForceSendFields []string `json:"-"` 2575 2576 // NullFields is a list of field names (e.g. "AngerLikelihood") to 2577 // include in API requests with the JSON null value. By default, fields 2578 // with empty values are omitted from API requests. However, any field 2579 // with an empty value appearing in NullFields will be sent to the 2580 // server as null. It is an error if a field in this list has a 2581 // non-empty value. This may be used to include null fields in Patch 2582 // requests. 2583 NullFields []string `json:"-"` 2584} 2585 2586func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 2587 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2588 raw := NoMethod(*s) 2589 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2590} 2591 2592func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 2593 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2594 var s1 struct { 2595 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 2596 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 2597 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 2598 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 2599 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 2600 *NoMethod 2601 } 2602 s1.NoMethod = (*NoMethod)(s) 2603 if err := json.Unmarshal(data, &s1); err != nil { 2604 return err 2605 } 2606 s.DetectionConfidence = float64(s1.DetectionConfidence) 2607 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 2608 s.PanAngle = float64(s1.PanAngle) 2609 s.RollAngle = float64(s1.RollAngle) 2610 s.TiltAngle = float64(s1.TiltAngle) 2611 return nil 2612} 2613 2614// GoogleCloudVisionV1p1beta1FaceAnnotationLandmark: A face-specific 2615// landmark (for example, a face feature). 2616type GoogleCloudVisionV1p1beta1FaceAnnotationLandmark struct { 2617 // Position: Face landmark position. 2618 Position *GoogleCloudVisionV1p1beta1Position `json:"position,omitempty"` 2619 2620 // Type: Face landmark type. 2621 // 2622 // Possible values: 2623 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 2624 // filled. 2625 // "LEFT_EYE" - Left eye. 2626 // "RIGHT_EYE" - Right eye. 2627 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 2628 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 2629 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 2630 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 2631 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 2632 // "NOSE_TIP" - Nose tip. 2633 // "UPPER_LIP" - Upper lip. 2634 // "LOWER_LIP" - Lower lip. 2635 // "MOUTH_LEFT" - Mouth left. 2636 // "MOUTH_RIGHT" - Mouth right. 2637 // "MOUTH_CENTER" - Mouth center. 2638 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 2639 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 2640 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 2641 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 2642 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 2643 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 2644 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 2645 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 2646 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 2647 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 2648 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 2649 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 2650 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 2651 // "LEFT_EAR_TRAGION" - Left ear tragion. 2652 // "RIGHT_EAR_TRAGION" - Right ear tragion. 2653 // "LEFT_EYE_PUPIL" - Left eye pupil. 2654 // "RIGHT_EYE_PUPIL" - Right eye pupil. 2655 // "FOREHEAD_GLABELLA" - Forehead glabella. 2656 // "CHIN_GNATHION" - Chin gnathion. 2657 // "CHIN_LEFT_GONION" - Chin left gonion. 2658 // "CHIN_RIGHT_GONION" - Chin right gonion. 2659 // "LEFT_CHEEK_CENTER" - Left cheek center. 2660 // "RIGHT_CHEEK_CENTER" - Right cheek center. 2661 Type string `json:"type,omitempty"` 2662 2663 // ForceSendFields is a list of field names (e.g. "Position") to 2664 // unconditionally include in API requests. By default, fields with 2665 // empty or default values are omitted from API requests. However, any 2666 // non-pointer, non-interface field appearing in ForceSendFields will be 2667 // sent to the server regardless of whether the field is empty or not. 2668 // This may be used to include empty fields in Patch requests. 2669 ForceSendFields []string `json:"-"` 2670 2671 // NullFields is a list of field names (e.g. "Position") to include in 2672 // API requests with the JSON null value. By default, fields with empty 2673 // values are omitted from API requests. However, any field with an 2674 // empty value appearing in NullFields will be sent to the server as 2675 // null. It is an error if a field in this list has a non-empty value. 2676 // This may be used to include null fields in Patch requests. 2677 NullFields []string `json:"-"` 2678} 2679 2680func (s *GoogleCloudVisionV1p1beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 2681 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotationLandmark 2682 raw := NoMethod(*s) 2683 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2684} 2685 2686// GoogleCloudVisionV1p1beta1GcsDestination: The Google Cloud Storage 2687// location where the output will be written to. 2688type GoogleCloudVisionV1p1beta1GcsDestination struct { 2689 // Uri: Google Cloud Storage URI prefix where the results will be 2690 // stored. Results will be in JSON format and preceded by its 2691 // corresponding input URI prefix. This field can either represent a gcs 2692 // file prefix or gcs directory. In either case, the uri should be 2693 // unique because in order to get all of the output files, you will need 2694 // to do a wildcard gcs search on the uri prefix you provide. Examples: 2695 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 2696 // will be created in gs://bucket-name/here/ and the names of the output 2697 // files will begin with "filenameprefix". * Directory Prefix: 2698 // gs://bucket-name/some/location/ The output files will be created in 2699 // gs://bucket-name/some/location/ and the names of the output files 2700 // could be anything because there was no filename prefix specified. If 2701 // multiple outputs, each response is still AnnotateFileResponse, each 2702 // of which contains some subset of the full list of 2703 // AnnotateImageResponse. Multiple outputs can happen if, for example, 2704 // the output JSON is too large and overflows into multiple sharded 2705 // files. 2706 Uri string `json:"uri,omitempty"` 2707 2708 // ForceSendFields is a list of field names (e.g. "Uri") to 2709 // unconditionally include in API requests. By default, fields with 2710 // empty or default values are omitted from API requests. However, any 2711 // non-pointer, non-interface field appearing in ForceSendFields will be 2712 // sent to the server regardless of whether the field is empty or not. 2713 // This may be used to include empty fields in Patch requests. 2714 ForceSendFields []string `json:"-"` 2715 2716 // NullFields is a list of field names (e.g. "Uri") to include in API 2717 // requests with the JSON null value. By default, fields with empty 2718 // values are omitted from API requests. However, any field with an 2719 // empty value appearing in NullFields will be sent to the server as 2720 // null. It is an error if a field in this list has a non-empty value. 2721 // This may be used to include null fields in Patch requests. 2722 NullFields []string `json:"-"` 2723} 2724 2725func (s *GoogleCloudVisionV1p1beta1GcsDestination) MarshalJSON() ([]byte, error) { 2726 type NoMethod GoogleCloudVisionV1p1beta1GcsDestination 2727 raw := NoMethod(*s) 2728 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2729} 2730 2731// GoogleCloudVisionV1p1beta1GcsSource: The Google Cloud Storage 2732// location where the input will be read from. 2733type GoogleCloudVisionV1p1beta1GcsSource struct { 2734 // Uri: Google Cloud Storage URI for the input file. This must only be a 2735 // Google Cloud Storage object. Wildcards are not currently supported. 2736 Uri string `json:"uri,omitempty"` 2737 2738 // ForceSendFields is a list of field names (e.g. "Uri") to 2739 // unconditionally include in API requests. By default, fields with 2740 // empty or default values are omitted from API requests. However, any 2741 // non-pointer, non-interface field appearing in ForceSendFields will be 2742 // sent to the server regardless of whether the field is empty or not. 2743 // This may be used to include empty fields in Patch requests. 2744 ForceSendFields []string `json:"-"` 2745 2746 // NullFields is a list of field names (e.g. "Uri") to include in API 2747 // requests with the JSON null value. By default, fields with empty 2748 // values are omitted from API requests. However, any field with an 2749 // empty value appearing in NullFields will be sent to the server as 2750 // null. It is an error if a field in this list has a non-empty value. 2751 // This may be used to include null fields in Patch requests. 2752 NullFields []string `json:"-"` 2753} 2754 2755func (s *GoogleCloudVisionV1p1beta1GcsSource) MarshalJSON() ([]byte, error) { 2756 type NoMethod GoogleCloudVisionV1p1beta1GcsSource 2757 raw := NoMethod(*s) 2758 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2759} 2760 2761// GoogleCloudVisionV1p1beta1ImageAnnotationContext: If an image was 2762// produced from a file (e.g. a PDF), this message gives information 2763// about the source of that image. 2764type GoogleCloudVisionV1p1beta1ImageAnnotationContext struct { 2765 // PageNumber: If the file was a PDF or TIFF, this field gives the page 2766 // number within the file used to produce the image. 2767 PageNumber int64 `json:"pageNumber,omitempty"` 2768 2769 // Uri: The URI of the file used to produce the image. 2770 Uri string `json:"uri,omitempty"` 2771 2772 // ForceSendFields is a list of field names (e.g. "PageNumber") to 2773 // unconditionally include in API requests. By default, fields with 2774 // empty or default values are omitted from API requests. However, any 2775 // non-pointer, non-interface field appearing in ForceSendFields will be 2776 // sent to the server regardless of whether the field is empty or not. 2777 // This may be used to include empty fields in Patch requests. 2778 ForceSendFields []string `json:"-"` 2779 2780 // NullFields is a list of field names (e.g. "PageNumber") to include in 2781 // API requests with the JSON null value. By default, fields with empty 2782 // values are omitted from API requests. However, any field with an 2783 // empty value appearing in NullFields will be sent to the server as 2784 // null. It is an error if a field in this list has a non-empty value. 2785 // This may be used to include null fields in Patch requests. 2786 NullFields []string `json:"-"` 2787} 2788 2789func (s *GoogleCloudVisionV1p1beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 2790 type NoMethod GoogleCloudVisionV1p1beta1ImageAnnotationContext 2791 raw := NoMethod(*s) 2792 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2793} 2794 2795// GoogleCloudVisionV1p1beta1ImageProperties: Stores image properties, 2796// such as dominant colors. 2797type GoogleCloudVisionV1p1beta1ImageProperties struct { 2798 // DominantColors: If present, dominant colors completed successfully. 2799 DominantColors *GoogleCloudVisionV1p1beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 2800 2801 // ForceSendFields is a list of field names (e.g. "DominantColors") to 2802 // unconditionally include in API requests. By default, fields with 2803 // empty or default values are omitted from API requests. However, any 2804 // non-pointer, non-interface field appearing in ForceSendFields will be 2805 // sent to the server regardless of whether the field is empty or not. 2806 // This may be used to include empty fields in Patch requests. 2807 ForceSendFields []string `json:"-"` 2808 2809 // NullFields is a list of field names (e.g. "DominantColors") to 2810 // include in API requests with the JSON null value. By default, fields 2811 // with empty values are omitted from API requests. However, any field 2812 // with an empty value appearing in NullFields will be sent to the 2813 // server as null. It is an error if a field in this list has a 2814 // non-empty value. This may be used to include null fields in Patch 2815 // requests. 2816 NullFields []string `json:"-"` 2817} 2818 2819func (s *GoogleCloudVisionV1p1beta1ImageProperties) MarshalJSON() ([]byte, error) { 2820 type NoMethod GoogleCloudVisionV1p1beta1ImageProperties 2821 raw := NoMethod(*s) 2822 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2823} 2824 2825// GoogleCloudVisionV1p1beta1InputConfig: The desired input location and 2826// metadata. 2827type GoogleCloudVisionV1p1beta1InputConfig struct { 2828 // Content: File content, represented as a stream of bytes. Note: As 2829 // with all `bytes` fields, protobuffers use a pure binary 2830 // representation, whereas JSON representations use base64. Currently, 2831 // this field only works for BatchAnnotateFiles requests. It does not 2832 // work for AsyncBatchAnnotateFiles requests. 2833 Content string `json:"content,omitempty"` 2834 2835 // GcsSource: The Google Cloud Storage location to read the input from. 2836 GcsSource *GoogleCloudVisionV1p1beta1GcsSource `json:"gcsSource,omitempty"` 2837 2838 // MimeType: The type of the file. Currently only "application/pdf", 2839 // "image/tiff" and "image/gif" are supported. Wildcards are not 2840 // supported. 2841 MimeType string `json:"mimeType,omitempty"` 2842 2843 // ForceSendFields is a list of field names (e.g. "Content") to 2844 // unconditionally include in API requests. By default, fields with 2845 // empty or default values are omitted from API requests. However, any 2846 // non-pointer, non-interface field appearing in ForceSendFields will be 2847 // sent to the server regardless of whether the field is empty or not. 2848 // This may be used to include empty fields in Patch requests. 2849 ForceSendFields []string `json:"-"` 2850 2851 // NullFields is a list of field names (e.g. "Content") to include in 2852 // API requests with the JSON null value. By default, fields with empty 2853 // values are omitted from API requests. However, any field with an 2854 // empty value appearing in NullFields will be sent to the server as 2855 // null. It is an error if a field in this list has a non-empty value. 2856 // This may be used to include null fields in Patch requests. 2857 NullFields []string `json:"-"` 2858} 2859 2860func (s *GoogleCloudVisionV1p1beta1InputConfig) MarshalJSON() ([]byte, error) { 2861 type NoMethod GoogleCloudVisionV1p1beta1InputConfig 2862 raw := NoMethod(*s) 2863 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2864} 2865 2866// GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation: Set of detected 2867// objects with bounding boxes. 2868type GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation struct { 2869 // BoundingPoly: Image region to which this object belongs. This must be 2870 // populated. 2871 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2872 2873 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 2874 // For more information, see 2875 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 2876 LanguageCode string `json:"languageCode,omitempty"` 2877 2878 // Mid: Object ID that should align with EntityAnnotation mid. 2879 Mid string `json:"mid,omitempty"` 2880 2881 // Name: Object name, expressed in its `language_code` language. 2882 Name string `json:"name,omitempty"` 2883 2884 // Score: Score of the result. Range [0, 1]. 2885 Score float64 `json:"score,omitempty"` 2886 2887 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2888 // unconditionally include in API requests. By default, fields with 2889 // empty or default values are omitted from API requests. However, any 2890 // non-pointer, non-interface field appearing in ForceSendFields will be 2891 // sent to the server regardless of whether the field is empty or not. 2892 // This may be used to include empty fields in Patch requests. 2893 ForceSendFields []string `json:"-"` 2894 2895 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2896 // in API requests with the JSON null value. By default, fields with 2897 // empty values are omitted from API requests. However, any field with 2898 // an empty value appearing in NullFields will be sent to the server as 2899 // null. It is an error if a field in this list has a non-empty value. 2900 // This may be used to include null fields in Patch requests. 2901 NullFields []string `json:"-"` 2902} 2903 2904func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 2905 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 2906 raw := NoMethod(*s) 2907 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2908} 2909 2910func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 2911 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 2912 var s1 struct { 2913 Score gensupport.JSONFloat64 `json:"score"` 2914 *NoMethod 2915 } 2916 s1.NoMethod = (*NoMethod)(s) 2917 if err := json.Unmarshal(data, &s1); err != nil { 2918 return err 2919 } 2920 s.Score = float64(s1.Score) 2921 return nil 2922} 2923 2924// GoogleCloudVisionV1p1beta1LocationInfo: Detected entity location 2925// information. 2926type GoogleCloudVisionV1p1beta1LocationInfo struct { 2927 // LatLng: lat/long location coordinates. 2928 LatLng *LatLng `json:"latLng,omitempty"` 2929 2930 // ForceSendFields is a list of field names (e.g. "LatLng") to 2931 // unconditionally include in API requests. By default, fields with 2932 // empty or default values are omitted from API requests. However, any 2933 // non-pointer, non-interface field appearing in ForceSendFields will be 2934 // sent to the server regardless of whether the field is empty or not. 2935 // This may be used to include empty fields in Patch requests. 2936 ForceSendFields []string `json:"-"` 2937 2938 // NullFields is a list of field names (e.g. "LatLng") to include in API 2939 // requests with the JSON null value. By default, fields with empty 2940 // values are omitted from API requests. However, any field with an 2941 // empty value appearing in NullFields will be sent to the server as 2942 // null. It is an error if a field in this list has a non-empty value. 2943 // This may be used to include null fields in Patch requests. 2944 NullFields []string `json:"-"` 2945} 2946 2947func (s *GoogleCloudVisionV1p1beta1LocationInfo) MarshalJSON() ([]byte, error) { 2948 type NoMethod GoogleCloudVisionV1p1beta1LocationInfo 2949 raw := NoMethod(*s) 2950 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2951} 2952 2953// GoogleCloudVisionV1p1beta1NormalizedVertex: A vertex represents a 2D 2954// point in the image. NOTE: the normalized vertex coordinates are 2955// relative to the original image and range from 0 to 1. 2956type GoogleCloudVisionV1p1beta1NormalizedVertex struct { 2957 // X: X coordinate. 2958 X float64 `json:"x,omitempty"` 2959 2960 // Y: Y coordinate. 2961 Y float64 `json:"y,omitempty"` 2962 2963 // ForceSendFields is a list of field names (e.g. "X") to 2964 // unconditionally include in API requests. By default, fields with 2965 // empty or default values are omitted from API requests. However, any 2966 // non-pointer, non-interface field appearing in ForceSendFields will be 2967 // sent to the server regardless of whether the field is empty or not. 2968 // This may be used to include empty fields in Patch requests. 2969 ForceSendFields []string `json:"-"` 2970 2971 // NullFields is a list of field names (e.g. "X") to include in API 2972 // requests with the JSON null value. By default, fields with empty 2973 // values are omitted from API requests. However, any field with an 2974 // empty value appearing in NullFields will be sent to the server as 2975 // null. It is an error if a field in this list has a non-empty value. 2976 // This may be used to include null fields in Patch requests. 2977 NullFields []string `json:"-"` 2978} 2979 2980func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 2981 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 2982 raw := NoMethod(*s) 2983 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2984} 2985 2986func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 2987 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 2988 var s1 struct { 2989 X gensupport.JSONFloat64 `json:"x"` 2990 Y gensupport.JSONFloat64 `json:"y"` 2991 *NoMethod 2992 } 2993 s1.NoMethod = (*NoMethod)(s) 2994 if err := json.Unmarshal(data, &s1); err != nil { 2995 return err 2996 } 2997 s.X = float64(s1.X) 2998 s.Y = float64(s1.Y) 2999 return nil 3000} 3001 3002// GoogleCloudVisionV1p1beta1OperationMetadata: Contains metadata for 3003// the BatchAnnotateImages operation. 3004type GoogleCloudVisionV1p1beta1OperationMetadata struct { 3005 // CreateTime: The time when the batch request was received. 3006 CreateTime string `json:"createTime,omitempty"` 3007 3008 // State: Current state of the batch operation. 3009 // 3010 // Possible values: 3011 // "STATE_UNSPECIFIED" - Invalid. 3012 // "CREATED" - Request is received. 3013 // "RUNNING" - Request is actively being processed. 3014 // "DONE" - The batch processing is done. 3015 // "CANCELLED" - The batch processing was cancelled. 3016 State string `json:"state,omitempty"` 3017 3018 // UpdateTime: The time when the operation result was last updated. 3019 UpdateTime string `json:"updateTime,omitempty"` 3020 3021 // ForceSendFields is a list of field names (e.g. "CreateTime") to 3022 // unconditionally include in API requests. By default, fields with 3023 // empty or default values are omitted from API requests. However, any 3024 // non-pointer, non-interface field appearing in ForceSendFields will be 3025 // sent to the server regardless of whether the field is empty or not. 3026 // This may be used to include empty fields in Patch requests. 3027 ForceSendFields []string `json:"-"` 3028 3029 // NullFields is a list of field names (e.g. "CreateTime") to include in 3030 // API requests with the JSON null value. By default, fields with empty 3031 // values are omitted from API requests. However, any field with an 3032 // empty value appearing in NullFields will be sent to the server as 3033 // null. It is an error if a field in this list has a non-empty value. 3034 // This may be used to include null fields in Patch requests. 3035 NullFields []string `json:"-"` 3036} 3037 3038func (s *GoogleCloudVisionV1p1beta1OperationMetadata) MarshalJSON() ([]byte, error) { 3039 type NoMethod GoogleCloudVisionV1p1beta1OperationMetadata 3040 raw := NoMethod(*s) 3041 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3042} 3043 3044// GoogleCloudVisionV1p1beta1OutputConfig: The desired output location 3045// and metadata. 3046type GoogleCloudVisionV1p1beta1OutputConfig struct { 3047 // BatchSize: The max number of response protos to put into each output 3048 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 3049 // not specified, the default value is 20. For example, for one pdf file 3050 // with 100 pages, 100 response protos will be generated. If 3051 // `batch_size` = 20, then 5 json files each containing 20 response 3052 // protos will be written under the prefix `gcs_destination`.`uri`. 3053 // Currently, batch_size only applies to GcsDestination, with potential 3054 // future support for other output configurations. 3055 BatchSize int64 `json:"batchSize,omitempty"` 3056 3057 // GcsDestination: The Google Cloud Storage location to write the 3058 // output(s) to. 3059 GcsDestination *GoogleCloudVisionV1p1beta1GcsDestination `json:"gcsDestination,omitempty"` 3060 3061 // ForceSendFields is a list of field names (e.g. "BatchSize") to 3062 // unconditionally include in API requests. By default, fields with 3063 // empty or default values are omitted from API requests. However, any 3064 // non-pointer, non-interface field appearing in ForceSendFields will be 3065 // sent to the server regardless of whether the field is empty or not. 3066 // This may be used to include empty fields in Patch requests. 3067 ForceSendFields []string `json:"-"` 3068 3069 // NullFields is a list of field names (e.g. "BatchSize") to include in 3070 // API requests with the JSON null value. By default, fields with empty 3071 // values are omitted from API requests. However, any field with an 3072 // empty value appearing in NullFields will be sent to the server as 3073 // null. It is an error if a field in this list has a non-empty value. 3074 // This may be used to include null fields in Patch requests. 3075 NullFields []string `json:"-"` 3076} 3077 3078func (s *GoogleCloudVisionV1p1beta1OutputConfig) MarshalJSON() ([]byte, error) { 3079 type NoMethod GoogleCloudVisionV1p1beta1OutputConfig 3080 raw := NoMethod(*s) 3081 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3082} 3083 3084// GoogleCloudVisionV1p1beta1Page: Detected page from OCR. 3085type GoogleCloudVisionV1p1beta1Page struct { 3086 // Blocks: List of blocks of text, images etc on this page. 3087 Blocks []*GoogleCloudVisionV1p1beta1Block `json:"blocks,omitempty"` 3088 3089 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 3090 Confidence float64 `json:"confidence,omitempty"` 3091 3092 // Height: Page height. For PDFs the unit is points. For images 3093 // (including TIFFs) the unit is pixels. 3094 Height int64 `json:"height,omitempty"` 3095 3096 // Property: Additional information detected on the page. 3097 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3098 3099 // Width: Page width. For PDFs the unit is points. For images (including 3100 // TIFFs) the unit is pixels. 3101 Width int64 `json:"width,omitempty"` 3102 3103 // ForceSendFields is a list of field names (e.g. "Blocks") to 3104 // unconditionally include in API requests. By default, fields with 3105 // empty or default values are omitted from API requests. However, any 3106 // non-pointer, non-interface field appearing in ForceSendFields will be 3107 // sent to the server regardless of whether the field is empty or not. 3108 // This may be used to include empty fields in Patch requests. 3109 ForceSendFields []string `json:"-"` 3110 3111 // NullFields is a list of field names (e.g. "Blocks") to include in API 3112 // requests with the JSON null value. By default, fields with empty 3113 // values are omitted from API requests. However, any field with an 3114 // empty value appearing in NullFields will be sent to the server as 3115 // null. It is an error if a field in this list has a non-empty value. 3116 // This may be used to include null fields in Patch requests. 3117 NullFields []string `json:"-"` 3118} 3119 3120func (s *GoogleCloudVisionV1p1beta1Page) MarshalJSON() ([]byte, error) { 3121 type NoMethod GoogleCloudVisionV1p1beta1Page 3122 raw := NoMethod(*s) 3123 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3124} 3125 3126func (s *GoogleCloudVisionV1p1beta1Page) UnmarshalJSON(data []byte) error { 3127 type NoMethod GoogleCloudVisionV1p1beta1Page 3128 var s1 struct { 3129 Confidence gensupport.JSONFloat64 `json:"confidence"` 3130 *NoMethod 3131 } 3132 s1.NoMethod = (*NoMethod)(s) 3133 if err := json.Unmarshal(data, &s1); err != nil { 3134 return err 3135 } 3136 s.Confidence = float64(s1.Confidence) 3137 return nil 3138} 3139 3140// GoogleCloudVisionV1p1beta1Paragraph: Structural unit of text 3141// representing a number of words in certain order. 3142type GoogleCloudVisionV1p1beta1Paragraph struct { 3143 // BoundingBox: The bounding box for the paragraph. The vertices are in 3144 // the order of top-left, top-right, bottom-right, bottom-left. When a 3145 // rotation of the bounding box is detected the rotation is represented 3146 // as around the top-left corner as defined when the text is read in the 3147 // 'natural' orientation. For example: * when the text is horizontal it 3148 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 3149 // around the top-left corner it becomes: 2----3 | | 1----0 and the 3150 // vertex order will still be (0, 1, 2, 3). 3151 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3152 3153 // Confidence: Confidence of the OCR results for the paragraph. Range 3154 // [0, 1]. 3155 Confidence float64 `json:"confidence,omitempty"` 3156 3157 // Property: Additional information detected for the paragraph. 3158 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3159 3160 // Words: List of all words in this paragraph. 3161 Words []*GoogleCloudVisionV1p1beta1Word `json:"words,omitempty"` 3162 3163 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3164 // unconditionally include in API requests. By default, fields with 3165 // empty or default values are omitted from API requests. However, any 3166 // non-pointer, non-interface field appearing in ForceSendFields will be 3167 // sent to the server regardless of whether the field is empty or not. 3168 // This may be used to include empty fields in Patch requests. 3169 ForceSendFields []string `json:"-"` 3170 3171 // NullFields is a list of field names (e.g. "BoundingBox") to include 3172 // in API requests with the JSON null value. By default, fields with 3173 // empty values are omitted from API requests. However, any field with 3174 // an empty value appearing in NullFields will be sent to the server as 3175 // null. It is an error if a field in this list has a non-empty value. 3176 // This may be used to include null fields in Patch requests. 3177 NullFields []string `json:"-"` 3178} 3179 3180func (s *GoogleCloudVisionV1p1beta1Paragraph) MarshalJSON() ([]byte, error) { 3181 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 3182 raw := NoMethod(*s) 3183 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3184} 3185 3186func (s *GoogleCloudVisionV1p1beta1Paragraph) UnmarshalJSON(data []byte) error { 3187 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 3188 var s1 struct { 3189 Confidence gensupport.JSONFloat64 `json:"confidence"` 3190 *NoMethod 3191 } 3192 s1.NoMethod = (*NoMethod)(s) 3193 if err := json.Unmarshal(data, &s1); err != nil { 3194 return err 3195 } 3196 s.Confidence = float64(s1.Confidence) 3197 return nil 3198} 3199 3200// GoogleCloudVisionV1p1beta1Position: A 3D position in the image, used 3201// primarily for Face detection landmarks. A valid Position must have 3202// both x and y coordinates. The position coordinates are in the same 3203// scale as the original image. 3204type GoogleCloudVisionV1p1beta1Position struct { 3205 // X: X coordinate. 3206 X float64 `json:"x,omitempty"` 3207 3208 // Y: Y coordinate. 3209 Y float64 `json:"y,omitempty"` 3210 3211 // Z: Z coordinate (or depth). 3212 Z float64 `json:"z,omitempty"` 3213 3214 // ForceSendFields is a list of field names (e.g. "X") to 3215 // unconditionally include in API requests. By default, fields with 3216 // empty or default values are omitted from API requests. However, any 3217 // non-pointer, non-interface field appearing in ForceSendFields will be 3218 // sent to the server regardless of whether the field is empty or not. 3219 // This may be used to include empty fields in Patch requests. 3220 ForceSendFields []string `json:"-"` 3221 3222 // NullFields is a list of field names (e.g. "X") to include in API 3223 // requests with the JSON null value. By default, fields with empty 3224 // values are omitted from API requests. However, any field with an 3225 // empty value appearing in NullFields will be sent to the server as 3226 // null. It is an error if a field in this list has a non-empty value. 3227 // This may be used to include null fields in Patch requests. 3228 NullFields []string `json:"-"` 3229} 3230 3231func (s *GoogleCloudVisionV1p1beta1Position) MarshalJSON() ([]byte, error) { 3232 type NoMethod GoogleCloudVisionV1p1beta1Position 3233 raw := NoMethod(*s) 3234 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3235} 3236 3237func (s *GoogleCloudVisionV1p1beta1Position) UnmarshalJSON(data []byte) error { 3238 type NoMethod GoogleCloudVisionV1p1beta1Position 3239 var s1 struct { 3240 X gensupport.JSONFloat64 `json:"x"` 3241 Y gensupport.JSONFloat64 `json:"y"` 3242 Z gensupport.JSONFloat64 `json:"z"` 3243 *NoMethod 3244 } 3245 s1.NoMethod = (*NoMethod)(s) 3246 if err := json.Unmarshal(data, &s1); err != nil { 3247 return err 3248 } 3249 s.X = float64(s1.X) 3250 s.Y = float64(s1.Y) 3251 s.Z = float64(s1.Z) 3252 return nil 3253} 3254 3255// GoogleCloudVisionV1p1beta1Product: A Product contains 3256// ReferenceImages. 3257type GoogleCloudVisionV1p1beta1Product struct { 3258 // Description: User-provided metadata to be stored with this product. 3259 // Must be at most 4096 characters long. 3260 Description string `json:"description,omitempty"` 3261 3262 // DisplayName: The user-provided name for this Product. Must not be 3263 // empty. Must be at most 4096 characters long. 3264 DisplayName string `json:"displayName,omitempty"` 3265 3266 // Name: The resource name of the product. Format is: 3267 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 3268 // field is ignored when creating a product. 3269 Name string `json:"name,omitempty"` 3270 3271 // ProductCategory: Immutable. The category for the product identified 3272 // by the reference image. This should be one of "homegoods-v2", 3273 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 3274 // legacy categories "homegoods", "apparel", and "toys" are still 3275 // supported, but these should not be used for new products. 3276 ProductCategory string `json:"productCategory,omitempty"` 3277 3278 // ProductLabels: Key-value pairs that can be attached to a product. At 3279 // query time, constraints can be specified based on the product_labels. 3280 // Note that integer values can be provided as strings, e.g. "1199". 3281 // Only strings with integer values can match a range-based restriction 3282 // which is to be supported soon. Multiple values can be assigned to the 3283 // same key. One product may have up to 500 product_labels. Notice that 3284 // the total number of distinct product_labels over all products in one 3285 // ProductSet cannot exceed 1M, otherwise the product search pipeline 3286 // will refuse to work for that ProductSet. 3287 ProductLabels []*GoogleCloudVisionV1p1beta1ProductKeyValue `json:"productLabels,omitempty"` 3288 3289 // ForceSendFields is a list of field names (e.g. "Description") to 3290 // unconditionally include in API requests. By default, fields with 3291 // empty or default values are omitted from API requests. However, any 3292 // non-pointer, non-interface field appearing in ForceSendFields will be 3293 // sent to the server regardless of whether the field is empty or not. 3294 // This may be used to include empty fields in Patch requests. 3295 ForceSendFields []string `json:"-"` 3296 3297 // NullFields is a list of field names (e.g. "Description") to include 3298 // in API requests with the JSON null value. By default, fields with 3299 // empty values are omitted from API requests. However, any field with 3300 // an empty value appearing in NullFields will be sent to the server as 3301 // null. It is an error if a field in this list has a non-empty value. 3302 // This may be used to include null fields in Patch requests. 3303 NullFields []string `json:"-"` 3304} 3305 3306func (s *GoogleCloudVisionV1p1beta1Product) MarshalJSON() ([]byte, error) { 3307 type NoMethod GoogleCloudVisionV1p1beta1Product 3308 raw := NoMethod(*s) 3309 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3310} 3311 3312// GoogleCloudVisionV1p1beta1ProductKeyValue: A product label 3313// represented as a key-value pair. 3314type GoogleCloudVisionV1p1beta1ProductKeyValue struct { 3315 // Key: The key of the label attached to the product. Cannot be empty 3316 // and cannot exceed 128 bytes. 3317 Key string `json:"key,omitempty"` 3318 3319 // Value: The value of the label attached to the product. Cannot be 3320 // empty and cannot exceed 128 bytes. 3321 Value string `json:"value,omitempty"` 3322 3323 // ForceSendFields is a list of field names (e.g. "Key") to 3324 // unconditionally include in API requests. By default, fields with 3325 // empty or default values are omitted from API requests. However, any 3326 // non-pointer, non-interface field appearing in ForceSendFields will be 3327 // sent to the server regardless of whether the field is empty or not. 3328 // This may be used to include empty fields in Patch requests. 3329 ForceSendFields []string `json:"-"` 3330 3331 // NullFields is a list of field names (e.g. "Key") to include in API 3332 // requests with the JSON null value. By default, fields with empty 3333 // values are omitted from API requests. However, any field with an 3334 // empty value appearing in NullFields will be sent to the server as 3335 // null. It is an error if a field in this list has a non-empty value. 3336 // This may be used to include null fields in Patch requests. 3337 NullFields []string `json:"-"` 3338} 3339 3340func (s *GoogleCloudVisionV1p1beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 3341 type NoMethod GoogleCloudVisionV1p1beta1ProductKeyValue 3342 raw := NoMethod(*s) 3343 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3344} 3345 3346// GoogleCloudVisionV1p1beta1ProductSearchResults: Results for a product 3347// search request. 3348type GoogleCloudVisionV1p1beta1ProductSearchResults struct { 3349 // IndexTime: Timestamp of the index which provided these results. 3350 // Products added to the product set and products removed from the 3351 // product set after this time are not reflected in the current results. 3352 IndexTime string `json:"indexTime,omitempty"` 3353 3354 // ProductGroupedResults: List of results grouped by products detected 3355 // in the query image. Each entry corresponds to one bounding polygon in 3356 // the query image, and contains the matching products specific to that 3357 // region. There may be duplicate product matches in the union of all 3358 // the per-product results. 3359 ProductGroupedResults []*GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 3360 3361 // Results: List of results, one for each product match. 3362 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 3363 3364 // ForceSendFields is a list of field names (e.g. "IndexTime") to 3365 // unconditionally include in API requests. By default, fields with 3366 // empty or default values are omitted from API requests. However, any 3367 // non-pointer, non-interface field appearing in ForceSendFields will be 3368 // sent to the server regardless of whether the field is empty or not. 3369 // This may be used to include empty fields in Patch requests. 3370 ForceSendFields []string `json:"-"` 3371 3372 // NullFields is a list of field names (e.g. "IndexTime") to include in 3373 // API requests with the JSON null value. By default, fields with empty 3374 // values are omitted from API requests. However, any field with an 3375 // empty value appearing in NullFields will be sent to the server as 3376 // null. It is an error if a field in this list has a non-empty value. 3377 // This may be used to include null fields in Patch requests. 3378 NullFields []string `json:"-"` 3379} 3380 3381func (s *GoogleCloudVisionV1p1beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 3382 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResults 3383 raw := NoMethod(*s) 3384 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3385} 3386 3387// GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult: 3388// Information about the products similar to a single product in a query 3389// image. 3390type GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult struct { 3391 // BoundingPoly: The bounding polygon around the product detected in the 3392 // query image. 3393 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 3394 3395 // ObjectAnnotations: List of generic predictions for the object in the 3396 // bounding box. 3397 ObjectAnnotations []*GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 3398 3399 // Results: List of results, one for each product match. 3400 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 3401 3402 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 3403 // unconditionally include in API requests. By default, fields with 3404 // empty or default values are omitted from API requests. However, any 3405 // non-pointer, non-interface field appearing in ForceSendFields will be 3406 // sent to the server regardless of whether the field is empty or not. 3407 // This may be used to include empty fields in Patch requests. 3408 ForceSendFields []string `json:"-"` 3409 3410 // NullFields is a list of field names (e.g. "BoundingPoly") to include 3411 // in API requests with the JSON null value. By default, fields with 3412 // empty values are omitted from API requests. However, any field with 3413 // an empty value appearing in NullFields will be sent to the server as 3414 // null. It is an error if a field in this list has a non-empty value. 3415 // This may be used to include null fields in Patch requests. 3416 NullFields []string `json:"-"` 3417} 3418 3419func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 3420 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult 3421 raw := NoMethod(*s) 3422 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3423} 3424 3425// GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation: 3426// Prediction for what the object in the bounding box is. 3427type GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation struct { 3428 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 3429 // For more information, see 3430 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3431 LanguageCode string `json:"languageCode,omitempty"` 3432 3433 // Mid: Object ID that should align with EntityAnnotation mid. 3434 Mid string `json:"mid,omitempty"` 3435 3436 // Name: Object name, expressed in its `language_code` language. 3437 Name string `json:"name,omitempty"` 3438 3439 // Score: Score of the result. Range [0, 1]. 3440 Score float64 `json:"score,omitempty"` 3441 3442 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 3443 // unconditionally include in API requests. By default, fields with 3444 // empty or default values are omitted from API requests. However, any 3445 // non-pointer, non-interface field appearing in ForceSendFields will be 3446 // sent to the server regardless of whether the field is empty or not. 3447 // This may be used to include empty fields in Patch requests. 3448 ForceSendFields []string `json:"-"` 3449 3450 // NullFields is a list of field names (e.g. "LanguageCode") to include 3451 // in API requests with the JSON null value. By default, fields with 3452 // empty values are omitted from API requests. However, any field with 3453 // an empty value appearing in NullFields will be sent to the server as 3454 // null. It is an error if a field in this list has a non-empty value. 3455 // This may be used to include null fields in Patch requests. 3456 NullFields []string `json:"-"` 3457} 3458 3459func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 3460 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 3461 raw := NoMethod(*s) 3462 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3463} 3464 3465func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 3466 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 3467 var s1 struct { 3468 Score gensupport.JSONFloat64 `json:"score"` 3469 *NoMethod 3470 } 3471 s1.NoMethod = (*NoMethod)(s) 3472 if err := json.Unmarshal(data, &s1); err != nil { 3473 return err 3474 } 3475 s.Score = float64(s1.Score) 3476 return nil 3477} 3478 3479// GoogleCloudVisionV1p1beta1ProductSearchResultsResult: Information 3480// about a product. 3481type GoogleCloudVisionV1p1beta1ProductSearchResultsResult struct { 3482 // Image: The resource name of the image from the product that is the 3483 // closest match to the query. 3484 Image string `json:"image,omitempty"` 3485 3486 // Product: The Product. 3487 Product *GoogleCloudVisionV1p1beta1Product `json:"product,omitempty"` 3488 3489 // Score: A confidence level on the match, ranging from 0 (no 3490 // confidence) to 1 (full confidence). 3491 Score float64 `json:"score,omitempty"` 3492 3493 // ForceSendFields is a list of field names (e.g. "Image") to 3494 // unconditionally include in API requests. By default, fields with 3495 // empty or default values are omitted from API requests. However, any 3496 // non-pointer, non-interface field appearing in ForceSendFields will be 3497 // sent to the server regardless of whether the field is empty or not. 3498 // This may be used to include empty fields in Patch requests. 3499 ForceSendFields []string `json:"-"` 3500 3501 // NullFields is a list of field names (e.g. "Image") to include in API 3502 // requests with the JSON null value. By default, fields with empty 3503 // values are omitted from API requests. However, any field with an 3504 // empty value appearing in NullFields will be sent to the server as 3505 // null. It is an error if a field in this list has a non-empty value. 3506 // This may be used to include null fields in Patch requests. 3507 NullFields []string `json:"-"` 3508} 3509 3510func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 3511 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3512 raw := NoMethod(*s) 3513 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3514} 3515 3516func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 3517 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3518 var s1 struct { 3519 Score gensupport.JSONFloat64 `json:"score"` 3520 *NoMethod 3521 } 3522 s1.NoMethod = (*NoMethod)(s) 3523 if err := json.Unmarshal(data, &s1); err != nil { 3524 return err 3525 } 3526 s.Score = float64(s1.Score) 3527 return nil 3528} 3529 3530// GoogleCloudVisionV1p1beta1Property: A `Property` consists of a 3531// user-supplied name/value pair. 3532type GoogleCloudVisionV1p1beta1Property struct { 3533 // Name: Name of the property. 3534 Name string `json:"name,omitempty"` 3535 3536 // Uint64Value: Value of numeric properties. 3537 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 3538 3539 // Value: Value of the property. 3540 Value string `json:"value,omitempty"` 3541 3542 // ForceSendFields is a list of field names (e.g. "Name") to 3543 // unconditionally include in API requests. By default, fields with 3544 // empty or default values are omitted from API requests. However, any 3545 // non-pointer, non-interface field appearing in ForceSendFields will be 3546 // sent to the server regardless of whether the field is empty or not. 3547 // This may be used to include empty fields in Patch requests. 3548 ForceSendFields []string `json:"-"` 3549 3550 // NullFields is a list of field names (e.g. "Name") to include in API 3551 // requests with the JSON null value. By default, fields with empty 3552 // values are omitted from API requests. However, any field with an 3553 // empty value appearing in NullFields will be sent to the server as 3554 // null. It is an error if a field in this list has a non-empty value. 3555 // This may be used to include null fields in Patch requests. 3556 NullFields []string `json:"-"` 3557} 3558 3559func (s *GoogleCloudVisionV1p1beta1Property) MarshalJSON() ([]byte, error) { 3560 type NoMethod GoogleCloudVisionV1p1beta1Property 3561 raw := NoMethod(*s) 3562 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3563} 3564 3565// GoogleCloudVisionV1p1beta1SafeSearchAnnotation: Set of features 3566// pertaining to the image, computed by computer vision methods over 3567// safe-search verticals (for example, adult, spoof, medical, violence). 3568type GoogleCloudVisionV1p1beta1SafeSearchAnnotation struct { 3569 // Adult: Represents the adult content likelihood for the image. Adult 3570 // content may contain elements such as nudity, pornographic images or 3571 // cartoons, or sexual activities. 3572 // 3573 // Possible values: 3574 // "UNKNOWN" - Unknown likelihood. 3575 // "VERY_UNLIKELY" - It is very unlikely. 3576 // "UNLIKELY" - It is unlikely. 3577 // "POSSIBLE" - It is possible. 3578 // "LIKELY" - It is likely. 3579 // "VERY_LIKELY" - It is very likely. 3580 Adult string `json:"adult,omitempty"` 3581 3582 // Medical: Likelihood that this is a medical image. 3583 // 3584 // Possible values: 3585 // "UNKNOWN" - Unknown likelihood. 3586 // "VERY_UNLIKELY" - It is very unlikely. 3587 // "UNLIKELY" - It is unlikely. 3588 // "POSSIBLE" - It is possible. 3589 // "LIKELY" - It is likely. 3590 // "VERY_LIKELY" - It is very likely. 3591 Medical string `json:"medical,omitempty"` 3592 3593 // Racy: Likelihood that the request image contains racy content. Racy 3594 // content may include (but is not limited to) skimpy or sheer clothing, 3595 // strategically covered nudity, lewd or provocative poses, or close-ups 3596 // of sensitive body areas. 3597 // 3598 // Possible values: 3599 // "UNKNOWN" - Unknown likelihood. 3600 // "VERY_UNLIKELY" - It is very unlikely. 3601 // "UNLIKELY" - It is unlikely. 3602 // "POSSIBLE" - It is possible. 3603 // "LIKELY" - It is likely. 3604 // "VERY_LIKELY" - It is very likely. 3605 Racy string `json:"racy,omitempty"` 3606 3607 // Spoof: Spoof likelihood. The likelihood that an modification was made 3608 // to the image's canonical version to make it appear funny or 3609 // offensive. 3610 // 3611 // Possible values: 3612 // "UNKNOWN" - Unknown likelihood. 3613 // "VERY_UNLIKELY" - It is very unlikely. 3614 // "UNLIKELY" - It is unlikely. 3615 // "POSSIBLE" - It is possible. 3616 // "LIKELY" - It is likely. 3617 // "VERY_LIKELY" - It is very likely. 3618 Spoof string `json:"spoof,omitempty"` 3619 3620 // Violence: Likelihood that this image contains violent content. 3621 // 3622 // Possible values: 3623 // "UNKNOWN" - Unknown likelihood. 3624 // "VERY_UNLIKELY" - It is very unlikely. 3625 // "UNLIKELY" - It is unlikely. 3626 // "POSSIBLE" - It is possible. 3627 // "LIKELY" - It is likely. 3628 // "VERY_LIKELY" - It is very likely. 3629 Violence string `json:"violence,omitempty"` 3630 3631 // ForceSendFields is a list of field names (e.g. "Adult") to 3632 // unconditionally include in API requests. By default, fields with 3633 // empty or default values are omitted from API requests. However, any 3634 // non-pointer, non-interface field appearing in ForceSendFields will be 3635 // sent to the server regardless of whether the field is empty or not. 3636 // This may be used to include empty fields in Patch requests. 3637 ForceSendFields []string `json:"-"` 3638 3639 // NullFields is a list of field names (e.g. "Adult") to include in API 3640 // requests with the JSON null value. By default, fields with empty 3641 // values are omitted from API requests. However, any field with an 3642 // empty value appearing in NullFields will be sent to the server as 3643 // null. It is an error if a field in this list has a non-empty value. 3644 // This may be used to include null fields in Patch requests. 3645 NullFields []string `json:"-"` 3646} 3647 3648func (s *GoogleCloudVisionV1p1beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 3649 type NoMethod GoogleCloudVisionV1p1beta1SafeSearchAnnotation 3650 raw := NoMethod(*s) 3651 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3652} 3653 3654// GoogleCloudVisionV1p1beta1Symbol: A single symbol representation. 3655type GoogleCloudVisionV1p1beta1Symbol struct { 3656 // BoundingBox: The bounding box for the symbol. The vertices are in the 3657 // order of top-left, top-right, bottom-right, bottom-left. When a 3658 // rotation of the bounding box is detected the rotation is represented 3659 // as around the top-left corner as defined when the text is read in the 3660 // 'natural' orientation. For example: * when the text is horizontal it 3661 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 3662 // around the top-left corner it becomes: 2----3 | | 1----0 and the 3663 // vertex order will still be (0, 1, 2, 3). 3664 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3665 3666 // Confidence: Confidence of the OCR results for the symbol. Range [0, 3667 // 1]. 3668 Confidence float64 `json:"confidence,omitempty"` 3669 3670 // Property: Additional information detected for the symbol. 3671 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3672 3673 // Text: The actual UTF-8 representation of the symbol. 3674 Text string `json:"text,omitempty"` 3675 3676 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3677 // unconditionally include in API requests. By default, fields with 3678 // empty or default values are omitted from API requests. However, any 3679 // non-pointer, non-interface field appearing in ForceSendFields will be 3680 // sent to the server regardless of whether the field is empty or not. 3681 // This may be used to include empty fields in Patch requests. 3682 ForceSendFields []string `json:"-"` 3683 3684 // NullFields is a list of field names (e.g. "BoundingBox") to include 3685 // in API requests with the JSON null value. By default, fields with 3686 // empty values are omitted from API requests. However, any field with 3687 // an empty value appearing in NullFields will be sent to the server as 3688 // null. It is an error if a field in this list has a non-empty value. 3689 // This may be used to include null fields in Patch requests. 3690 NullFields []string `json:"-"` 3691} 3692 3693func (s *GoogleCloudVisionV1p1beta1Symbol) MarshalJSON() ([]byte, error) { 3694 type NoMethod GoogleCloudVisionV1p1beta1Symbol 3695 raw := NoMethod(*s) 3696 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3697} 3698 3699func (s *GoogleCloudVisionV1p1beta1Symbol) UnmarshalJSON(data []byte) error { 3700 type NoMethod GoogleCloudVisionV1p1beta1Symbol 3701 var s1 struct { 3702 Confidence gensupport.JSONFloat64 `json:"confidence"` 3703 *NoMethod 3704 } 3705 s1.NoMethod = (*NoMethod)(s) 3706 if err := json.Unmarshal(data, &s1); err != nil { 3707 return err 3708 } 3709 s.Confidence = float64(s1.Confidence) 3710 return nil 3711} 3712 3713// GoogleCloudVisionV1p1beta1TextAnnotation: TextAnnotation contains a 3714// structured representation of OCR extracted text. The hierarchy of an 3715// OCR extracted text structure is like this: TextAnnotation -> Page -> 3716// Block -> Paragraph -> Word -> Symbol Each structural component, 3717// starting from Page, may further have their own properties. Properties 3718// describe detected languages, breaks etc.. Please refer to the 3719// TextAnnotation.TextProperty message definition below for more detail. 3720type GoogleCloudVisionV1p1beta1TextAnnotation struct { 3721 // Pages: List of pages detected by OCR. 3722 Pages []*GoogleCloudVisionV1p1beta1Page `json:"pages,omitempty"` 3723 3724 // Text: UTF-8 text detected on the pages. 3725 Text string `json:"text,omitempty"` 3726 3727 // ForceSendFields is a list of field names (e.g. "Pages") to 3728 // unconditionally include in API requests. By default, fields with 3729 // empty or default values are omitted from API requests. However, any 3730 // non-pointer, non-interface field appearing in ForceSendFields will be 3731 // sent to the server regardless of whether the field is empty or not. 3732 // This may be used to include empty fields in Patch requests. 3733 ForceSendFields []string `json:"-"` 3734 3735 // NullFields is a list of field names (e.g. "Pages") to include in API 3736 // requests with the JSON null value. By default, fields with empty 3737 // values are omitted from API requests. However, any field with an 3738 // empty value appearing in NullFields will be sent to the server as 3739 // null. It is an error if a field in this list has a non-empty value. 3740 // This may be used to include null fields in Patch requests. 3741 NullFields []string `json:"-"` 3742} 3743 3744func (s *GoogleCloudVisionV1p1beta1TextAnnotation) MarshalJSON() ([]byte, error) { 3745 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotation 3746 raw := NoMethod(*s) 3747 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3748} 3749 3750// GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak: Detected start 3751// or end of a structural component. 3752type GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak struct { 3753 // IsPrefix: True if break prepends the element. 3754 IsPrefix bool `json:"isPrefix,omitempty"` 3755 3756 // Type: Detected break type. 3757 // 3758 // Possible values: 3759 // "UNKNOWN" - Unknown break label type. 3760 // "SPACE" - Regular space. 3761 // "SURE_SPACE" - Sure space (very wide). 3762 // "EOL_SURE_SPACE" - Line-wrapping break. 3763 // "HYPHEN" - End-line hyphen that is not present in text; does not 3764 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 3765 // "LINE_BREAK" - Line break that ends a paragraph. 3766 Type string `json:"type,omitempty"` 3767 3768 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 3769 // unconditionally include in API requests. By default, fields with 3770 // empty or default values are omitted from API requests. However, any 3771 // non-pointer, non-interface field appearing in ForceSendFields will be 3772 // sent to the server regardless of whether the field is empty or not. 3773 // This may be used to include empty fields in Patch requests. 3774 ForceSendFields []string `json:"-"` 3775 3776 // NullFields is a list of field names (e.g. "IsPrefix") to include in 3777 // API requests with the JSON null value. By default, fields with empty 3778 // values are omitted from API requests. However, any field with an 3779 // empty value appearing in NullFields will be sent to the server as 3780 // null. It is an error if a field in this list has a non-empty value. 3781 // This may be used to include null fields in Patch requests. 3782 NullFields []string `json:"-"` 3783} 3784 3785func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 3786 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak 3787 raw := NoMethod(*s) 3788 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3789} 3790 3791// GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage: Detected 3792// language for a structural component. 3793type GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage struct { 3794 // Confidence: Confidence of detected language. Range [0, 1]. 3795 Confidence float64 `json:"confidence,omitempty"` 3796 3797 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 3798 // For more information, see 3799 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3800 LanguageCode string `json:"languageCode,omitempty"` 3801 3802 // ForceSendFields is a list of field names (e.g. "Confidence") to 3803 // unconditionally include in API requests. By default, fields with 3804 // empty or default values are omitted from API requests. However, any 3805 // non-pointer, non-interface field appearing in ForceSendFields will be 3806 // sent to the server regardless of whether the field is empty or not. 3807 // This may be used to include empty fields in Patch requests. 3808 ForceSendFields []string `json:"-"` 3809 3810 // NullFields is a list of field names (e.g. "Confidence") to include in 3811 // API requests with the JSON null value. By default, fields with empty 3812 // values are omitted from API requests. However, any field with an 3813 // empty value appearing in NullFields will be sent to the server as 3814 // null. It is an error if a field in this list has a non-empty value. 3815 // This may be used to include null fields in Patch requests. 3816 NullFields []string `json:"-"` 3817} 3818 3819func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 3820 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 3821 raw := NoMethod(*s) 3822 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3823} 3824 3825func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 3826 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 3827 var s1 struct { 3828 Confidence gensupport.JSONFloat64 `json:"confidence"` 3829 *NoMethod 3830 } 3831 s1.NoMethod = (*NoMethod)(s) 3832 if err := json.Unmarshal(data, &s1); err != nil { 3833 return err 3834 } 3835 s.Confidence = float64(s1.Confidence) 3836 return nil 3837} 3838 3839// GoogleCloudVisionV1p1beta1TextAnnotationTextProperty: Additional 3840// information detected on the structural component. 3841type GoogleCloudVisionV1p1beta1TextAnnotationTextProperty struct { 3842 // DetectedBreak: Detected start or end of a text segment. 3843 DetectedBreak *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 3844 3845 // DetectedLanguages: A list of detected languages together with 3846 // confidence. 3847 DetectedLanguages []*GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 3848 3849 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 3850 // unconditionally include in API requests. By default, fields with 3851 // empty or default values are omitted from API requests. However, any 3852 // non-pointer, non-interface field appearing in ForceSendFields will be 3853 // sent to the server regardless of whether the field is empty or not. 3854 // This may be used to include empty fields in Patch requests. 3855 ForceSendFields []string `json:"-"` 3856 3857 // NullFields is a list of field names (e.g. "DetectedBreak") to include 3858 // in API requests with the JSON null value. By default, fields with 3859 // empty values are omitted from API requests. However, any field with 3860 // an empty value appearing in NullFields will be sent to the server as 3861 // null. It is an error if a field in this list has a non-empty value. 3862 // This may be used to include null fields in Patch requests. 3863 NullFields []string `json:"-"` 3864} 3865 3866func (s *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 3867 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationTextProperty 3868 raw := NoMethod(*s) 3869 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3870} 3871 3872// GoogleCloudVisionV1p1beta1Vertex: A vertex represents a 2D point in 3873// the image. NOTE: the vertex coordinates are in the same scale as the 3874// original image. 3875type GoogleCloudVisionV1p1beta1Vertex struct { 3876 // X: X coordinate. 3877 X int64 `json:"x,omitempty"` 3878 3879 // Y: Y coordinate. 3880 Y int64 `json:"y,omitempty"` 3881 3882 // ForceSendFields is a list of field names (e.g. "X") to 3883 // unconditionally include in API requests. By default, fields with 3884 // empty or default values are omitted from API requests. However, any 3885 // non-pointer, non-interface field appearing in ForceSendFields will be 3886 // sent to the server regardless of whether the field is empty or not. 3887 // This may be used to include empty fields in Patch requests. 3888 ForceSendFields []string `json:"-"` 3889 3890 // NullFields is a list of field names (e.g. "X") to include in API 3891 // requests with the JSON null value. By default, fields with empty 3892 // values are omitted from API requests. However, any field with an 3893 // empty value appearing in NullFields will be sent to the server as 3894 // null. It is an error if a field in this list has a non-empty value. 3895 // This may be used to include null fields in Patch requests. 3896 NullFields []string `json:"-"` 3897} 3898 3899func (s *GoogleCloudVisionV1p1beta1Vertex) MarshalJSON() ([]byte, error) { 3900 type NoMethod GoogleCloudVisionV1p1beta1Vertex 3901 raw := NoMethod(*s) 3902 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3903} 3904 3905// GoogleCloudVisionV1p1beta1WebDetection: Relevant information for the 3906// image from the Internet. 3907type GoogleCloudVisionV1p1beta1WebDetection struct { 3908 // BestGuessLabels: The service's best guess as to the topic of the 3909 // request image. Inferred from similar images on the open web. 3910 BestGuessLabels []*GoogleCloudVisionV1p1beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 3911 3912 // FullMatchingImages: Fully matching images from the Internet. Can 3913 // include resized copies of the query image. 3914 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 3915 3916 // PagesWithMatchingImages: Web pages containing the matching images 3917 // from the Internet. 3918 PagesWithMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 3919 3920 // PartialMatchingImages: Partial matching images from the Internet. 3921 // Those images are similar enough to share some key-point features. For 3922 // example an original image will likely have partial matching for its 3923 // crops. 3924 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 3925 3926 // VisuallySimilarImages: The visually similar image results. 3927 VisuallySimilarImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 3928 3929 // WebEntities: Deduced entities from similar images on the Internet. 3930 WebEntities []*GoogleCloudVisionV1p1beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 3931 3932 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 3933 // unconditionally include in API requests. By default, fields with 3934 // empty or default values are omitted from API requests. However, any 3935 // non-pointer, non-interface field appearing in ForceSendFields will be 3936 // sent to the server regardless of whether the field is empty or not. 3937 // This may be used to include empty fields in Patch requests. 3938 ForceSendFields []string `json:"-"` 3939 3940 // NullFields is a list of field names (e.g. "BestGuessLabels") to 3941 // include in API requests with the JSON null value. By default, fields 3942 // with empty values are omitted from API requests. However, any field 3943 // with an empty value appearing in NullFields will be sent to the 3944 // server as null. It is an error if a field in this list has a 3945 // non-empty value. This may be used to include null fields in Patch 3946 // requests. 3947 NullFields []string `json:"-"` 3948} 3949 3950func (s *GoogleCloudVisionV1p1beta1WebDetection) MarshalJSON() ([]byte, error) { 3951 type NoMethod GoogleCloudVisionV1p1beta1WebDetection 3952 raw := NoMethod(*s) 3953 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3954} 3955 3956// GoogleCloudVisionV1p1beta1WebDetectionWebEntity: Entity deduced from 3957// similar images on the Internet. 3958type GoogleCloudVisionV1p1beta1WebDetectionWebEntity struct { 3959 // Description: Canonical description of the entity, in English. 3960 Description string `json:"description,omitempty"` 3961 3962 // EntityId: Opaque entity ID. 3963 EntityId string `json:"entityId,omitempty"` 3964 3965 // Score: Overall relevancy score for the entity. Not normalized and not 3966 // comparable across different image queries. 3967 Score float64 `json:"score,omitempty"` 3968 3969 // ForceSendFields is a list of field names (e.g. "Description") to 3970 // unconditionally include in API requests. By default, fields with 3971 // empty or default values are omitted from API requests. However, any 3972 // non-pointer, non-interface field appearing in ForceSendFields will be 3973 // sent to the server regardless of whether the field is empty or not. 3974 // This may be used to include empty fields in Patch requests. 3975 ForceSendFields []string `json:"-"` 3976 3977 // NullFields is a list of field names (e.g. "Description") to include 3978 // in API requests with the JSON null value. By default, fields with 3979 // empty values are omitted from API requests. However, any field with 3980 // an empty value appearing in NullFields will be sent to the server as 3981 // null. It is an error if a field in this list has a non-empty value. 3982 // This may be used to include null fields in Patch requests. 3983 NullFields []string `json:"-"` 3984} 3985 3986func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 3987 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 3988 raw := NoMethod(*s) 3989 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3990} 3991 3992func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 3993 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 3994 var s1 struct { 3995 Score gensupport.JSONFloat64 `json:"score"` 3996 *NoMethod 3997 } 3998 s1.NoMethod = (*NoMethod)(s) 3999 if err := json.Unmarshal(data, &s1); err != nil { 4000 return err 4001 } 4002 s.Score = float64(s1.Score) 4003 return nil 4004} 4005 4006// GoogleCloudVisionV1p1beta1WebDetectionWebImage: Metadata for online 4007// images. 4008type GoogleCloudVisionV1p1beta1WebDetectionWebImage struct { 4009 // Score: (Deprecated) Overall relevancy score for the image. 4010 Score float64 `json:"score,omitempty"` 4011 4012 // Url: The result image URL. 4013 Url string `json:"url,omitempty"` 4014 4015 // ForceSendFields is a list of field names (e.g. "Score") to 4016 // unconditionally include in API requests. By default, fields with 4017 // empty or default values are omitted from API requests. However, any 4018 // non-pointer, non-interface field appearing in ForceSendFields will be 4019 // sent to the server regardless of whether the field is empty or not. 4020 // This may be used to include empty fields in Patch requests. 4021 ForceSendFields []string `json:"-"` 4022 4023 // NullFields is a list of field names (e.g. "Score") to include in API 4024 // requests with the JSON null value. By default, fields with empty 4025 // values are omitted from API requests. However, any field with an 4026 // empty value appearing in NullFields will be sent to the server as 4027 // null. It is an error if a field in this list has a non-empty value. 4028 // This may be used to include null fields in Patch requests. 4029 NullFields []string `json:"-"` 4030} 4031 4032func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 4033 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 4034 raw := NoMethod(*s) 4035 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4036} 4037 4038func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 4039 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 4040 var s1 struct { 4041 Score gensupport.JSONFloat64 `json:"score"` 4042 *NoMethod 4043 } 4044 s1.NoMethod = (*NoMethod)(s) 4045 if err := json.Unmarshal(data, &s1); err != nil { 4046 return err 4047 } 4048 s.Score = float64(s1.Score) 4049 return nil 4050} 4051 4052// GoogleCloudVisionV1p1beta1WebDetectionWebLabel: Label to provide 4053// extra metadata for the web detection. 4054type GoogleCloudVisionV1p1beta1WebDetectionWebLabel struct { 4055 // Label: Label for extra metadata. 4056 Label string `json:"label,omitempty"` 4057 4058 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 4059 // or "sr-Latn". For more information, see 4060 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 4061 LanguageCode string `json:"languageCode,omitempty"` 4062 4063 // ForceSendFields is a list of field names (e.g. "Label") to 4064 // unconditionally include in API requests. By default, fields with 4065 // empty or default values are omitted from API requests. However, any 4066 // non-pointer, non-interface field appearing in ForceSendFields will be 4067 // sent to the server regardless of whether the field is empty or not. 4068 // This may be used to include empty fields in Patch requests. 4069 ForceSendFields []string `json:"-"` 4070 4071 // NullFields is a list of field names (e.g. "Label") to include in API 4072 // requests with the JSON null value. By default, fields with empty 4073 // values are omitted from API requests. However, any field with an 4074 // empty value appearing in NullFields will be sent to the server as 4075 // null. It is an error if a field in this list has a non-empty value. 4076 // This may be used to include null fields in Patch requests. 4077 NullFields []string `json:"-"` 4078} 4079 4080func (s *GoogleCloudVisionV1p1beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 4081 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebLabel 4082 raw := NoMethod(*s) 4083 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4084} 4085 4086// GoogleCloudVisionV1p1beta1WebDetectionWebPage: Metadata for web 4087// pages. 4088type GoogleCloudVisionV1p1beta1WebDetectionWebPage struct { 4089 // FullMatchingImages: Fully matching images on the page. Can include 4090 // resized copies of the query image. 4091 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 4092 4093 // PageTitle: Title for the web page, may contain HTML markups. 4094 PageTitle string `json:"pageTitle,omitempty"` 4095 4096 // PartialMatchingImages: Partial matching images on the page. Those 4097 // images are similar enough to share some key-point features. For 4098 // example an original image will likely have partial matching for its 4099 // crops. 4100 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 4101 4102 // Score: (Deprecated) Overall relevancy score for the web page. 4103 Score float64 `json:"score,omitempty"` 4104 4105 // Url: The result web page URL. 4106 Url string `json:"url,omitempty"` 4107 4108 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 4109 // to unconditionally include in API requests. By default, fields with 4110 // empty or default values are omitted from API requests. However, any 4111 // non-pointer, non-interface field appearing in ForceSendFields will be 4112 // sent to the server regardless of whether the field is empty or not. 4113 // This may be used to include empty fields in Patch requests. 4114 ForceSendFields []string `json:"-"` 4115 4116 // NullFields is a list of field names (e.g. "FullMatchingImages") to 4117 // include in API requests with the JSON null value. By default, fields 4118 // with empty values are omitted from API requests. However, any field 4119 // with an empty value appearing in NullFields will be sent to the 4120 // server as null. It is an error if a field in this list has a 4121 // non-empty value. This may be used to include null fields in Patch 4122 // requests. 4123 NullFields []string `json:"-"` 4124} 4125 4126func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 4127 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 4128 raw := NoMethod(*s) 4129 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4130} 4131 4132func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 4133 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 4134 var s1 struct { 4135 Score gensupport.JSONFloat64 `json:"score"` 4136 *NoMethod 4137 } 4138 s1.NoMethod = (*NoMethod)(s) 4139 if err := json.Unmarshal(data, &s1); err != nil { 4140 return err 4141 } 4142 s.Score = float64(s1.Score) 4143 return nil 4144} 4145 4146// GoogleCloudVisionV1p1beta1Word: A word representation. 4147type GoogleCloudVisionV1p1beta1Word struct { 4148 // BoundingBox: The bounding box for the word. The vertices are in the 4149 // order of top-left, top-right, bottom-right, bottom-left. When a 4150 // rotation of the bounding box is detected the rotation is represented 4151 // as around the top-left corner as defined when the text is read in the 4152 // 'natural' orientation. For example: * when the text is horizontal it 4153 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 4154 // around the top-left corner it becomes: 2----3 | | 1----0 and the 4155 // vertex order will still be (0, 1, 2, 3). 4156 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 4157 4158 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 4159 Confidence float64 `json:"confidence,omitempty"` 4160 4161 // Property: Additional information detected for the word. 4162 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 4163 4164 // Symbols: List of symbols in the word. The order of the symbols 4165 // follows the natural reading order. 4166 Symbols []*GoogleCloudVisionV1p1beta1Symbol `json:"symbols,omitempty"` 4167 4168 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 4169 // unconditionally include in API requests. By default, fields with 4170 // empty or default values are omitted from API requests. However, any 4171 // non-pointer, non-interface field appearing in ForceSendFields will be 4172 // sent to the server regardless of whether the field is empty or not. 4173 // This may be used to include empty fields in Patch requests. 4174 ForceSendFields []string `json:"-"` 4175 4176 // NullFields is a list of field names (e.g. "BoundingBox") to include 4177 // in API requests with the JSON null value. By default, fields with 4178 // empty values are omitted from API requests. However, any field with 4179 // an empty value appearing in NullFields will be sent to the server as 4180 // null. It is an error if a field in this list has a non-empty value. 4181 // This may be used to include null fields in Patch requests. 4182 NullFields []string `json:"-"` 4183} 4184 4185func (s *GoogleCloudVisionV1p1beta1Word) MarshalJSON() ([]byte, error) { 4186 type NoMethod GoogleCloudVisionV1p1beta1Word 4187 raw := NoMethod(*s) 4188 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4189} 4190 4191func (s *GoogleCloudVisionV1p1beta1Word) UnmarshalJSON(data []byte) error { 4192 type NoMethod GoogleCloudVisionV1p1beta1Word 4193 var s1 struct { 4194 Confidence gensupport.JSONFloat64 `json:"confidence"` 4195 *NoMethod 4196 } 4197 s1.NoMethod = (*NoMethod)(s) 4198 if err := json.Unmarshal(data, &s1); err != nil { 4199 return err 4200 } 4201 s.Confidence = float64(s1.Confidence) 4202 return nil 4203} 4204 4205// GoogleCloudVisionV1p2beta1AnnotateFileResponse: Response to a single 4206// file annotation request. A file may contain one or more images, which 4207// individually have their own responses. 4208type GoogleCloudVisionV1p2beta1AnnotateFileResponse struct { 4209 // Error: If set, represents the error message for the failed request. 4210 // The `responses` field will not be set in this case. 4211 Error *Status `json:"error,omitempty"` 4212 4213 // InputConfig: Information about the file for which this response is 4214 // generated. 4215 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 4216 4217 // Responses: Individual responses to images found within the file. This 4218 // field will be empty if the `error` field is set. 4219 Responses []*GoogleCloudVisionV1p2beta1AnnotateImageResponse `json:"responses,omitempty"` 4220 4221 // TotalPages: This field gives the total number of pages in the file. 4222 TotalPages int64 `json:"totalPages,omitempty"` 4223 4224 // ForceSendFields is a list of field names (e.g. "Error") to 4225 // unconditionally include in API requests. By default, fields with 4226 // empty or default values are omitted from API requests. However, any 4227 // non-pointer, non-interface field appearing in ForceSendFields will be 4228 // sent to the server regardless of whether the field is empty or not. 4229 // This may be used to include empty fields in Patch requests. 4230 ForceSendFields []string `json:"-"` 4231 4232 // NullFields is a list of field names (e.g. "Error") to include in API 4233 // requests with the JSON null value. By default, fields with empty 4234 // values are omitted from API requests. However, any field with an 4235 // empty value appearing in NullFields will be sent to the server as 4236 // null. It is an error if a field in this list has a non-empty value. 4237 // This may be used to include null fields in Patch requests. 4238 NullFields []string `json:"-"` 4239} 4240 4241func (s *GoogleCloudVisionV1p2beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 4242 type NoMethod GoogleCloudVisionV1p2beta1AnnotateFileResponse 4243 raw := NoMethod(*s) 4244 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4245} 4246 4247// GoogleCloudVisionV1p2beta1AnnotateImageResponse: Response to an image 4248// annotation request. 4249type GoogleCloudVisionV1p2beta1AnnotateImageResponse struct { 4250 // Context: If present, contextual information is needed to understand 4251 // where this image comes from. 4252 Context *GoogleCloudVisionV1p2beta1ImageAnnotationContext `json:"context,omitempty"` 4253 4254 // CropHintsAnnotation: If present, crop hints have completed 4255 // successfully. 4256 CropHintsAnnotation *GoogleCloudVisionV1p2beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 4257 4258 // Error: If set, represents the error message for the operation. Note 4259 // that filled-in image annotations are guaranteed to be correct, even 4260 // when `error` is set. 4261 Error *Status `json:"error,omitempty"` 4262 4263 // FaceAnnotations: If present, face detection has completed 4264 // successfully. 4265 FaceAnnotations []*GoogleCloudVisionV1p2beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 4266 4267 // FullTextAnnotation: If present, text (OCR) detection or document 4268 // (OCR) text detection has completed successfully. This annotation 4269 // provides the structural hierarchy for the OCR detected text. 4270 FullTextAnnotation *GoogleCloudVisionV1p2beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 4271 4272 // ImagePropertiesAnnotation: If present, image properties were 4273 // extracted successfully. 4274 ImagePropertiesAnnotation *GoogleCloudVisionV1p2beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 4275 4276 // LabelAnnotations: If present, label detection has completed 4277 // successfully. 4278 LabelAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 4279 4280 // LandmarkAnnotations: If present, landmark detection has completed 4281 // successfully. 4282 LandmarkAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 4283 4284 // LocalizedObjectAnnotations: If present, localized object detection 4285 // has completed successfully. This will be sorted descending by 4286 // confidence score. 4287 LocalizedObjectAnnotations []*GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 4288 4289 // LogoAnnotations: If present, logo detection has completed 4290 // successfully. 4291 LogoAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 4292 4293 // ProductSearchResults: If present, product search has completed 4294 // successfully. 4295 ProductSearchResults *GoogleCloudVisionV1p2beta1ProductSearchResults `json:"productSearchResults,omitempty"` 4296 4297 // SafeSearchAnnotation: If present, safe-search annotation has 4298 // completed successfully. 4299 SafeSearchAnnotation *GoogleCloudVisionV1p2beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 4300 4301 // TextAnnotations: If present, text (OCR) detection has completed 4302 // successfully. 4303 TextAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"textAnnotations,omitempty"` 4304 4305 // WebDetection: If present, web detection has completed successfully. 4306 WebDetection *GoogleCloudVisionV1p2beta1WebDetection `json:"webDetection,omitempty"` 4307 4308 // ForceSendFields is a list of field names (e.g. "Context") to 4309 // unconditionally include in API requests. By default, fields with 4310 // empty or default values are omitted from API requests. However, any 4311 // non-pointer, non-interface field appearing in ForceSendFields will be 4312 // sent to the server regardless of whether the field is empty or not. 4313 // This may be used to include empty fields in Patch requests. 4314 ForceSendFields []string `json:"-"` 4315 4316 // NullFields is a list of field names (e.g. "Context") to include in 4317 // API requests with the JSON null value. By default, fields with empty 4318 // values are omitted from API requests. However, any field with an 4319 // empty value appearing in NullFields will be sent to the server as 4320 // null. It is an error if a field in this list has a non-empty value. 4321 // This may be used to include null fields in Patch requests. 4322 NullFields []string `json:"-"` 4323} 4324 4325func (s *GoogleCloudVisionV1p2beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 4326 type NoMethod GoogleCloudVisionV1p2beta1AnnotateImageResponse 4327 raw := NoMethod(*s) 4328 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4329} 4330 4331// GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse: The response for 4332// a single offline file annotation request. 4333type GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse struct { 4334 // OutputConfig: The output location and metadata from 4335 // AsyncAnnotateFileRequest. 4336 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 4337 4338 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 4339 // unconditionally include in API requests. By default, fields with 4340 // empty or default values are omitted from API requests. However, any 4341 // non-pointer, non-interface field appearing in ForceSendFields will be 4342 // sent to the server regardless of whether the field is empty or not. 4343 // This may be used to include empty fields in Patch requests. 4344 ForceSendFields []string `json:"-"` 4345 4346 // NullFields is a list of field names (e.g. "OutputConfig") to include 4347 // in API requests with the JSON null value. By default, fields with 4348 // empty values are omitted from API requests. However, any field with 4349 // an empty value appearing in NullFields will be sent to the server as 4350 // null. It is an error if a field in this list has a non-empty value. 4351 // This may be used to include null fields in Patch requests. 4352 NullFields []string `json:"-"` 4353} 4354 4355func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 4356 type NoMethod GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse 4357 raw := NoMethod(*s) 4358 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4359} 4360 4361// GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse: Response 4362// to an async batch file annotation request. 4363type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse struct { 4364 // Responses: The list of file annotation responses, one for each 4365 // request in AsyncBatchAnnotateFilesRequest. 4366 Responses []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 4367 4368 // ForceSendFields is a list of field names (e.g. "Responses") to 4369 // unconditionally include in API requests. By default, fields with 4370 // empty or default values are omitted from API requests. However, any 4371 // non-pointer, non-interface field appearing in ForceSendFields will be 4372 // sent to the server regardless of whether the field is empty or not. 4373 // This may be used to include empty fields in Patch requests. 4374 ForceSendFields []string `json:"-"` 4375 4376 // NullFields is a list of field names (e.g. "Responses") to include in 4377 // API requests with the JSON null value. By default, fields with empty 4378 // values are omitted from API requests. However, any field with an 4379 // empty value appearing in NullFields will be sent to the server as 4380 // null. It is an error if a field in this list has a non-empty value. 4381 // This may be used to include null fields in Patch requests. 4382 NullFields []string `json:"-"` 4383} 4384 4385func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 4386 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse 4387 raw := NoMethod(*s) 4388 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4389} 4390 4391// GoogleCloudVisionV1p2beta1Block: Logical element on the page. 4392type GoogleCloudVisionV1p2beta1Block struct { 4393 // BlockType: Detected block type (text, image etc) for this block. 4394 // 4395 // Possible values: 4396 // "UNKNOWN" - Unknown block type. 4397 // "TEXT" - Regular text block. 4398 // "TABLE" - Table block. 4399 // "PICTURE" - Image block. 4400 // "RULER" - Horizontal/vertical line box. 4401 // "BARCODE" - Barcode block. 4402 BlockType string `json:"blockType,omitempty"` 4403 4404 // BoundingBox: The bounding box for the block. The vertices are in the 4405 // order of top-left, top-right, bottom-right, bottom-left. When a 4406 // rotation of the bounding box is detected the rotation is represented 4407 // as around the top-left corner as defined when the text is read in the 4408 // 'natural' orientation. For example: * when the text is horizontal it 4409 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 4410 // around the top-left corner it becomes: 2----3 | | 1----0 and the 4411 // vertex order will still be (0, 1, 2, 3). 4412 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 4413 4414 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 4415 Confidence float64 `json:"confidence,omitempty"` 4416 4417 // Paragraphs: List of paragraphs in this block (if this blocks is of 4418 // type text). 4419 Paragraphs []*GoogleCloudVisionV1p2beta1Paragraph `json:"paragraphs,omitempty"` 4420 4421 // Property: Additional information detected for the block. 4422 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 4423 4424 // ForceSendFields is a list of field names (e.g. "BlockType") to 4425 // unconditionally include in API requests. By default, fields with 4426 // empty or default values are omitted from API requests. However, any 4427 // non-pointer, non-interface field appearing in ForceSendFields will be 4428 // sent to the server regardless of whether the field is empty or not. 4429 // This may be used to include empty fields in Patch requests. 4430 ForceSendFields []string `json:"-"` 4431 4432 // NullFields is a list of field names (e.g. "BlockType") to include in 4433 // API requests with the JSON null value. By default, fields with empty 4434 // values are omitted from API requests. However, any field with an 4435 // empty value appearing in NullFields will be sent to the server as 4436 // null. It is an error if a field in this list has a non-empty value. 4437 // This may be used to include null fields in Patch requests. 4438 NullFields []string `json:"-"` 4439} 4440 4441func (s *GoogleCloudVisionV1p2beta1Block) MarshalJSON() ([]byte, error) { 4442 type NoMethod GoogleCloudVisionV1p2beta1Block 4443 raw := NoMethod(*s) 4444 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4445} 4446 4447func (s *GoogleCloudVisionV1p2beta1Block) UnmarshalJSON(data []byte) error { 4448 type NoMethod GoogleCloudVisionV1p2beta1Block 4449 var s1 struct { 4450 Confidence gensupport.JSONFloat64 `json:"confidence"` 4451 *NoMethod 4452 } 4453 s1.NoMethod = (*NoMethod)(s) 4454 if err := json.Unmarshal(data, &s1); err != nil { 4455 return err 4456 } 4457 s.Confidence = float64(s1.Confidence) 4458 return nil 4459} 4460 4461// GoogleCloudVisionV1p2beta1BoundingPoly: A bounding polygon for the 4462// detected image annotation. 4463type GoogleCloudVisionV1p2beta1BoundingPoly struct { 4464 // NormalizedVertices: The bounding polygon normalized vertices. 4465 NormalizedVertices []*GoogleCloudVisionV1p2beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 4466 4467 // Vertices: The bounding polygon vertices. 4468 Vertices []*GoogleCloudVisionV1p2beta1Vertex `json:"vertices,omitempty"` 4469 4470 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 4471 // to unconditionally include in API requests. By default, fields with 4472 // empty or default values are omitted from API requests. However, any 4473 // non-pointer, non-interface field appearing in ForceSendFields will be 4474 // sent to the server regardless of whether the field is empty or not. 4475 // This may be used to include empty fields in Patch requests. 4476 ForceSendFields []string `json:"-"` 4477 4478 // NullFields is a list of field names (e.g. "NormalizedVertices") to 4479 // include in API requests with the JSON null value. By default, fields 4480 // with empty values are omitted from API requests. However, any field 4481 // with an empty value appearing in NullFields will be sent to the 4482 // server as null. It is an error if a field in this list has a 4483 // non-empty value. This may be used to include null fields in Patch 4484 // requests. 4485 NullFields []string `json:"-"` 4486} 4487 4488func (s *GoogleCloudVisionV1p2beta1BoundingPoly) MarshalJSON() ([]byte, error) { 4489 type NoMethod GoogleCloudVisionV1p2beta1BoundingPoly 4490 raw := NoMethod(*s) 4491 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4492} 4493 4494// GoogleCloudVisionV1p2beta1ColorInfo: Color information consists of 4495// RGB channels, score, and the fraction of the image that the color 4496// occupies in the image. 4497type GoogleCloudVisionV1p2beta1ColorInfo struct { 4498 // Color: RGB components of the color. 4499 Color *Color `json:"color,omitempty"` 4500 4501 // PixelFraction: The fraction of pixels the color occupies in the 4502 // image. Value in range [0, 1]. 4503 PixelFraction float64 `json:"pixelFraction,omitempty"` 4504 4505 // Score: Image-specific score for this color. Value in range [0, 1]. 4506 Score float64 `json:"score,omitempty"` 4507 4508 // ForceSendFields is a list of field names (e.g. "Color") to 4509 // unconditionally include in API requests. By default, fields with 4510 // empty or default values are omitted from API requests. However, any 4511 // non-pointer, non-interface field appearing in ForceSendFields will be 4512 // sent to the server regardless of whether the field is empty or not. 4513 // This may be used to include empty fields in Patch requests. 4514 ForceSendFields []string `json:"-"` 4515 4516 // NullFields is a list of field names (e.g. "Color") to include in API 4517 // requests with the JSON null value. By default, fields with empty 4518 // values are omitted from API requests. However, any field with an 4519 // empty value appearing in NullFields will be sent to the server as 4520 // null. It is an error if a field in this list has a non-empty value. 4521 // This may be used to include null fields in Patch requests. 4522 NullFields []string `json:"-"` 4523} 4524 4525func (s *GoogleCloudVisionV1p2beta1ColorInfo) MarshalJSON() ([]byte, error) { 4526 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4527 raw := NoMethod(*s) 4528 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4529} 4530 4531func (s *GoogleCloudVisionV1p2beta1ColorInfo) UnmarshalJSON(data []byte) error { 4532 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4533 var s1 struct { 4534 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 4535 Score gensupport.JSONFloat64 `json:"score"` 4536 *NoMethod 4537 } 4538 s1.NoMethod = (*NoMethod)(s) 4539 if err := json.Unmarshal(data, &s1); err != nil { 4540 return err 4541 } 4542 s.PixelFraction = float64(s1.PixelFraction) 4543 s.Score = float64(s1.Score) 4544 return nil 4545} 4546 4547// GoogleCloudVisionV1p2beta1CropHint: Single crop hint that is used to 4548// generate a new crop when serving an image. 4549type GoogleCloudVisionV1p2beta1CropHint struct { 4550 // BoundingPoly: The bounding polygon for the crop region. The 4551 // coordinates of the bounding box are in the original image's scale. 4552 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4553 4554 // Confidence: Confidence of this being a salient region. Range [0, 1]. 4555 Confidence float64 `json:"confidence,omitempty"` 4556 4557 // ImportanceFraction: Fraction of importance of this salient region 4558 // with respect to the original image. 4559 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 4560 4561 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4562 // unconditionally include in API requests. By default, fields with 4563 // empty or default values are omitted from API requests. However, any 4564 // non-pointer, non-interface field appearing in ForceSendFields will be 4565 // sent to the server regardless of whether the field is empty or not. 4566 // This may be used to include empty fields in Patch requests. 4567 ForceSendFields []string `json:"-"` 4568 4569 // NullFields is a list of field names (e.g. "BoundingPoly") to include 4570 // in API requests with the JSON null value. By default, fields with 4571 // empty values are omitted from API requests. However, any field with 4572 // an empty value appearing in NullFields will be sent to the server as 4573 // null. It is an error if a field in this list has a non-empty value. 4574 // This may be used to include null fields in Patch requests. 4575 NullFields []string `json:"-"` 4576} 4577 4578func (s *GoogleCloudVisionV1p2beta1CropHint) MarshalJSON() ([]byte, error) { 4579 type NoMethod GoogleCloudVisionV1p2beta1CropHint 4580 raw := NoMethod(*s) 4581 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4582} 4583 4584func (s *GoogleCloudVisionV1p2beta1CropHint) UnmarshalJSON(data []byte) error { 4585 type NoMethod GoogleCloudVisionV1p2beta1CropHint 4586 var s1 struct { 4587 Confidence gensupport.JSONFloat64 `json:"confidence"` 4588 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 4589 *NoMethod 4590 } 4591 s1.NoMethod = (*NoMethod)(s) 4592 if err := json.Unmarshal(data, &s1); err != nil { 4593 return err 4594 } 4595 s.Confidence = float64(s1.Confidence) 4596 s.ImportanceFraction = float64(s1.ImportanceFraction) 4597 return nil 4598} 4599 4600// GoogleCloudVisionV1p2beta1CropHintsAnnotation: Set of crop hints that 4601// are used to generate new crops when serving images. 4602type GoogleCloudVisionV1p2beta1CropHintsAnnotation struct { 4603 // CropHints: Crop hint results. 4604 CropHints []*GoogleCloudVisionV1p2beta1CropHint `json:"cropHints,omitempty"` 4605 4606 // ForceSendFields is a list of field names (e.g. "CropHints") to 4607 // unconditionally include in API requests. By default, fields with 4608 // empty or default values are omitted from API requests. However, any 4609 // non-pointer, non-interface field appearing in ForceSendFields will be 4610 // sent to the server regardless of whether the field is empty or not. 4611 // This may be used to include empty fields in Patch requests. 4612 ForceSendFields []string `json:"-"` 4613 4614 // NullFields is a list of field names (e.g. "CropHints") to include in 4615 // API requests with the JSON null value. By default, fields with empty 4616 // values are omitted from API requests. However, any field with an 4617 // empty value appearing in NullFields will be sent to the server as 4618 // null. It is an error if a field in this list has a non-empty value. 4619 // This may be used to include null fields in Patch requests. 4620 NullFields []string `json:"-"` 4621} 4622 4623func (s *GoogleCloudVisionV1p2beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 4624 type NoMethod GoogleCloudVisionV1p2beta1CropHintsAnnotation 4625 raw := NoMethod(*s) 4626 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4627} 4628 4629// GoogleCloudVisionV1p2beta1DominantColorsAnnotation: Set of dominant 4630// colors and their corresponding scores. 4631type GoogleCloudVisionV1p2beta1DominantColorsAnnotation struct { 4632 // Colors: RGB color values with their score and pixel fraction. 4633 Colors []*GoogleCloudVisionV1p2beta1ColorInfo `json:"colors,omitempty"` 4634 4635 // ForceSendFields is a list of field names (e.g. "Colors") to 4636 // unconditionally include in API requests. By default, fields with 4637 // empty or default values are omitted from API requests. However, any 4638 // non-pointer, non-interface field appearing in ForceSendFields will be 4639 // sent to the server regardless of whether the field is empty or not. 4640 // This may be used to include empty fields in Patch requests. 4641 ForceSendFields []string `json:"-"` 4642 4643 // NullFields is a list of field names (e.g. "Colors") to include in API 4644 // requests with the JSON null value. By default, fields with empty 4645 // values are omitted from API requests. However, any field with an 4646 // empty value appearing in NullFields will be sent to the server as 4647 // null. It is an error if a field in this list has a non-empty value. 4648 // This may be used to include null fields in Patch requests. 4649 NullFields []string `json:"-"` 4650} 4651 4652func (s *GoogleCloudVisionV1p2beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 4653 type NoMethod GoogleCloudVisionV1p2beta1DominantColorsAnnotation 4654 raw := NoMethod(*s) 4655 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4656} 4657 4658// GoogleCloudVisionV1p2beta1EntityAnnotation: Set of detected entity 4659// features. 4660type GoogleCloudVisionV1p2beta1EntityAnnotation struct { 4661 // BoundingPoly: Image region to which this entity belongs. Not produced 4662 // for `LABEL_DETECTION` features. 4663 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4664 4665 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 4666 // entity detection in an image. For example, for an image in which the 4667 // "Eiffel Tower" entity is detected, this field represents the 4668 // confidence that there is a tower in the query image. Range [0, 1]. 4669 Confidence float64 `json:"confidence,omitempty"` 4670 4671 // Description: Entity textual description, expressed in its `locale` 4672 // language. 4673 Description string `json:"description,omitempty"` 4674 4675 // Locale: The language code for the locale in which the entity textual 4676 // `description` is expressed. 4677 Locale string `json:"locale,omitempty"` 4678 4679 // Locations: The location information for the detected entity. Multiple 4680 // `LocationInfo` elements can be present because one location may 4681 // indicate the location of the scene in the image, and another location 4682 // may indicate the location of the place where the image was taken. 4683 // Location information is usually present for landmarks. 4684 Locations []*GoogleCloudVisionV1p2beta1LocationInfo `json:"locations,omitempty"` 4685 4686 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 4687 // Graph Search API (https://developers.google.com/knowledge-graph/). 4688 Mid string `json:"mid,omitempty"` 4689 4690 // Properties: Some entities may have optional user-supplied `Property` 4691 // (name/value) fields, such a score or string that qualifies the 4692 // entity. 4693 Properties []*GoogleCloudVisionV1p2beta1Property `json:"properties,omitempty"` 4694 4695 // Score: Overall score of the result. Range [0, 1]. 4696 Score float64 `json:"score,omitempty"` 4697 4698 // Topicality: The relevancy of the ICA (Image Content Annotation) label 4699 // to the image. For example, the relevancy of "tower" is likely higher 4700 // to an image containing the detected "Eiffel Tower" than to an image 4701 // containing a detected distant towering building, even though the 4702 // confidence that there is a tower in each image may be the same. Range 4703 // [0, 1]. 4704 Topicality float64 `json:"topicality,omitempty"` 4705 4706 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4707 // unconditionally include in API requests. By default, fields with 4708 // empty or default values are omitted from API requests. However, any 4709 // non-pointer, non-interface field appearing in ForceSendFields will be 4710 // sent to the server regardless of whether the field is empty or not. 4711 // This may be used to include empty fields in Patch requests. 4712 ForceSendFields []string `json:"-"` 4713 4714 // NullFields is a list of field names (e.g. "BoundingPoly") to include 4715 // in API requests with the JSON null value. By default, fields with 4716 // empty values are omitted from API requests. However, any field with 4717 // an empty value appearing in NullFields will be sent to the server as 4718 // null. It is an error if a field in this list has a non-empty value. 4719 // This may be used to include null fields in Patch requests. 4720 NullFields []string `json:"-"` 4721} 4722 4723func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 4724 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 4725 raw := NoMethod(*s) 4726 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4727} 4728 4729func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 4730 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 4731 var s1 struct { 4732 Confidence gensupport.JSONFloat64 `json:"confidence"` 4733 Score gensupport.JSONFloat64 `json:"score"` 4734 Topicality gensupport.JSONFloat64 `json:"topicality"` 4735 *NoMethod 4736 } 4737 s1.NoMethod = (*NoMethod)(s) 4738 if err := json.Unmarshal(data, &s1); err != nil { 4739 return err 4740 } 4741 s.Confidence = float64(s1.Confidence) 4742 s.Score = float64(s1.Score) 4743 s.Topicality = float64(s1.Topicality) 4744 return nil 4745} 4746 4747// GoogleCloudVisionV1p2beta1FaceAnnotation: A face annotation object 4748// contains the results of face detection. 4749type GoogleCloudVisionV1p2beta1FaceAnnotation struct { 4750 // AngerLikelihood: Anger likelihood. 4751 // 4752 // Possible values: 4753 // "UNKNOWN" - Unknown likelihood. 4754 // "VERY_UNLIKELY" - It is very unlikely. 4755 // "UNLIKELY" - It is unlikely. 4756 // "POSSIBLE" - It is possible. 4757 // "LIKELY" - It is likely. 4758 // "VERY_LIKELY" - It is very likely. 4759 AngerLikelihood string `json:"angerLikelihood,omitempty"` 4760 4761 // BlurredLikelihood: Blurred likelihood. 4762 // 4763 // Possible values: 4764 // "UNKNOWN" - Unknown likelihood. 4765 // "VERY_UNLIKELY" - It is very unlikely. 4766 // "UNLIKELY" - It is unlikely. 4767 // "POSSIBLE" - It is possible. 4768 // "LIKELY" - It is likely. 4769 // "VERY_LIKELY" - It is very likely. 4770 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 4771 4772 // BoundingPoly: The bounding polygon around the face. The coordinates 4773 // of the bounding box are in the original image's scale. The bounding 4774 // box is computed to "frame" the face in accordance with human 4775 // expectations. It is based on the landmarker results. Note that one or 4776 // more x and/or y coordinates may not be generated in the 4777 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 4778 // appears in the image to be annotated. 4779 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4780 4781 // DetectionConfidence: Detection confidence. Range [0, 1]. 4782 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 4783 4784 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 4785 // than the `boundingPoly`, and encloses only the skin part of the face. 4786 // Typically, it is used to eliminate the face from any image analysis 4787 // that detects the "amount of skin" visible in an image. It is not 4788 // based on the landmarker results, only on the initial face detection, 4789 // hence the fd (face detection) prefix. 4790 FdBoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 4791 4792 // HeadwearLikelihood: Headwear likelihood. 4793 // 4794 // Possible values: 4795 // "UNKNOWN" - Unknown likelihood. 4796 // "VERY_UNLIKELY" - It is very unlikely. 4797 // "UNLIKELY" - It is unlikely. 4798 // "POSSIBLE" - It is possible. 4799 // "LIKELY" - It is likely. 4800 // "VERY_LIKELY" - It is very likely. 4801 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 4802 4803 // JoyLikelihood: Joy likelihood. 4804 // 4805 // Possible values: 4806 // "UNKNOWN" - Unknown likelihood. 4807 // "VERY_UNLIKELY" - It is very unlikely. 4808 // "UNLIKELY" - It is unlikely. 4809 // "POSSIBLE" - It is possible. 4810 // "LIKELY" - It is likely. 4811 // "VERY_LIKELY" - It is very likely. 4812 JoyLikelihood string `json:"joyLikelihood,omitempty"` 4813 4814 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 4815 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 4816 4817 // Landmarks: Detected face landmarks. 4818 Landmarks []*GoogleCloudVisionV1p2beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 4819 4820 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 4821 // that the face is pointing relative to the vertical plane 4822 // perpendicular to the image. Range [-180,180]. 4823 PanAngle float64 `json:"panAngle,omitempty"` 4824 4825 // RollAngle: Roll angle, which indicates the amount of 4826 // clockwise/anti-clockwise rotation of the face relative to the image 4827 // vertical about the axis perpendicular to the face. Range [-180,180]. 4828 RollAngle float64 `json:"rollAngle,omitempty"` 4829 4830 // SorrowLikelihood: Sorrow likelihood. 4831 // 4832 // Possible values: 4833 // "UNKNOWN" - Unknown likelihood. 4834 // "VERY_UNLIKELY" - It is very unlikely. 4835 // "UNLIKELY" - It is unlikely. 4836 // "POSSIBLE" - It is possible. 4837 // "LIKELY" - It is likely. 4838 // "VERY_LIKELY" - It is very likely. 4839 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 4840 4841 // SurpriseLikelihood: Surprise likelihood. 4842 // 4843 // Possible values: 4844 // "UNKNOWN" - Unknown likelihood. 4845 // "VERY_UNLIKELY" - It is very unlikely. 4846 // "UNLIKELY" - It is unlikely. 4847 // "POSSIBLE" - It is possible. 4848 // "LIKELY" - It is likely. 4849 // "VERY_LIKELY" - It is very likely. 4850 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 4851 4852 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 4853 // that the face is pointing relative to the image's horizontal plane. 4854 // Range [-180,180]. 4855 TiltAngle float64 `json:"tiltAngle,omitempty"` 4856 4857 // UnderExposedLikelihood: Under-exposed likelihood. 4858 // 4859 // Possible values: 4860 // "UNKNOWN" - Unknown likelihood. 4861 // "VERY_UNLIKELY" - It is very unlikely. 4862 // "UNLIKELY" - It is unlikely. 4863 // "POSSIBLE" - It is possible. 4864 // "LIKELY" - It is likely. 4865 // "VERY_LIKELY" - It is very likely. 4866 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 4867 4868 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 4869 // unconditionally include in API requests. By default, fields with 4870 // empty or default values are omitted from API requests. However, any 4871 // non-pointer, non-interface field appearing in ForceSendFields will be 4872 // sent to the server regardless of whether the field is empty or not. 4873 // This may be used to include empty fields in Patch requests. 4874 ForceSendFields []string `json:"-"` 4875 4876 // NullFields is a list of field names (e.g. "AngerLikelihood") to 4877 // include in API requests with the JSON null value. By default, fields 4878 // with empty values are omitted from API requests. However, any field 4879 // with an empty value appearing in NullFields will be sent to the 4880 // server as null. It is an error if a field in this list has a 4881 // non-empty value. This may be used to include null fields in Patch 4882 // requests. 4883 NullFields []string `json:"-"` 4884} 4885 4886func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 4887 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 4888 raw := NoMethod(*s) 4889 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4890} 4891 4892func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 4893 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 4894 var s1 struct { 4895 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 4896 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 4897 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 4898 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 4899 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 4900 *NoMethod 4901 } 4902 s1.NoMethod = (*NoMethod)(s) 4903 if err := json.Unmarshal(data, &s1); err != nil { 4904 return err 4905 } 4906 s.DetectionConfidence = float64(s1.DetectionConfidence) 4907 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 4908 s.PanAngle = float64(s1.PanAngle) 4909 s.RollAngle = float64(s1.RollAngle) 4910 s.TiltAngle = float64(s1.TiltAngle) 4911 return nil 4912} 4913 4914// GoogleCloudVisionV1p2beta1FaceAnnotationLandmark: A face-specific 4915// landmark (for example, a face feature). 4916type GoogleCloudVisionV1p2beta1FaceAnnotationLandmark struct { 4917 // Position: Face landmark position. 4918 Position *GoogleCloudVisionV1p2beta1Position `json:"position,omitempty"` 4919 4920 // Type: Face landmark type. 4921 // 4922 // Possible values: 4923 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 4924 // filled. 4925 // "LEFT_EYE" - Left eye. 4926 // "RIGHT_EYE" - Right eye. 4927 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 4928 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 4929 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 4930 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 4931 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 4932 // "NOSE_TIP" - Nose tip. 4933 // "UPPER_LIP" - Upper lip. 4934 // "LOWER_LIP" - Lower lip. 4935 // "MOUTH_LEFT" - Mouth left. 4936 // "MOUTH_RIGHT" - Mouth right. 4937 // "MOUTH_CENTER" - Mouth center. 4938 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 4939 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 4940 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 4941 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 4942 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 4943 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 4944 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 4945 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 4946 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 4947 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 4948 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 4949 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 4950 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 4951 // "LEFT_EAR_TRAGION" - Left ear tragion. 4952 // "RIGHT_EAR_TRAGION" - Right ear tragion. 4953 // "LEFT_EYE_PUPIL" - Left eye pupil. 4954 // "RIGHT_EYE_PUPIL" - Right eye pupil. 4955 // "FOREHEAD_GLABELLA" - Forehead glabella. 4956 // "CHIN_GNATHION" - Chin gnathion. 4957 // "CHIN_LEFT_GONION" - Chin left gonion. 4958 // "CHIN_RIGHT_GONION" - Chin right gonion. 4959 // "LEFT_CHEEK_CENTER" - Left cheek center. 4960 // "RIGHT_CHEEK_CENTER" - Right cheek center. 4961 Type string `json:"type,omitempty"` 4962 4963 // ForceSendFields is a list of field names (e.g. "Position") to 4964 // unconditionally include in API requests. By default, fields with 4965 // empty or default values are omitted from API requests. However, any 4966 // non-pointer, non-interface field appearing in ForceSendFields will be 4967 // sent to the server regardless of whether the field is empty or not. 4968 // This may be used to include empty fields in Patch requests. 4969 ForceSendFields []string `json:"-"` 4970 4971 // NullFields is a list of field names (e.g. "Position") to include in 4972 // API requests with the JSON null value. By default, fields with empty 4973 // values are omitted from API requests. However, any field with an 4974 // empty value appearing in NullFields will be sent to the server as 4975 // null. It is an error if a field in this list has a non-empty value. 4976 // This may be used to include null fields in Patch requests. 4977 NullFields []string `json:"-"` 4978} 4979 4980func (s *GoogleCloudVisionV1p2beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 4981 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotationLandmark 4982 raw := NoMethod(*s) 4983 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4984} 4985 4986// GoogleCloudVisionV1p2beta1GcsDestination: The Google Cloud Storage 4987// location where the output will be written to. 4988type GoogleCloudVisionV1p2beta1GcsDestination struct { 4989 // Uri: Google Cloud Storage URI prefix where the results will be 4990 // stored. Results will be in JSON format and preceded by its 4991 // corresponding input URI prefix. This field can either represent a gcs 4992 // file prefix or gcs directory. In either case, the uri should be 4993 // unique because in order to get all of the output files, you will need 4994 // to do a wildcard gcs search on the uri prefix you provide. Examples: 4995 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 4996 // will be created in gs://bucket-name/here/ and the names of the output 4997 // files will begin with "filenameprefix". * Directory Prefix: 4998 // gs://bucket-name/some/location/ The output files will be created in 4999 // gs://bucket-name/some/location/ and the names of the output files 5000 // could be anything because there was no filename prefix specified. If 5001 // multiple outputs, each response is still AnnotateFileResponse, each 5002 // of which contains some subset of the full list of 5003 // AnnotateImageResponse. Multiple outputs can happen if, for example, 5004 // the output JSON is too large and overflows into multiple sharded 5005 // files. 5006 Uri string `json:"uri,omitempty"` 5007 5008 // ForceSendFields is a list of field names (e.g. "Uri") to 5009 // unconditionally include in API requests. By default, fields with 5010 // empty or default values are omitted from API requests. However, any 5011 // non-pointer, non-interface field appearing in ForceSendFields will be 5012 // sent to the server regardless of whether the field is empty or not. 5013 // This may be used to include empty fields in Patch requests. 5014 ForceSendFields []string `json:"-"` 5015 5016 // NullFields is a list of field names (e.g. "Uri") to include in API 5017 // requests with the JSON null value. By default, fields with empty 5018 // values are omitted from API requests. However, any field with an 5019 // empty value appearing in NullFields will be sent to the server as 5020 // null. It is an error if a field in this list has a non-empty value. 5021 // This may be used to include null fields in Patch requests. 5022 NullFields []string `json:"-"` 5023} 5024 5025func (s *GoogleCloudVisionV1p2beta1GcsDestination) MarshalJSON() ([]byte, error) { 5026 type NoMethod GoogleCloudVisionV1p2beta1GcsDestination 5027 raw := NoMethod(*s) 5028 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5029} 5030 5031// GoogleCloudVisionV1p2beta1GcsSource: The Google Cloud Storage 5032// location where the input will be read from. 5033type GoogleCloudVisionV1p2beta1GcsSource struct { 5034 // Uri: Google Cloud Storage URI for the input file. This must only be a 5035 // Google Cloud Storage object. Wildcards are not currently supported. 5036 Uri string `json:"uri,omitempty"` 5037 5038 // ForceSendFields is a list of field names (e.g. "Uri") to 5039 // unconditionally include in API requests. By default, fields with 5040 // empty or default values are omitted from API requests. However, any 5041 // non-pointer, non-interface field appearing in ForceSendFields will be 5042 // sent to the server regardless of whether the field is empty or not. 5043 // This may be used to include empty fields in Patch requests. 5044 ForceSendFields []string `json:"-"` 5045 5046 // NullFields is a list of field names (e.g. "Uri") to include in API 5047 // requests with the JSON null value. By default, fields with empty 5048 // values are omitted from API requests. However, any field with an 5049 // empty value appearing in NullFields will be sent to the server as 5050 // null. It is an error if a field in this list has a non-empty value. 5051 // This may be used to include null fields in Patch requests. 5052 NullFields []string `json:"-"` 5053} 5054 5055func (s *GoogleCloudVisionV1p2beta1GcsSource) MarshalJSON() ([]byte, error) { 5056 type NoMethod GoogleCloudVisionV1p2beta1GcsSource 5057 raw := NoMethod(*s) 5058 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5059} 5060 5061// GoogleCloudVisionV1p2beta1ImageAnnotationContext: If an image was 5062// produced from a file (e.g. a PDF), this message gives information 5063// about the source of that image. 5064type GoogleCloudVisionV1p2beta1ImageAnnotationContext struct { 5065 // PageNumber: If the file was a PDF or TIFF, this field gives the page 5066 // number within the file used to produce the image. 5067 PageNumber int64 `json:"pageNumber,omitempty"` 5068 5069 // Uri: The URI of the file used to produce the image. 5070 Uri string `json:"uri,omitempty"` 5071 5072 // ForceSendFields is a list of field names (e.g. "PageNumber") to 5073 // unconditionally include in API requests. By default, fields with 5074 // empty or default values are omitted from API requests. However, any 5075 // non-pointer, non-interface field appearing in ForceSendFields will be 5076 // sent to the server regardless of whether the field is empty or not. 5077 // This may be used to include empty fields in Patch requests. 5078 ForceSendFields []string `json:"-"` 5079 5080 // NullFields is a list of field names (e.g. "PageNumber") to include in 5081 // API requests with the JSON null value. By default, fields with empty 5082 // values are omitted from API requests. However, any field with an 5083 // empty value appearing in NullFields will be sent to the server as 5084 // null. It is an error if a field in this list has a non-empty value. 5085 // This may be used to include null fields in Patch requests. 5086 NullFields []string `json:"-"` 5087} 5088 5089func (s *GoogleCloudVisionV1p2beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 5090 type NoMethod GoogleCloudVisionV1p2beta1ImageAnnotationContext 5091 raw := NoMethod(*s) 5092 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5093} 5094 5095// GoogleCloudVisionV1p2beta1ImageProperties: Stores image properties, 5096// such as dominant colors. 5097type GoogleCloudVisionV1p2beta1ImageProperties struct { 5098 // DominantColors: If present, dominant colors completed successfully. 5099 DominantColors *GoogleCloudVisionV1p2beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 5100 5101 // ForceSendFields is a list of field names (e.g. "DominantColors") to 5102 // unconditionally include in API requests. By default, fields with 5103 // empty or default values are omitted from API requests. However, any 5104 // non-pointer, non-interface field appearing in ForceSendFields will be 5105 // sent to the server regardless of whether the field is empty or not. 5106 // This may be used to include empty fields in Patch requests. 5107 ForceSendFields []string `json:"-"` 5108 5109 // NullFields is a list of field names (e.g. "DominantColors") to 5110 // include in API requests with the JSON null value. By default, fields 5111 // with empty values are omitted from API requests. However, any field 5112 // with an empty value appearing in NullFields will be sent to the 5113 // server as null. It is an error if a field in this list has a 5114 // non-empty value. This may be used to include null fields in Patch 5115 // requests. 5116 NullFields []string `json:"-"` 5117} 5118 5119func (s *GoogleCloudVisionV1p2beta1ImageProperties) MarshalJSON() ([]byte, error) { 5120 type NoMethod GoogleCloudVisionV1p2beta1ImageProperties 5121 raw := NoMethod(*s) 5122 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5123} 5124 5125// GoogleCloudVisionV1p2beta1InputConfig: The desired input location and 5126// metadata. 5127type GoogleCloudVisionV1p2beta1InputConfig struct { 5128 // Content: File content, represented as a stream of bytes. Note: As 5129 // with all `bytes` fields, protobuffers use a pure binary 5130 // representation, whereas JSON representations use base64. Currently, 5131 // this field only works for BatchAnnotateFiles requests. It does not 5132 // work for AsyncBatchAnnotateFiles requests. 5133 Content string `json:"content,omitempty"` 5134 5135 // GcsSource: The Google Cloud Storage location to read the input from. 5136 GcsSource *GoogleCloudVisionV1p2beta1GcsSource `json:"gcsSource,omitempty"` 5137 5138 // MimeType: The type of the file. Currently only "application/pdf", 5139 // "image/tiff" and "image/gif" are supported. Wildcards are not 5140 // supported. 5141 MimeType string `json:"mimeType,omitempty"` 5142 5143 // ForceSendFields is a list of field names (e.g. "Content") to 5144 // unconditionally include in API requests. By default, fields with 5145 // empty or default values are omitted from API requests. However, any 5146 // non-pointer, non-interface field appearing in ForceSendFields will be 5147 // sent to the server regardless of whether the field is empty or not. 5148 // This may be used to include empty fields in Patch requests. 5149 ForceSendFields []string `json:"-"` 5150 5151 // NullFields is a list of field names (e.g. "Content") to include in 5152 // API requests with the JSON null value. By default, fields with empty 5153 // values are omitted from API requests. However, any field with an 5154 // empty value appearing in NullFields will be sent to the server as 5155 // null. It is an error if a field in this list has a non-empty value. 5156 // This may be used to include null fields in Patch requests. 5157 NullFields []string `json:"-"` 5158} 5159 5160func (s *GoogleCloudVisionV1p2beta1InputConfig) MarshalJSON() ([]byte, error) { 5161 type NoMethod GoogleCloudVisionV1p2beta1InputConfig 5162 raw := NoMethod(*s) 5163 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5164} 5165 5166// GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation: Set of detected 5167// objects with bounding boxes. 5168type GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation struct { 5169 // BoundingPoly: Image region to which this object belongs. This must be 5170 // populated. 5171 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5172 5173 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 5174 // For more information, see 5175 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 5176 LanguageCode string `json:"languageCode,omitempty"` 5177 5178 // Mid: Object ID that should align with EntityAnnotation mid. 5179 Mid string `json:"mid,omitempty"` 5180 5181 // Name: Object name, expressed in its `language_code` language. 5182 Name string `json:"name,omitempty"` 5183 5184 // Score: Score of the result. Range [0, 1]. 5185 Score float64 `json:"score,omitempty"` 5186 5187 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5188 // unconditionally include in API requests. By default, fields with 5189 // empty or default values are omitted from API requests. However, any 5190 // non-pointer, non-interface field appearing in ForceSendFields will be 5191 // sent to the server regardless of whether the field is empty or not. 5192 // This may be used to include empty fields in Patch requests. 5193 ForceSendFields []string `json:"-"` 5194 5195 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5196 // in API requests with the JSON null value. By default, fields with 5197 // empty values are omitted from API requests. However, any field with 5198 // an empty value appearing in NullFields will be sent to the server as 5199 // null. It is an error if a field in this list has a non-empty value. 5200 // This may be used to include null fields in Patch requests. 5201 NullFields []string `json:"-"` 5202} 5203 5204func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 5205 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5206 raw := NoMethod(*s) 5207 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5208} 5209 5210func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 5211 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5212 var s1 struct { 5213 Score gensupport.JSONFloat64 `json:"score"` 5214 *NoMethod 5215 } 5216 s1.NoMethod = (*NoMethod)(s) 5217 if err := json.Unmarshal(data, &s1); err != nil { 5218 return err 5219 } 5220 s.Score = float64(s1.Score) 5221 return nil 5222} 5223 5224// GoogleCloudVisionV1p2beta1LocationInfo: Detected entity location 5225// information. 5226type GoogleCloudVisionV1p2beta1LocationInfo struct { 5227 // LatLng: lat/long location coordinates. 5228 LatLng *LatLng `json:"latLng,omitempty"` 5229 5230 // ForceSendFields is a list of field names (e.g. "LatLng") to 5231 // unconditionally include in API requests. By default, fields with 5232 // empty or default values are omitted from API requests. However, any 5233 // non-pointer, non-interface field appearing in ForceSendFields will be 5234 // sent to the server regardless of whether the field is empty or not. 5235 // This may be used to include empty fields in Patch requests. 5236 ForceSendFields []string `json:"-"` 5237 5238 // NullFields is a list of field names (e.g. "LatLng") to include in API 5239 // requests with the JSON null value. By default, fields with empty 5240 // values are omitted from API requests. However, any field with an 5241 // empty value appearing in NullFields will be sent to the server as 5242 // null. It is an error if a field in this list has a non-empty value. 5243 // This may be used to include null fields in Patch requests. 5244 NullFields []string `json:"-"` 5245} 5246 5247func (s *GoogleCloudVisionV1p2beta1LocationInfo) MarshalJSON() ([]byte, error) { 5248 type NoMethod GoogleCloudVisionV1p2beta1LocationInfo 5249 raw := NoMethod(*s) 5250 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5251} 5252 5253// GoogleCloudVisionV1p2beta1NormalizedVertex: A vertex represents a 2D 5254// point in the image. NOTE: the normalized vertex coordinates are 5255// relative to the original image and range from 0 to 1. 5256type GoogleCloudVisionV1p2beta1NormalizedVertex struct { 5257 // X: X coordinate. 5258 X float64 `json:"x,omitempty"` 5259 5260 // Y: Y coordinate. 5261 Y float64 `json:"y,omitempty"` 5262 5263 // ForceSendFields is a list of field names (e.g. "X") to 5264 // unconditionally include in API requests. By default, fields with 5265 // empty or default values are omitted from API requests. However, any 5266 // non-pointer, non-interface field appearing in ForceSendFields will be 5267 // sent to the server regardless of whether the field is empty or not. 5268 // This may be used to include empty fields in Patch requests. 5269 ForceSendFields []string `json:"-"` 5270 5271 // NullFields is a list of field names (e.g. "X") to include in API 5272 // requests with the JSON null value. By default, fields with empty 5273 // values are omitted from API requests. However, any field with an 5274 // empty value appearing in NullFields will be sent to the server as 5275 // null. It is an error if a field in this list has a non-empty value. 5276 // This may be used to include null fields in Patch requests. 5277 NullFields []string `json:"-"` 5278} 5279 5280func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 5281 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5282 raw := NoMethod(*s) 5283 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5284} 5285 5286func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 5287 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5288 var s1 struct { 5289 X gensupport.JSONFloat64 `json:"x"` 5290 Y gensupport.JSONFloat64 `json:"y"` 5291 *NoMethod 5292 } 5293 s1.NoMethod = (*NoMethod)(s) 5294 if err := json.Unmarshal(data, &s1); err != nil { 5295 return err 5296 } 5297 s.X = float64(s1.X) 5298 s.Y = float64(s1.Y) 5299 return nil 5300} 5301 5302// GoogleCloudVisionV1p2beta1OperationMetadata: Contains metadata for 5303// the BatchAnnotateImages operation. 5304type GoogleCloudVisionV1p2beta1OperationMetadata struct { 5305 // CreateTime: The time when the batch request was received. 5306 CreateTime string `json:"createTime,omitempty"` 5307 5308 // State: Current state of the batch operation. 5309 // 5310 // Possible values: 5311 // "STATE_UNSPECIFIED" - Invalid. 5312 // "CREATED" - Request is received. 5313 // "RUNNING" - Request is actively being processed. 5314 // "DONE" - The batch processing is done. 5315 // "CANCELLED" - The batch processing was cancelled. 5316 State string `json:"state,omitempty"` 5317 5318 // UpdateTime: The time when the operation result was last updated. 5319 UpdateTime string `json:"updateTime,omitempty"` 5320 5321 // ForceSendFields is a list of field names (e.g. "CreateTime") to 5322 // unconditionally include in API requests. By default, fields with 5323 // empty or default values are omitted from API requests. However, any 5324 // non-pointer, non-interface field appearing in ForceSendFields will be 5325 // sent to the server regardless of whether the field is empty or not. 5326 // This may be used to include empty fields in Patch requests. 5327 ForceSendFields []string `json:"-"` 5328 5329 // NullFields is a list of field names (e.g. "CreateTime") to include in 5330 // API requests with the JSON null value. By default, fields with empty 5331 // values are omitted from API requests. However, any field with an 5332 // empty value appearing in NullFields will be sent to the server as 5333 // null. It is an error if a field in this list has a non-empty value. 5334 // This may be used to include null fields in Patch requests. 5335 NullFields []string `json:"-"` 5336} 5337 5338func (s *GoogleCloudVisionV1p2beta1OperationMetadata) MarshalJSON() ([]byte, error) { 5339 type NoMethod GoogleCloudVisionV1p2beta1OperationMetadata 5340 raw := NoMethod(*s) 5341 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5342} 5343 5344// GoogleCloudVisionV1p2beta1OutputConfig: The desired output location 5345// and metadata. 5346type GoogleCloudVisionV1p2beta1OutputConfig struct { 5347 // BatchSize: The max number of response protos to put into each output 5348 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 5349 // not specified, the default value is 20. For example, for one pdf file 5350 // with 100 pages, 100 response protos will be generated. If 5351 // `batch_size` = 20, then 5 json files each containing 20 response 5352 // protos will be written under the prefix `gcs_destination`.`uri`. 5353 // Currently, batch_size only applies to GcsDestination, with potential 5354 // future support for other output configurations. 5355 BatchSize int64 `json:"batchSize,omitempty"` 5356 5357 // GcsDestination: The Google Cloud Storage location to write the 5358 // output(s) to. 5359 GcsDestination *GoogleCloudVisionV1p2beta1GcsDestination `json:"gcsDestination,omitempty"` 5360 5361 // ForceSendFields is a list of field names (e.g. "BatchSize") to 5362 // unconditionally include in API requests. By default, fields with 5363 // empty or default values are omitted from API requests. However, any 5364 // non-pointer, non-interface field appearing in ForceSendFields will be 5365 // sent to the server regardless of whether the field is empty or not. 5366 // This may be used to include empty fields in Patch requests. 5367 ForceSendFields []string `json:"-"` 5368 5369 // NullFields is a list of field names (e.g. "BatchSize") to include in 5370 // API requests with the JSON null value. By default, fields with empty 5371 // values are omitted from API requests. However, any field with an 5372 // empty value appearing in NullFields will be sent to the server as 5373 // null. It is an error if a field in this list has a non-empty value. 5374 // This may be used to include null fields in Patch requests. 5375 NullFields []string `json:"-"` 5376} 5377 5378func (s *GoogleCloudVisionV1p2beta1OutputConfig) MarshalJSON() ([]byte, error) { 5379 type NoMethod GoogleCloudVisionV1p2beta1OutputConfig 5380 raw := NoMethod(*s) 5381 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5382} 5383 5384// GoogleCloudVisionV1p2beta1Page: Detected page from OCR. 5385type GoogleCloudVisionV1p2beta1Page struct { 5386 // Blocks: List of blocks of text, images etc on this page. 5387 Blocks []*GoogleCloudVisionV1p2beta1Block `json:"blocks,omitempty"` 5388 5389 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 5390 Confidence float64 `json:"confidence,omitempty"` 5391 5392 // Height: Page height. For PDFs the unit is points. For images 5393 // (including TIFFs) the unit is pixels. 5394 Height int64 `json:"height,omitempty"` 5395 5396 // Property: Additional information detected on the page. 5397 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5398 5399 // Width: Page width. For PDFs the unit is points. For images (including 5400 // TIFFs) the unit is pixels. 5401 Width int64 `json:"width,omitempty"` 5402 5403 // ForceSendFields is a list of field names (e.g. "Blocks") to 5404 // unconditionally include in API requests. By default, fields with 5405 // empty or default values are omitted from API requests. However, any 5406 // non-pointer, non-interface field appearing in ForceSendFields will be 5407 // sent to the server regardless of whether the field is empty or not. 5408 // This may be used to include empty fields in Patch requests. 5409 ForceSendFields []string `json:"-"` 5410 5411 // NullFields is a list of field names (e.g. "Blocks") to include in API 5412 // requests with the JSON null value. By default, fields with empty 5413 // values are omitted from API requests. However, any field with an 5414 // empty value appearing in NullFields will be sent to the server as 5415 // null. It is an error if a field in this list has a non-empty value. 5416 // This may be used to include null fields in Patch requests. 5417 NullFields []string `json:"-"` 5418} 5419 5420func (s *GoogleCloudVisionV1p2beta1Page) MarshalJSON() ([]byte, error) { 5421 type NoMethod GoogleCloudVisionV1p2beta1Page 5422 raw := NoMethod(*s) 5423 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5424} 5425 5426func (s *GoogleCloudVisionV1p2beta1Page) UnmarshalJSON(data []byte) error { 5427 type NoMethod GoogleCloudVisionV1p2beta1Page 5428 var s1 struct { 5429 Confidence gensupport.JSONFloat64 `json:"confidence"` 5430 *NoMethod 5431 } 5432 s1.NoMethod = (*NoMethod)(s) 5433 if err := json.Unmarshal(data, &s1); err != nil { 5434 return err 5435 } 5436 s.Confidence = float64(s1.Confidence) 5437 return nil 5438} 5439 5440// GoogleCloudVisionV1p2beta1Paragraph: Structural unit of text 5441// representing a number of words in certain order. 5442type GoogleCloudVisionV1p2beta1Paragraph struct { 5443 // BoundingBox: The bounding box for the paragraph. The vertices are in 5444 // the order of top-left, top-right, bottom-right, bottom-left. When a 5445 // rotation of the bounding box is detected the rotation is represented 5446 // as around the top-left corner as defined when the text is read in the 5447 // 'natural' orientation. For example: * when the text is horizontal it 5448 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 5449 // around the top-left corner it becomes: 2----3 | | 1----0 and the 5450 // vertex order will still be (0, 1, 2, 3). 5451 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 5452 5453 // Confidence: Confidence of the OCR results for the paragraph. Range 5454 // [0, 1]. 5455 Confidence float64 `json:"confidence,omitempty"` 5456 5457 // Property: Additional information detected for the paragraph. 5458 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5459 5460 // Words: List of all words in this paragraph. 5461 Words []*GoogleCloudVisionV1p2beta1Word `json:"words,omitempty"` 5462 5463 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 5464 // unconditionally include in API requests. By default, fields with 5465 // empty or default values are omitted from API requests. However, any 5466 // non-pointer, non-interface field appearing in ForceSendFields will be 5467 // sent to the server regardless of whether the field is empty or not. 5468 // This may be used to include empty fields in Patch requests. 5469 ForceSendFields []string `json:"-"` 5470 5471 // NullFields is a list of field names (e.g. "BoundingBox") to include 5472 // in API requests with the JSON null value. By default, fields with 5473 // empty values are omitted from API requests. However, any field with 5474 // an empty value appearing in NullFields will be sent to the server as 5475 // null. It is an error if a field in this list has a non-empty value. 5476 // This may be used to include null fields in Patch requests. 5477 NullFields []string `json:"-"` 5478} 5479 5480func (s *GoogleCloudVisionV1p2beta1Paragraph) MarshalJSON() ([]byte, error) { 5481 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5482 raw := NoMethod(*s) 5483 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5484} 5485 5486func (s *GoogleCloudVisionV1p2beta1Paragraph) UnmarshalJSON(data []byte) error { 5487 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5488 var s1 struct { 5489 Confidence gensupport.JSONFloat64 `json:"confidence"` 5490 *NoMethod 5491 } 5492 s1.NoMethod = (*NoMethod)(s) 5493 if err := json.Unmarshal(data, &s1); err != nil { 5494 return err 5495 } 5496 s.Confidence = float64(s1.Confidence) 5497 return nil 5498} 5499 5500// GoogleCloudVisionV1p2beta1Position: A 3D position in the image, used 5501// primarily for Face detection landmarks. A valid Position must have 5502// both x and y coordinates. The position coordinates are in the same 5503// scale as the original image. 5504type GoogleCloudVisionV1p2beta1Position struct { 5505 // X: X coordinate. 5506 X float64 `json:"x,omitempty"` 5507 5508 // Y: Y coordinate. 5509 Y float64 `json:"y,omitempty"` 5510 5511 // Z: Z coordinate (or depth). 5512 Z float64 `json:"z,omitempty"` 5513 5514 // ForceSendFields is a list of field names (e.g. "X") to 5515 // unconditionally include in API requests. By default, fields with 5516 // empty or default values are omitted from API requests. However, any 5517 // non-pointer, non-interface field appearing in ForceSendFields will be 5518 // sent to the server regardless of whether the field is empty or not. 5519 // This may be used to include empty fields in Patch requests. 5520 ForceSendFields []string `json:"-"` 5521 5522 // NullFields is a list of field names (e.g. "X") to include in API 5523 // requests with the JSON null value. By default, fields with empty 5524 // values are omitted from API requests. However, any field with an 5525 // empty value appearing in NullFields will be sent to the server as 5526 // null. It is an error if a field in this list has a non-empty value. 5527 // This may be used to include null fields in Patch requests. 5528 NullFields []string `json:"-"` 5529} 5530 5531func (s *GoogleCloudVisionV1p2beta1Position) MarshalJSON() ([]byte, error) { 5532 type NoMethod GoogleCloudVisionV1p2beta1Position 5533 raw := NoMethod(*s) 5534 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5535} 5536 5537func (s *GoogleCloudVisionV1p2beta1Position) UnmarshalJSON(data []byte) error { 5538 type NoMethod GoogleCloudVisionV1p2beta1Position 5539 var s1 struct { 5540 X gensupport.JSONFloat64 `json:"x"` 5541 Y gensupport.JSONFloat64 `json:"y"` 5542 Z gensupport.JSONFloat64 `json:"z"` 5543 *NoMethod 5544 } 5545 s1.NoMethod = (*NoMethod)(s) 5546 if err := json.Unmarshal(data, &s1); err != nil { 5547 return err 5548 } 5549 s.X = float64(s1.X) 5550 s.Y = float64(s1.Y) 5551 s.Z = float64(s1.Z) 5552 return nil 5553} 5554 5555// GoogleCloudVisionV1p2beta1Product: A Product contains 5556// ReferenceImages. 5557type GoogleCloudVisionV1p2beta1Product struct { 5558 // Description: User-provided metadata to be stored with this product. 5559 // Must be at most 4096 characters long. 5560 Description string `json:"description,omitempty"` 5561 5562 // DisplayName: The user-provided name for this Product. Must not be 5563 // empty. Must be at most 4096 characters long. 5564 DisplayName string `json:"displayName,omitempty"` 5565 5566 // Name: The resource name of the product. Format is: 5567 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 5568 // field is ignored when creating a product. 5569 Name string `json:"name,omitempty"` 5570 5571 // ProductCategory: Immutable. The category for the product identified 5572 // by the reference image. This should be one of "homegoods-v2", 5573 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 5574 // legacy categories "homegoods", "apparel", and "toys" are still 5575 // supported, but these should not be used for new products. 5576 ProductCategory string `json:"productCategory,omitempty"` 5577 5578 // ProductLabels: Key-value pairs that can be attached to a product. At 5579 // query time, constraints can be specified based on the product_labels. 5580 // Note that integer values can be provided as strings, e.g. "1199". 5581 // Only strings with integer values can match a range-based restriction 5582 // which is to be supported soon. Multiple values can be assigned to the 5583 // same key. One product may have up to 500 product_labels. Notice that 5584 // the total number of distinct product_labels over all products in one 5585 // ProductSet cannot exceed 1M, otherwise the product search pipeline 5586 // will refuse to work for that ProductSet. 5587 ProductLabels []*GoogleCloudVisionV1p2beta1ProductKeyValue `json:"productLabels,omitempty"` 5588 5589 // ForceSendFields is a list of field names (e.g. "Description") to 5590 // unconditionally include in API requests. By default, fields with 5591 // empty or default values are omitted from API requests. However, any 5592 // non-pointer, non-interface field appearing in ForceSendFields will be 5593 // sent to the server regardless of whether the field is empty or not. 5594 // This may be used to include empty fields in Patch requests. 5595 ForceSendFields []string `json:"-"` 5596 5597 // NullFields is a list of field names (e.g. "Description") to include 5598 // in API requests with the JSON null value. By default, fields with 5599 // empty values are omitted from API requests. However, any field with 5600 // an empty value appearing in NullFields will be sent to the server as 5601 // null. It is an error if a field in this list has a non-empty value. 5602 // This may be used to include null fields in Patch requests. 5603 NullFields []string `json:"-"` 5604} 5605 5606func (s *GoogleCloudVisionV1p2beta1Product) MarshalJSON() ([]byte, error) { 5607 type NoMethod GoogleCloudVisionV1p2beta1Product 5608 raw := NoMethod(*s) 5609 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5610} 5611 5612// GoogleCloudVisionV1p2beta1ProductKeyValue: A product label 5613// represented as a key-value pair. 5614type GoogleCloudVisionV1p2beta1ProductKeyValue struct { 5615 // Key: The key of the label attached to the product. Cannot be empty 5616 // and cannot exceed 128 bytes. 5617 Key string `json:"key,omitempty"` 5618 5619 // Value: The value of the label attached to the product. Cannot be 5620 // empty and cannot exceed 128 bytes. 5621 Value string `json:"value,omitempty"` 5622 5623 // ForceSendFields is a list of field names (e.g. "Key") to 5624 // unconditionally include in API requests. By default, fields with 5625 // empty or default values are omitted from API requests. However, any 5626 // non-pointer, non-interface field appearing in ForceSendFields will be 5627 // sent to the server regardless of whether the field is empty or not. 5628 // This may be used to include empty fields in Patch requests. 5629 ForceSendFields []string `json:"-"` 5630 5631 // NullFields is a list of field names (e.g. "Key") to include in API 5632 // requests with the JSON null value. By default, fields with empty 5633 // values are omitted from API requests. However, any field with an 5634 // empty value appearing in NullFields will be sent to the server as 5635 // null. It is an error if a field in this list has a non-empty value. 5636 // This may be used to include null fields in Patch requests. 5637 NullFields []string `json:"-"` 5638} 5639 5640func (s *GoogleCloudVisionV1p2beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 5641 type NoMethod GoogleCloudVisionV1p2beta1ProductKeyValue 5642 raw := NoMethod(*s) 5643 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5644} 5645 5646// GoogleCloudVisionV1p2beta1ProductSearchResults: Results for a product 5647// search request. 5648type GoogleCloudVisionV1p2beta1ProductSearchResults struct { 5649 // IndexTime: Timestamp of the index which provided these results. 5650 // Products added to the product set and products removed from the 5651 // product set after this time are not reflected in the current results. 5652 IndexTime string `json:"indexTime,omitempty"` 5653 5654 // ProductGroupedResults: List of results grouped by products detected 5655 // in the query image. Each entry corresponds to one bounding polygon in 5656 // the query image, and contains the matching products specific to that 5657 // region. There may be duplicate product matches in the union of all 5658 // the per-product results. 5659 ProductGroupedResults []*GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 5660 5661 // Results: List of results, one for each product match. 5662 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 5663 5664 // ForceSendFields is a list of field names (e.g. "IndexTime") to 5665 // unconditionally include in API requests. By default, fields with 5666 // empty or default values are omitted from API requests. However, any 5667 // non-pointer, non-interface field appearing in ForceSendFields will be 5668 // sent to the server regardless of whether the field is empty or not. 5669 // This may be used to include empty fields in Patch requests. 5670 ForceSendFields []string `json:"-"` 5671 5672 // NullFields is a list of field names (e.g. "IndexTime") to include in 5673 // API requests with the JSON null value. By default, fields with empty 5674 // values are omitted from API requests. However, any field with an 5675 // empty value appearing in NullFields will be sent to the server as 5676 // null. It is an error if a field in this list has a non-empty value. 5677 // This may be used to include null fields in Patch requests. 5678 NullFields []string `json:"-"` 5679} 5680 5681func (s *GoogleCloudVisionV1p2beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 5682 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResults 5683 raw := NoMethod(*s) 5684 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5685} 5686 5687// GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult: 5688// Information about the products similar to a single product in a query 5689// image. 5690type GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult struct { 5691 // BoundingPoly: The bounding polygon around the product detected in the 5692 // query image. 5693 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5694 5695 // ObjectAnnotations: List of generic predictions for the object in the 5696 // bounding box. 5697 ObjectAnnotations []*GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 5698 5699 // Results: List of results, one for each product match. 5700 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 5701 5702 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5703 // unconditionally include in API requests. By default, fields with 5704 // empty or default values are omitted from API requests. However, any 5705 // non-pointer, non-interface field appearing in ForceSendFields will be 5706 // sent to the server regardless of whether the field is empty or not. 5707 // This may be used to include empty fields in Patch requests. 5708 ForceSendFields []string `json:"-"` 5709 5710 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5711 // in API requests with the JSON null value. By default, fields with 5712 // empty values are omitted from API requests. However, any field with 5713 // an empty value appearing in NullFields will be sent to the server as 5714 // null. It is an error if a field in this list has a non-empty value. 5715 // This may be used to include null fields in Patch requests. 5716 NullFields []string `json:"-"` 5717} 5718 5719func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 5720 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult 5721 raw := NoMethod(*s) 5722 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5723} 5724 5725// GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation: 5726// Prediction for what the object in the bounding box is. 5727type GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation struct { 5728 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 5729 // For more information, see 5730 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 5731 LanguageCode string `json:"languageCode,omitempty"` 5732 5733 // Mid: Object ID that should align with EntityAnnotation mid. 5734 Mid string `json:"mid,omitempty"` 5735 5736 // Name: Object name, expressed in its `language_code` language. 5737 Name string `json:"name,omitempty"` 5738 5739 // Score: Score of the result. Range [0, 1]. 5740 Score float64 `json:"score,omitempty"` 5741 5742 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 5743 // unconditionally include in API requests. By default, fields with 5744 // empty or default values are omitted from API requests. However, any 5745 // non-pointer, non-interface field appearing in ForceSendFields will be 5746 // sent to the server regardless of whether the field is empty or not. 5747 // This may be used to include empty fields in Patch requests. 5748 ForceSendFields []string `json:"-"` 5749 5750 // NullFields is a list of field names (e.g. "LanguageCode") to include 5751 // in API requests with the JSON null value. By default, fields with 5752 // empty values are omitted from API requests. However, any field with 5753 // an empty value appearing in NullFields will be sent to the server as 5754 // null. It is an error if a field in this list has a non-empty value. 5755 // This may be used to include null fields in Patch requests. 5756 NullFields []string `json:"-"` 5757} 5758 5759func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 5760 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 5761 raw := NoMethod(*s) 5762 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5763} 5764 5765func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 5766 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 5767 var s1 struct { 5768 Score gensupport.JSONFloat64 `json:"score"` 5769 *NoMethod 5770 } 5771 s1.NoMethod = (*NoMethod)(s) 5772 if err := json.Unmarshal(data, &s1); err != nil { 5773 return err 5774 } 5775 s.Score = float64(s1.Score) 5776 return nil 5777} 5778 5779// GoogleCloudVisionV1p2beta1ProductSearchResultsResult: Information 5780// about a product. 5781type GoogleCloudVisionV1p2beta1ProductSearchResultsResult struct { 5782 // Image: The resource name of the image from the product that is the 5783 // closest match to the query. 5784 Image string `json:"image,omitempty"` 5785 5786 // Product: The Product. 5787 Product *GoogleCloudVisionV1p2beta1Product `json:"product,omitempty"` 5788 5789 // Score: A confidence level on the match, ranging from 0 (no 5790 // confidence) to 1 (full confidence). 5791 Score float64 `json:"score,omitempty"` 5792 5793 // ForceSendFields is a list of field names (e.g. "Image") to 5794 // unconditionally include in API requests. By default, fields with 5795 // empty or default values are omitted from API requests. However, any 5796 // non-pointer, non-interface field appearing in ForceSendFields will be 5797 // sent to the server regardless of whether the field is empty or not. 5798 // This may be used to include empty fields in Patch requests. 5799 ForceSendFields []string `json:"-"` 5800 5801 // NullFields is a list of field names (e.g. "Image") to include in API 5802 // requests with the JSON null value. By default, fields with empty 5803 // values are omitted from API requests. However, any field with an 5804 // empty value appearing in NullFields will be sent to the server as 5805 // null. It is an error if a field in this list has a non-empty value. 5806 // This may be used to include null fields in Patch requests. 5807 NullFields []string `json:"-"` 5808} 5809 5810func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 5811 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 5812 raw := NoMethod(*s) 5813 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5814} 5815 5816func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 5817 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 5818 var s1 struct { 5819 Score gensupport.JSONFloat64 `json:"score"` 5820 *NoMethod 5821 } 5822 s1.NoMethod = (*NoMethod)(s) 5823 if err := json.Unmarshal(data, &s1); err != nil { 5824 return err 5825 } 5826 s.Score = float64(s1.Score) 5827 return nil 5828} 5829 5830// GoogleCloudVisionV1p2beta1Property: A `Property` consists of a 5831// user-supplied name/value pair. 5832type GoogleCloudVisionV1p2beta1Property struct { 5833 // Name: Name of the property. 5834 Name string `json:"name,omitempty"` 5835 5836 // Uint64Value: Value of numeric properties. 5837 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 5838 5839 // Value: Value of the property. 5840 Value string `json:"value,omitempty"` 5841 5842 // ForceSendFields is a list of field names (e.g. "Name") to 5843 // unconditionally include in API requests. By default, fields with 5844 // empty or default values are omitted from API requests. However, any 5845 // non-pointer, non-interface field appearing in ForceSendFields will be 5846 // sent to the server regardless of whether the field is empty or not. 5847 // This may be used to include empty fields in Patch requests. 5848 ForceSendFields []string `json:"-"` 5849 5850 // NullFields is a list of field names (e.g. "Name") to include in API 5851 // requests with the JSON null value. By default, fields with empty 5852 // values are omitted from API requests. However, any field with an 5853 // empty value appearing in NullFields will be sent to the server as 5854 // null. It is an error if a field in this list has a non-empty value. 5855 // This may be used to include null fields in Patch requests. 5856 NullFields []string `json:"-"` 5857} 5858 5859func (s *GoogleCloudVisionV1p2beta1Property) MarshalJSON() ([]byte, error) { 5860 type NoMethod GoogleCloudVisionV1p2beta1Property 5861 raw := NoMethod(*s) 5862 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5863} 5864 5865// GoogleCloudVisionV1p2beta1SafeSearchAnnotation: Set of features 5866// pertaining to the image, computed by computer vision methods over 5867// safe-search verticals (for example, adult, spoof, medical, violence). 5868type GoogleCloudVisionV1p2beta1SafeSearchAnnotation struct { 5869 // Adult: Represents the adult content likelihood for the image. Adult 5870 // content may contain elements such as nudity, pornographic images or 5871 // cartoons, or sexual activities. 5872 // 5873 // Possible values: 5874 // "UNKNOWN" - Unknown likelihood. 5875 // "VERY_UNLIKELY" - It is very unlikely. 5876 // "UNLIKELY" - It is unlikely. 5877 // "POSSIBLE" - It is possible. 5878 // "LIKELY" - It is likely. 5879 // "VERY_LIKELY" - It is very likely. 5880 Adult string `json:"adult,omitempty"` 5881 5882 // Medical: Likelihood that this is a medical image. 5883 // 5884 // Possible values: 5885 // "UNKNOWN" - Unknown likelihood. 5886 // "VERY_UNLIKELY" - It is very unlikely. 5887 // "UNLIKELY" - It is unlikely. 5888 // "POSSIBLE" - It is possible. 5889 // "LIKELY" - It is likely. 5890 // "VERY_LIKELY" - It is very likely. 5891 Medical string `json:"medical,omitempty"` 5892 5893 // Racy: Likelihood that the request image contains racy content. Racy 5894 // content may include (but is not limited to) skimpy or sheer clothing, 5895 // strategically covered nudity, lewd or provocative poses, or close-ups 5896 // of sensitive body areas. 5897 // 5898 // Possible values: 5899 // "UNKNOWN" - Unknown likelihood. 5900 // "VERY_UNLIKELY" - It is very unlikely. 5901 // "UNLIKELY" - It is unlikely. 5902 // "POSSIBLE" - It is possible. 5903 // "LIKELY" - It is likely. 5904 // "VERY_LIKELY" - It is very likely. 5905 Racy string `json:"racy,omitempty"` 5906 5907 // Spoof: Spoof likelihood. The likelihood that an modification was made 5908 // to the image's canonical version to make it appear funny or 5909 // offensive. 5910 // 5911 // Possible values: 5912 // "UNKNOWN" - Unknown likelihood. 5913 // "VERY_UNLIKELY" - It is very unlikely. 5914 // "UNLIKELY" - It is unlikely. 5915 // "POSSIBLE" - It is possible. 5916 // "LIKELY" - It is likely. 5917 // "VERY_LIKELY" - It is very likely. 5918 Spoof string `json:"spoof,omitempty"` 5919 5920 // Violence: Likelihood that this image contains violent content. 5921 // 5922 // Possible values: 5923 // "UNKNOWN" - Unknown likelihood. 5924 // "VERY_UNLIKELY" - It is very unlikely. 5925 // "UNLIKELY" - It is unlikely. 5926 // "POSSIBLE" - It is possible. 5927 // "LIKELY" - It is likely. 5928 // "VERY_LIKELY" - It is very likely. 5929 Violence string `json:"violence,omitempty"` 5930 5931 // ForceSendFields is a list of field names (e.g. "Adult") to 5932 // unconditionally include in API requests. By default, fields with 5933 // empty or default values are omitted from API requests. However, any 5934 // non-pointer, non-interface field appearing in ForceSendFields will be 5935 // sent to the server regardless of whether the field is empty or not. 5936 // This may be used to include empty fields in Patch requests. 5937 ForceSendFields []string `json:"-"` 5938 5939 // NullFields is a list of field names (e.g. "Adult") to include in API 5940 // requests with the JSON null value. By default, fields with empty 5941 // values are omitted from API requests. However, any field with an 5942 // empty value appearing in NullFields will be sent to the server as 5943 // null. It is an error if a field in this list has a non-empty value. 5944 // This may be used to include null fields in Patch requests. 5945 NullFields []string `json:"-"` 5946} 5947 5948func (s *GoogleCloudVisionV1p2beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 5949 type NoMethod GoogleCloudVisionV1p2beta1SafeSearchAnnotation 5950 raw := NoMethod(*s) 5951 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5952} 5953 5954// GoogleCloudVisionV1p2beta1Symbol: A single symbol representation. 5955type GoogleCloudVisionV1p2beta1Symbol struct { 5956 // BoundingBox: The bounding box for the symbol. The vertices are in the 5957 // order of top-left, top-right, bottom-right, bottom-left. When a 5958 // rotation of the bounding box is detected the rotation is represented 5959 // as around the top-left corner as defined when the text is read in the 5960 // 'natural' orientation. For example: * when the text is horizontal it 5961 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 5962 // around the top-left corner it becomes: 2----3 | | 1----0 and the 5963 // vertex order will still be (0, 1, 2, 3). 5964 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 5965 5966 // Confidence: Confidence of the OCR results for the symbol. Range [0, 5967 // 1]. 5968 Confidence float64 `json:"confidence,omitempty"` 5969 5970 // Property: Additional information detected for the symbol. 5971 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5972 5973 // Text: The actual UTF-8 representation of the symbol. 5974 Text string `json:"text,omitempty"` 5975 5976 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 5977 // unconditionally include in API requests. By default, fields with 5978 // empty or default values are omitted from API requests. However, any 5979 // non-pointer, non-interface field appearing in ForceSendFields will be 5980 // sent to the server regardless of whether the field is empty or not. 5981 // This may be used to include empty fields in Patch requests. 5982 ForceSendFields []string `json:"-"` 5983 5984 // NullFields is a list of field names (e.g. "BoundingBox") to include 5985 // in API requests with the JSON null value. By default, fields with 5986 // empty values are omitted from API requests. However, any field with 5987 // an empty value appearing in NullFields will be sent to the server as 5988 // null. It is an error if a field in this list has a non-empty value. 5989 // This may be used to include null fields in Patch requests. 5990 NullFields []string `json:"-"` 5991} 5992 5993func (s *GoogleCloudVisionV1p2beta1Symbol) MarshalJSON() ([]byte, error) { 5994 type NoMethod GoogleCloudVisionV1p2beta1Symbol 5995 raw := NoMethod(*s) 5996 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5997} 5998 5999func (s *GoogleCloudVisionV1p2beta1Symbol) UnmarshalJSON(data []byte) error { 6000 type NoMethod GoogleCloudVisionV1p2beta1Symbol 6001 var s1 struct { 6002 Confidence gensupport.JSONFloat64 `json:"confidence"` 6003 *NoMethod 6004 } 6005 s1.NoMethod = (*NoMethod)(s) 6006 if err := json.Unmarshal(data, &s1); err != nil { 6007 return err 6008 } 6009 s.Confidence = float64(s1.Confidence) 6010 return nil 6011} 6012 6013// GoogleCloudVisionV1p2beta1TextAnnotation: TextAnnotation contains a 6014// structured representation of OCR extracted text. The hierarchy of an 6015// OCR extracted text structure is like this: TextAnnotation -> Page -> 6016// Block -> Paragraph -> Word -> Symbol Each structural component, 6017// starting from Page, may further have their own properties. Properties 6018// describe detected languages, breaks etc.. Please refer to the 6019// TextAnnotation.TextProperty message definition below for more detail. 6020type GoogleCloudVisionV1p2beta1TextAnnotation struct { 6021 // Pages: List of pages detected by OCR. 6022 Pages []*GoogleCloudVisionV1p2beta1Page `json:"pages,omitempty"` 6023 6024 // Text: UTF-8 text detected on the pages. 6025 Text string `json:"text,omitempty"` 6026 6027 // ForceSendFields is a list of field names (e.g. "Pages") to 6028 // unconditionally include in API requests. By default, fields with 6029 // empty or default values are omitted from API requests. However, any 6030 // non-pointer, non-interface field appearing in ForceSendFields will be 6031 // sent to the server regardless of whether the field is empty or not. 6032 // This may be used to include empty fields in Patch requests. 6033 ForceSendFields []string `json:"-"` 6034 6035 // NullFields is a list of field names (e.g. "Pages") to include in API 6036 // requests with the JSON null value. By default, fields with empty 6037 // values are omitted from API requests. However, any field with an 6038 // empty value appearing in NullFields will be sent to the server as 6039 // null. It is an error if a field in this list has a non-empty value. 6040 // This may be used to include null fields in Patch requests. 6041 NullFields []string `json:"-"` 6042} 6043 6044func (s *GoogleCloudVisionV1p2beta1TextAnnotation) MarshalJSON() ([]byte, error) { 6045 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotation 6046 raw := NoMethod(*s) 6047 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6048} 6049 6050// GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak: Detected start 6051// or end of a structural component. 6052type GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak struct { 6053 // IsPrefix: True if break prepends the element. 6054 IsPrefix bool `json:"isPrefix,omitempty"` 6055 6056 // Type: Detected break type. 6057 // 6058 // Possible values: 6059 // "UNKNOWN" - Unknown break label type. 6060 // "SPACE" - Regular space. 6061 // "SURE_SPACE" - Sure space (very wide). 6062 // "EOL_SURE_SPACE" - Line-wrapping break. 6063 // "HYPHEN" - End-line hyphen that is not present in text; does not 6064 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 6065 // "LINE_BREAK" - Line break that ends a paragraph. 6066 Type string `json:"type,omitempty"` 6067 6068 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 6069 // unconditionally include in API requests. By default, fields with 6070 // empty or default values are omitted from API requests. However, any 6071 // non-pointer, non-interface field appearing in ForceSendFields will be 6072 // sent to the server regardless of whether the field is empty or not. 6073 // This may be used to include empty fields in Patch requests. 6074 ForceSendFields []string `json:"-"` 6075 6076 // NullFields is a list of field names (e.g. "IsPrefix") to include in 6077 // API requests with the JSON null value. By default, fields with empty 6078 // values are omitted from API requests. However, any field with an 6079 // empty value appearing in NullFields will be sent to the server as 6080 // null. It is an error if a field in this list has a non-empty value. 6081 // This may be used to include null fields in Patch requests. 6082 NullFields []string `json:"-"` 6083} 6084 6085func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 6086 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak 6087 raw := NoMethod(*s) 6088 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6089} 6090 6091// GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage: Detected 6092// language for a structural component. 6093type GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage struct { 6094 // Confidence: Confidence of detected language. Range [0, 1]. 6095 Confidence float64 `json:"confidence,omitempty"` 6096 6097 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 6098 // For more information, see 6099 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6100 LanguageCode string `json:"languageCode,omitempty"` 6101 6102 // ForceSendFields is a list of field names (e.g. "Confidence") to 6103 // unconditionally include in API requests. By default, fields with 6104 // empty or default values are omitted from API requests. However, any 6105 // non-pointer, non-interface field appearing in ForceSendFields will be 6106 // sent to the server regardless of whether the field is empty or not. 6107 // This may be used to include empty fields in Patch requests. 6108 ForceSendFields []string `json:"-"` 6109 6110 // NullFields is a list of field names (e.g. "Confidence") to include in 6111 // API requests with the JSON null value. By default, fields with empty 6112 // values are omitted from API requests. However, any field with an 6113 // empty value appearing in NullFields will be sent to the server as 6114 // null. It is an error if a field in this list has a non-empty value. 6115 // This may be used to include null fields in Patch requests. 6116 NullFields []string `json:"-"` 6117} 6118 6119func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 6120 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6121 raw := NoMethod(*s) 6122 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6123} 6124 6125func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 6126 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6127 var s1 struct { 6128 Confidence gensupport.JSONFloat64 `json:"confidence"` 6129 *NoMethod 6130 } 6131 s1.NoMethod = (*NoMethod)(s) 6132 if err := json.Unmarshal(data, &s1); err != nil { 6133 return err 6134 } 6135 s.Confidence = float64(s1.Confidence) 6136 return nil 6137} 6138 6139// GoogleCloudVisionV1p2beta1TextAnnotationTextProperty: Additional 6140// information detected on the structural component. 6141type GoogleCloudVisionV1p2beta1TextAnnotationTextProperty struct { 6142 // DetectedBreak: Detected start or end of a text segment. 6143 DetectedBreak *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 6144 6145 // DetectedLanguages: A list of detected languages together with 6146 // confidence. 6147 DetectedLanguages []*GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 6148 6149 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 6150 // unconditionally include in API requests. By default, fields with 6151 // empty or default values are omitted from API requests. However, any 6152 // non-pointer, non-interface field appearing in ForceSendFields will be 6153 // sent to the server regardless of whether the field is empty or not. 6154 // This may be used to include empty fields in Patch requests. 6155 ForceSendFields []string `json:"-"` 6156 6157 // NullFields is a list of field names (e.g. "DetectedBreak") to include 6158 // in API requests with the JSON null value. By default, fields with 6159 // empty values are omitted from API requests. However, any field with 6160 // an empty value appearing in NullFields will be sent to the server as 6161 // null. It is an error if a field in this list has a non-empty value. 6162 // This may be used to include null fields in Patch requests. 6163 NullFields []string `json:"-"` 6164} 6165 6166func (s *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 6167 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationTextProperty 6168 raw := NoMethod(*s) 6169 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6170} 6171 6172// GoogleCloudVisionV1p2beta1Vertex: A vertex represents a 2D point in 6173// the image. NOTE: the vertex coordinates are in the same scale as the 6174// original image. 6175type GoogleCloudVisionV1p2beta1Vertex struct { 6176 // X: X coordinate. 6177 X int64 `json:"x,omitempty"` 6178 6179 // Y: Y coordinate. 6180 Y int64 `json:"y,omitempty"` 6181 6182 // ForceSendFields is a list of field names (e.g. "X") to 6183 // unconditionally include in API requests. By default, fields with 6184 // empty or default values are omitted from API requests. However, any 6185 // non-pointer, non-interface field appearing in ForceSendFields will be 6186 // sent to the server regardless of whether the field is empty or not. 6187 // This may be used to include empty fields in Patch requests. 6188 ForceSendFields []string `json:"-"` 6189 6190 // NullFields is a list of field names (e.g. "X") to include in API 6191 // requests with the JSON null value. By default, fields with empty 6192 // values are omitted from API requests. However, any field with an 6193 // empty value appearing in NullFields will be sent to the server as 6194 // null. It is an error if a field in this list has a non-empty value. 6195 // This may be used to include null fields in Patch requests. 6196 NullFields []string `json:"-"` 6197} 6198 6199func (s *GoogleCloudVisionV1p2beta1Vertex) MarshalJSON() ([]byte, error) { 6200 type NoMethod GoogleCloudVisionV1p2beta1Vertex 6201 raw := NoMethod(*s) 6202 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6203} 6204 6205// GoogleCloudVisionV1p2beta1WebDetection: Relevant information for the 6206// image from the Internet. 6207type GoogleCloudVisionV1p2beta1WebDetection struct { 6208 // BestGuessLabels: The service's best guess as to the topic of the 6209 // request image. Inferred from similar images on the open web. 6210 BestGuessLabels []*GoogleCloudVisionV1p2beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 6211 6212 // FullMatchingImages: Fully matching images from the Internet. Can 6213 // include resized copies of the query image. 6214 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6215 6216 // PagesWithMatchingImages: Web pages containing the matching images 6217 // from the Internet. 6218 PagesWithMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 6219 6220 // PartialMatchingImages: Partial matching images from the Internet. 6221 // Those images are similar enough to share some key-point features. For 6222 // example an original image will likely have partial matching for its 6223 // crops. 6224 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6225 6226 // VisuallySimilarImages: The visually similar image results. 6227 VisuallySimilarImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 6228 6229 // WebEntities: Deduced entities from similar images on the Internet. 6230 WebEntities []*GoogleCloudVisionV1p2beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 6231 6232 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 6233 // unconditionally include in API requests. By default, fields with 6234 // empty or default values are omitted from API requests. However, any 6235 // non-pointer, non-interface field appearing in ForceSendFields will be 6236 // sent to the server regardless of whether the field is empty or not. 6237 // This may be used to include empty fields in Patch requests. 6238 ForceSendFields []string `json:"-"` 6239 6240 // NullFields is a list of field names (e.g. "BestGuessLabels") to 6241 // include in API requests with the JSON null value. By default, fields 6242 // with empty values are omitted from API requests. However, any field 6243 // with an empty value appearing in NullFields will be sent to the 6244 // server as null. It is an error if a field in this list has a 6245 // non-empty value. This may be used to include null fields in Patch 6246 // requests. 6247 NullFields []string `json:"-"` 6248} 6249 6250func (s *GoogleCloudVisionV1p2beta1WebDetection) MarshalJSON() ([]byte, error) { 6251 type NoMethod GoogleCloudVisionV1p2beta1WebDetection 6252 raw := NoMethod(*s) 6253 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6254} 6255 6256// GoogleCloudVisionV1p2beta1WebDetectionWebEntity: Entity deduced from 6257// similar images on the Internet. 6258type GoogleCloudVisionV1p2beta1WebDetectionWebEntity struct { 6259 // Description: Canonical description of the entity, in English. 6260 Description string `json:"description,omitempty"` 6261 6262 // EntityId: Opaque entity ID. 6263 EntityId string `json:"entityId,omitempty"` 6264 6265 // Score: Overall relevancy score for the entity. Not normalized and not 6266 // comparable across different image queries. 6267 Score float64 `json:"score,omitempty"` 6268 6269 // ForceSendFields is a list of field names (e.g. "Description") to 6270 // unconditionally include in API requests. By default, fields with 6271 // empty or default values are omitted from API requests. However, any 6272 // non-pointer, non-interface field appearing in ForceSendFields will be 6273 // sent to the server regardless of whether the field is empty or not. 6274 // This may be used to include empty fields in Patch requests. 6275 ForceSendFields []string `json:"-"` 6276 6277 // NullFields is a list of field names (e.g. "Description") to include 6278 // in API requests with the JSON null value. By default, fields with 6279 // empty values are omitted from API requests. However, any field with 6280 // an empty value appearing in NullFields will be sent to the server as 6281 // null. It is an error if a field in this list has a non-empty value. 6282 // This may be used to include null fields in Patch requests. 6283 NullFields []string `json:"-"` 6284} 6285 6286func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 6287 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6288 raw := NoMethod(*s) 6289 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6290} 6291 6292func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 6293 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6294 var s1 struct { 6295 Score gensupport.JSONFloat64 `json:"score"` 6296 *NoMethod 6297 } 6298 s1.NoMethod = (*NoMethod)(s) 6299 if err := json.Unmarshal(data, &s1); err != nil { 6300 return err 6301 } 6302 s.Score = float64(s1.Score) 6303 return nil 6304} 6305 6306// GoogleCloudVisionV1p2beta1WebDetectionWebImage: Metadata for online 6307// images. 6308type GoogleCloudVisionV1p2beta1WebDetectionWebImage struct { 6309 // Score: (Deprecated) Overall relevancy score for the image. 6310 Score float64 `json:"score,omitempty"` 6311 6312 // Url: The result image URL. 6313 Url string `json:"url,omitempty"` 6314 6315 // ForceSendFields is a list of field names (e.g. "Score") to 6316 // unconditionally include in API requests. By default, fields with 6317 // empty or default values are omitted from API requests. However, any 6318 // non-pointer, non-interface field appearing in ForceSendFields will be 6319 // sent to the server regardless of whether the field is empty or not. 6320 // This may be used to include empty fields in Patch requests. 6321 ForceSendFields []string `json:"-"` 6322 6323 // NullFields is a list of field names (e.g. "Score") to include in API 6324 // requests with the JSON null value. By default, fields with empty 6325 // values are omitted from API requests. However, any field with an 6326 // empty value appearing in NullFields will be sent to the server as 6327 // null. It is an error if a field in this list has a non-empty value. 6328 // This may be used to include null fields in Patch requests. 6329 NullFields []string `json:"-"` 6330} 6331 6332func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 6333 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6334 raw := NoMethod(*s) 6335 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6336} 6337 6338func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 6339 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6340 var s1 struct { 6341 Score gensupport.JSONFloat64 `json:"score"` 6342 *NoMethod 6343 } 6344 s1.NoMethod = (*NoMethod)(s) 6345 if err := json.Unmarshal(data, &s1); err != nil { 6346 return err 6347 } 6348 s.Score = float64(s1.Score) 6349 return nil 6350} 6351 6352// GoogleCloudVisionV1p2beta1WebDetectionWebLabel: Label to provide 6353// extra metadata for the web detection. 6354type GoogleCloudVisionV1p2beta1WebDetectionWebLabel struct { 6355 // Label: Label for extra metadata. 6356 Label string `json:"label,omitempty"` 6357 6358 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 6359 // or "sr-Latn". For more information, see 6360 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6361 LanguageCode string `json:"languageCode,omitempty"` 6362 6363 // ForceSendFields is a list of field names (e.g. "Label") to 6364 // unconditionally include in API requests. By default, fields with 6365 // empty or default values are omitted from API requests. However, any 6366 // non-pointer, non-interface field appearing in ForceSendFields will be 6367 // sent to the server regardless of whether the field is empty or not. 6368 // This may be used to include empty fields in Patch requests. 6369 ForceSendFields []string `json:"-"` 6370 6371 // NullFields is a list of field names (e.g. "Label") to include in API 6372 // requests with the JSON null value. By default, fields with empty 6373 // values are omitted from API requests. However, any field with an 6374 // empty value appearing in NullFields will be sent to the server as 6375 // null. It is an error if a field in this list has a non-empty value. 6376 // This may be used to include null fields in Patch requests. 6377 NullFields []string `json:"-"` 6378} 6379 6380func (s *GoogleCloudVisionV1p2beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 6381 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebLabel 6382 raw := NoMethod(*s) 6383 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6384} 6385 6386// GoogleCloudVisionV1p2beta1WebDetectionWebPage: Metadata for web 6387// pages. 6388type GoogleCloudVisionV1p2beta1WebDetectionWebPage struct { 6389 // FullMatchingImages: Fully matching images on the page. Can include 6390 // resized copies of the query image. 6391 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6392 6393 // PageTitle: Title for the web page, may contain HTML markups. 6394 PageTitle string `json:"pageTitle,omitempty"` 6395 6396 // PartialMatchingImages: Partial matching images on the page. Those 6397 // images are similar enough to share some key-point features. For 6398 // example an original image will likely have partial matching for its 6399 // crops. 6400 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6401 6402 // Score: (Deprecated) Overall relevancy score for the web page. 6403 Score float64 `json:"score,omitempty"` 6404 6405 // Url: The result web page URL. 6406 Url string `json:"url,omitempty"` 6407 6408 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 6409 // to unconditionally include in API requests. By default, fields with 6410 // empty or default values are omitted from API requests. However, any 6411 // non-pointer, non-interface field appearing in ForceSendFields will be 6412 // sent to the server regardless of whether the field is empty or not. 6413 // This may be used to include empty fields in Patch requests. 6414 ForceSendFields []string `json:"-"` 6415 6416 // NullFields is a list of field names (e.g. "FullMatchingImages") to 6417 // include in API requests with the JSON null value. By default, fields 6418 // with empty values are omitted from API requests. However, any field 6419 // with an empty value appearing in NullFields will be sent to the 6420 // server as null. It is an error if a field in this list has a 6421 // non-empty value. This may be used to include null fields in Patch 6422 // requests. 6423 NullFields []string `json:"-"` 6424} 6425 6426func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 6427 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 6428 raw := NoMethod(*s) 6429 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6430} 6431 6432func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 6433 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 6434 var s1 struct { 6435 Score gensupport.JSONFloat64 `json:"score"` 6436 *NoMethod 6437 } 6438 s1.NoMethod = (*NoMethod)(s) 6439 if err := json.Unmarshal(data, &s1); err != nil { 6440 return err 6441 } 6442 s.Score = float64(s1.Score) 6443 return nil 6444} 6445 6446// GoogleCloudVisionV1p2beta1Word: A word representation. 6447type GoogleCloudVisionV1p2beta1Word struct { 6448 // BoundingBox: The bounding box for the word. The vertices are in the 6449 // order of top-left, top-right, bottom-right, bottom-left. When a 6450 // rotation of the bounding box is detected the rotation is represented 6451 // as around the top-left corner as defined when the text is read in the 6452 // 'natural' orientation. For example: * when the text is horizontal it 6453 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 6454 // around the top-left corner it becomes: 2----3 | | 1----0 and the 6455 // vertex order will still be (0, 1, 2, 3). 6456 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 6457 6458 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 6459 Confidence float64 `json:"confidence,omitempty"` 6460 6461 // Property: Additional information detected for the word. 6462 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 6463 6464 // Symbols: List of symbols in the word. The order of the symbols 6465 // follows the natural reading order. 6466 Symbols []*GoogleCloudVisionV1p2beta1Symbol `json:"symbols,omitempty"` 6467 6468 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 6469 // unconditionally include in API requests. By default, fields with 6470 // empty or default values are omitted from API requests. However, any 6471 // non-pointer, non-interface field appearing in ForceSendFields will be 6472 // sent to the server regardless of whether the field is empty or not. 6473 // This may be used to include empty fields in Patch requests. 6474 ForceSendFields []string `json:"-"` 6475 6476 // NullFields is a list of field names (e.g. "BoundingBox") to include 6477 // in API requests with the JSON null value. By default, fields with 6478 // empty values are omitted from API requests. However, any field with 6479 // an empty value appearing in NullFields will be sent to the server as 6480 // null. It is an error if a field in this list has a non-empty value. 6481 // This may be used to include null fields in Patch requests. 6482 NullFields []string `json:"-"` 6483} 6484 6485func (s *GoogleCloudVisionV1p2beta1Word) MarshalJSON() ([]byte, error) { 6486 type NoMethod GoogleCloudVisionV1p2beta1Word 6487 raw := NoMethod(*s) 6488 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6489} 6490 6491func (s *GoogleCloudVisionV1p2beta1Word) UnmarshalJSON(data []byte) error { 6492 type NoMethod GoogleCloudVisionV1p2beta1Word 6493 var s1 struct { 6494 Confidence gensupport.JSONFloat64 `json:"confidence"` 6495 *NoMethod 6496 } 6497 s1.NoMethod = (*NoMethod)(s) 6498 if err := json.Unmarshal(data, &s1); err != nil { 6499 return err 6500 } 6501 s.Confidence = float64(s1.Confidence) 6502 return nil 6503} 6504 6505// GoogleCloudVisionV1p3beta1AnnotateFileResponse: Response to a single 6506// file annotation request. A file may contain one or more images, which 6507// individually have their own responses. 6508type GoogleCloudVisionV1p3beta1AnnotateFileResponse struct { 6509 // Error: If set, represents the error message for the failed request. 6510 // The `responses` field will not be set in this case. 6511 Error *Status `json:"error,omitempty"` 6512 6513 // InputConfig: Information about the file for which this response is 6514 // generated. 6515 InputConfig *GoogleCloudVisionV1p3beta1InputConfig `json:"inputConfig,omitempty"` 6516 6517 // Responses: Individual responses to images found within the file. This 6518 // field will be empty if the `error` field is set. 6519 Responses []*GoogleCloudVisionV1p3beta1AnnotateImageResponse `json:"responses,omitempty"` 6520 6521 // TotalPages: This field gives the total number of pages in the file. 6522 TotalPages int64 `json:"totalPages,omitempty"` 6523 6524 // ForceSendFields is a list of field names (e.g. "Error") to 6525 // unconditionally include in API requests. By default, fields with 6526 // empty or default values are omitted from API requests. However, any 6527 // non-pointer, non-interface field appearing in ForceSendFields will be 6528 // sent to the server regardless of whether the field is empty or not. 6529 // This may be used to include empty fields in Patch requests. 6530 ForceSendFields []string `json:"-"` 6531 6532 // NullFields is a list of field names (e.g. "Error") to include in API 6533 // requests with the JSON null value. By default, fields with empty 6534 // values are omitted from API requests. However, any field with an 6535 // empty value appearing in NullFields will be sent to the server as 6536 // null. It is an error if a field in this list has a non-empty value. 6537 // This may be used to include null fields in Patch requests. 6538 NullFields []string `json:"-"` 6539} 6540 6541func (s *GoogleCloudVisionV1p3beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 6542 type NoMethod GoogleCloudVisionV1p3beta1AnnotateFileResponse 6543 raw := NoMethod(*s) 6544 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6545} 6546 6547// GoogleCloudVisionV1p3beta1AnnotateImageResponse: Response to an image 6548// annotation request. 6549type GoogleCloudVisionV1p3beta1AnnotateImageResponse struct { 6550 // Context: If present, contextual information is needed to understand 6551 // where this image comes from. 6552 Context *GoogleCloudVisionV1p3beta1ImageAnnotationContext `json:"context,omitempty"` 6553 6554 // CropHintsAnnotation: If present, crop hints have completed 6555 // successfully. 6556 CropHintsAnnotation *GoogleCloudVisionV1p3beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 6557 6558 // Error: If set, represents the error message for the operation. Note 6559 // that filled-in image annotations are guaranteed to be correct, even 6560 // when `error` is set. 6561 Error *Status `json:"error,omitempty"` 6562 6563 // FaceAnnotations: If present, face detection has completed 6564 // successfully. 6565 FaceAnnotations []*GoogleCloudVisionV1p3beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 6566 6567 // FullTextAnnotation: If present, text (OCR) detection or document 6568 // (OCR) text detection has completed successfully. This annotation 6569 // provides the structural hierarchy for the OCR detected text. 6570 FullTextAnnotation *GoogleCloudVisionV1p3beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 6571 6572 // ImagePropertiesAnnotation: If present, image properties were 6573 // extracted successfully. 6574 ImagePropertiesAnnotation *GoogleCloudVisionV1p3beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 6575 6576 // LabelAnnotations: If present, label detection has completed 6577 // successfully. 6578 LabelAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 6579 6580 // LandmarkAnnotations: If present, landmark detection has completed 6581 // successfully. 6582 LandmarkAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 6583 6584 // LocalizedObjectAnnotations: If present, localized object detection 6585 // has completed successfully. This will be sorted descending by 6586 // confidence score. 6587 LocalizedObjectAnnotations []*GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 6588 6589 // LogoAnnotations: If present, logo detection has completed 6590 // successfully. 6591 LogoAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 6592 6593 // ProductSearchResults: If present, product search has completed 6594 // successfully. 6595 ProductSearchResults *GoogleCloudVisionV1p3beta1ProductSearchResults `json:"productSearchResults,omitempty"` 6596 6597 // SafeSearchAnnotation: If present, safe-search annotation has 6598 // completed successfully. 6599 SafeSearchAnnotation *GoogleCloudVisionV1p3beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 6600 6601 // TextAnnotations: If present, text (OCR) detection has completed 6602 // successfully. 6603 TextAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"textAnnotations,omitempty"` 6604 6605 // WebDetection: If present, web detection has completed successfully. 6606 WebDetection *GoogleCloudVisionV1p3beta1WebDetection `json:"webDetection,omitempty"` 6607 6608 // ForceSendFields is a list of field names (e.g. "Context") to 6609 // unconditionally include in API requests. By default, fields with 6610 // empty or default values are omitted from API requests. However, any 6611 // non-pointer, non-interface field appearing in ForceSendFields will be 6612 // sent to the server regardless of whether the field is empty or not. 6613 // This may be used to include empty fields in Patch requests. 6614 ForceSendFields []string `json:"-"` 6615 6616 // NullFields is a list of field names (e.g. "Context") to include in 6617 // API requests with the JSON null value. By default, fields with empty 6618 // values are omitted from API requests. However, any field with an 6619 // empty value appearing in NullFields will be sent to the server as 6620 // null. It is an error if a field in this list has a non-empty value. 6621 // This may be used to include null fields in Patch requests. 6622 NullFields []string `json:"-"` 6623} 6624 6625func (s *GoogleCloudVisionV1p3beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 6626 type NoMethod GoogleCloudVisionV1p3beta1AnnotateImageResponse 6627 raw := NoMethod(*s) 6628 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6629} 6630 6631// GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse: The response for 6632// a single offline file annotation request. 6633type GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse struct { 6634 // OutputConfig: The output location and metadata from 6635 // AsyncAnnotateFileRequest. 6636 OutputConfig *GoogleCloudVisionV1p3beta1OutputConfig `json:"outputConfig,omitempty"` 6637 6638 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 6639 // unconditionally include in API requests. By default, fields with 6640 // empty or default values are omitted from API requests. However, any 6641 // non-pointer, non-interface field appearing in ForceSendFields will be 6642 // sent to the server regardless of whether the field is empty or not. 6643 // This may be used to include empty fields in Patch requests. 6644 ForceSendFields []string `json:"-"` 6645 6646 // NullFields is a list of field names (e.g. "OutputConfig") to include 6647 // in API requests with the JSON null value. By default, fields with 6648 // empty values are omitted from API requests. However, any field with 6649 // an empty value appearing in NullFields will be sent to the server as 6650 // null. It is an error if a field in this list has a non-empty value. 6651 // This may be used to include null fields in Patch requests. 6652 NullFields []string `json:"-"` 6653} 6654 6655func (s *GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 6656 type NoMethod GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse 6657 raw := NoMethod(*s) 6658 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6659} 6660 6661// GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse: Response 6662// to an async batch file annotation request. 6663type GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse struct { 6664 // Responses: The list of file annotation responses, one for each 6665 // request in AsyncBatchAnnotateFilesRequest. 6666 Responses []*GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 6667 6668 // ForceSendFields is a list of field names (e.g. "Responses") to 6669 // unconditionally include in API requests. By default, fields with 6670 // empty or default values are omitted from API requests. However, any 6671 // non-pointer, non-interface field appearing in ForceSendFields will be 6672 // sent to the server regardless of whether the field is empty or not. 6673 // This may be used to include empty fields in Patch requests. 6674 ForceSendFields []string `json:"-"` 6675 6676 // NullFields is a list of field names (e.g. "Responses") to include in 6677 // API requests with the JSON null value. By default, fields with empty 6678 // values are omitted from API requests. However, any field with an 6679 // empty value appearing in NullFields will be sent to the server as 6680 // null. It is an error if a field in this list has a non-empty value. 6681 // This may be used to include null fields in Patch requests. 6682 NullFields []string `json:"-"` 6683} 6684 6685func (s *GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 6686 type NoMethod GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse 6687 raw := NoMethod(*s) 6688 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6689} 6690 6691// GoogleCloudVisionV1p3beta1BatchOperationMetadata: Metadata for the 6692// batch operations such as the current state. This is included in the 6693// `metadata` field of the `Operation` returned by the `GetOperation` 6694// call of the `google::longrunning::Operations` service. 6695type GoogleCloudVisionV1p3beta1BatchOperationMetadata struct { 6696 // EndTime: The time when the batch request is finished and 6697 // google.longrunning.Operation.done is set to true. 6698 EndTime string `json:"endTime,omitempty"` 6699 6700 // State: The current state of the batch operation. 6701 // 6702 // Possible values: 6703 // "STATE_UNSPECIFIED" - Invalid. 6704 // "PROCESSING" - Request is actively being processed. 6705 // "SUCCESSFUL" - The request is done and at least one item has been 6706 // successfully processed. 6707 // "FAILED" - The request is done and no item has been successfully 6708 // processed. 6709 // "CANCELLED" - The request is done after the 6710 // longrunning.Operations.CancelOperation has been called by the user. 6711 // Any records that were processed before the cancel command are output 6712 // as specified in the request. 6713 State string `json:"state,omitempty"` 6714 6715 // SubmitTime: The time when the batch request was submitted to the 6716 // server. 6717 SubmitTime string `json:"submitTime,omitempty"` 6718 6719 // ForceSendFields is a list of field names (e.g. "EndTime") to 6720 // unconditionally include in API requests. By default, fields with 6721 // empty or default values are omitted from API requests. However, any 6722 // non-pointer, non-interface field appearing in ForceSendFields will be 6723 // sent to the server regardless of whether the field is empty or not. 6724 // This may be used to include empty fields in Patch requests. 6725 ForceSendFields []string `json:"-"` 6726 6727 // NullFields is a list of field names (e.g. "EndTime") to include in 6728 // API requests with the JSON null value. By default, fields with empty 6729 // values are omitted from API requests. However, any field with an 6730 // empty value appearing in NullFields will be sent to the server as 6731 // null. It is an error if a field in this list has a non-empty value. 6732 // This may be used to include null fields in Patch requests. 6733 NullFields []string `json:"-"` 6734} 6735 6736func (s *GoogleCloudVisionV1p3beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 6737 type NoMethod GoogleCloudVisionV1p3beta1BatchOperationMetadata 6738 raw := NoMethod(*s) 6739 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6740} 6741 6742// GoogleCloudVisionV1p3beta1Block: Logical element on the page. 6743type GoogleCloudVisionV1p3beta1Block struct { 6744 // BlockType: Detected block type (text, image etc) for this block. 6745 // 6746 // Possible values: 6747 // "UNKNOWN" - Unknown block type. 6748 // "TEXT" - Regular text block. 6749 // "TABLE" - Table block. 6750 // "PICTURE" - Image block. 6751 // "RULER" - Horizontal/vertical line box. 6752 // "BARCODE" - Barcode block. 6753 BlockType string `json:"blockType,omitempty"` 6754 6755 // BoundingBox: The bounding box for the block. The vertices are in the 6756 // order of top-left, top-right, bottom-right, bottom-left. When a 6757 // rotation of the bounding box is detected the rotation is represented 6758 // as around the top-left corner as defined when the text is read in the 6759 // 'natural' orientation. For example: * when the text is horizontal it 6760 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 6761 // around the top-left corner it becomes: 2----3 | | 1----0 and the 6762 // vertex order will still be (0, 1, 2, 3). 6763 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 6764 6765 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 6766 Confidence float64 `json:"confidence,omitempty"` 6767 6768 // Paragraphs: List of paragraphs in this block (if this blocks is of 6769 // type text). 6770 Paragraphs []*GoogleCloudVisionV1p3beta1Paragraph `json:"paragraphs,omitempty"` 6771 6772 // Property: Additional information detected for the block. 6773 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 6774 6775 // ForceSendFields is a list of field names (e.g. "BlockType") to 6776 // unconditionally include in API requests. By default, fields with 6777 // empty or default values are omitted from API requests. However, any 6778 // non-pointer, non-interface field appearing in ForceSendFields will be 6779 // sent to the server regardless of whether the field is empty or not. 6780 // This may be used to include empty fields in Patch requests. 6781 ForceSendFields []string `json:"-"` 6782 6783 // NullFields is a list of field names (e.g. "BlockType") to include in 6784 // API requests with the JSON null value. By default, fields with empty 6785 // values are omitted from API requests. However, any field with an 6786 // empty value appearing in NullFields will be sent to the server as 6787 // null. It is an error if a field in this list has a non-empty value. 6788 // This may be used to include null fields in Patch requests. 6789 NullFields []string `json:"-"` 6790} 6791 6792func (s *GoogleCloudVisionV1p3beta1Block) MarshalJSON() ([]byte, error) { 6793 type NoMethod GoogleCloudVisionV1p3beta1Block 6794 raw := NoMethod(*s) 6795 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6796} 6797 6798func (s *GoogleCloudVisionV1p3beta1Block) UnmarshalJSON(data []byte) error { 6799 type NoMethod GoogleCloudVisionV1p3beta1Block 6800 var s1 struct { 6801 Confidence gensupport.JSONFloat64 `json:"confidence"` 6802 *NoMethod 6803 } 6804 s1.NoMethod = (*NoMethod)(s) 6805 if err := json.Unmarshal(data, &s1); err != nil { 6806 return err 6807 } 6808 s.Confidence = float64(s1.Confidence) 6809 return nil 6810} 6811 6812// GoogleCloudVisionV1p3beta1BoundingPoly: A bounding polygon for the 6813// detected image annotation. 6814type GoogleCloudVisionV1p3beta1BoundingPoly struct { 6815 // NormalizedVertices: The bounding polygon normalized vertices. 6816 NormalizedVertices []*GoogleCloudVisionV1p3beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 6817 6818 // Vertices: The bounding polygon vertices. 6819 Vertices []*GoogleCloudVisionV1p3beta1Vertex `json:"vertices,omitempty"` 6820 6821 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 6822 // to unconditionally include in API requests. By default, fields with 6823 // empty or default values are omitted from API requests. However, any 6824 // non-pointer, non-interface field appearing in ForceSendFields will be 6825 // sent to the server regardless of whether the field is empty or not. 6826 // This may be used to include empty fields in Patch requests. 6827 ForceSendFields []string `json:"-"` 6828 6829 // NullFields is a list of field names (e.g. "NormalizedVertices") to 6830 // include in API requests with the JSON null value. By default, fields 6831 // with empty values are omitted from API requests. However, any field 6832 // with an empty value appearing in NullFields will be sent to the 6833 // server as null. It is an error if a field in this list has a 6834 // non-empty value. This may be used to include null fields in Patch 6835 // requests. 6836 NullFields []string `json:"-"` 6837} 6838 6839func (s *GoogleCloudVisionV1p3beta1BoundingPoly) MarshalJSON() ([]byte, error) { 6840 type NoMethod GoogleCloudVisionV1p3beta1BoundingPoly 6841 raw := NoMethod(*s) 6842 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6843} 6844 6845// GoogleCloudVisionV1p3beta1ColorInfo: Color information consists of 6846// RGB channels, score, and the fraction of the image that the color 6847// occupies in the image. 6848type GoogleCloudVisionV1p3beta1ColorInfo struct { 6849 // Color: RGB components of the color. 6850 Color *Color `json:"color,omitempty"` 6851 6852 // PixelFraction: The fraction of pixels the color occupies in the 6853 // image. Value in range [0, 1]. 6854 PixelFraction float64 `json:"pixelFraction,omitempty"` 6855 6856 // Score: Image-specific score for this color. Value in range [0, 1]. 6857 Score float64 `json:"score,omitempty"` 6858 6859 // ForceSendFields is a list of field names (e.g. "Color") to 6860 // unconditionally include in API requests. By default, fields with 6861 // empty or default values are omitted from API requests. However, any 6862 // non-pointer, non-interface field appearing in ForceSendFields will be 6863 // sent to the server regardless of whether the field is empty or not. 6864 // This may be used to include empty fields in Patch requests. 6865 ForceSendFields []string `json:"-"` 6866 6867 // NullFields is a list of field names (e.g. "Color") to include in API 6868 // requests with the JSON null value. By default, fields with empty 6869 // values are omitted from API requests. However, any field with an 6870 // empty value appearing in NullFields will be sent to the server as 6871 // null. It is an error if a field in this list has a non-empty value. 6872 // This may be used to include null fields in Patch requests. 6873 NullFields []string `json:"-"` 6874} 6875 6876func (s *GoogleCloudVisionV1p3beta1ColorInfo) MarshalJSON() ([]byte, error) { 6877 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 6878 raw := NoMethod(*s) 6879 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6880} 6881 6882func (s *GoogleCloudVisionV1p3beta1ColorInfo) UnmarshalJSON(data []byte) error { 6883 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 6884 var s1 struct { 6885 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 6886 Score gensupport.JSONFloat64 `json:"score"` 6887 *NoMethod 6888 } 6889 s1.NoMethod = (*NoMethod)(s) 6890 if err := json.Unmarshal(data, &s1); err != nil { 6891 return err 6892 } 6893 s.PixelFraction = float64(s1.PixelFraction) 6894 s.Score = float64(s1.Score) 6895 return nil 6896} 6897 6898// GoogleCloudVisionV1p3beta1CropHint: Single crop hint that is used to 6899// generate a new crop when serving an image. 6900type GoogleCloudVisionV1p3beta1CropHint struct { 6901 // BoundingPoly: The bounding polygon for the crop region. The 6902 // coordinates of the bounding box are in the original image's scale. 6903 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 6904 6905 // Confidence: Confidence of this being a salient region. Range [0, 1]. 6906 Confidence float64 `json:"confidence,omitempty"` 6907 6908 // ImportanceFraction: Fraction of importance of this salient region 6909 // with respect to the original image. 6910 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 6911 6912 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 6913 // unconditionally include in API requests. By default, fields with 6914 // empty or default values are omitted from API requests. However, any 6915 // non-pointer, non-interface field appearing in ForceSendFields will be 6916 // sent to the server regardless of whether the field is empty or not. 6917 // This may be used to include empty fields in Patch requests. 6918 ForceSendFields []string `json:"-"` 6919 6920 // NullFields is a list of field names (e.g. "BoundingPoly") to include 6921 // in API requests with the JSON null value. By default, fields with 6922 // empty values are omitted from API requests. However, any field with 6923 // an empty value appearing in NullFields will be sent to the server as 6924 // null. It is an error if a field in this list has a non-empty value. 6925 // This may be used to include null fields in Patch requests. 6926 NullFields []string `json:"-"` 6927} 6928 6929func (s *GoogleCloudVisionV1p3beta1CropHint) MarshalJSON() ([]byte, error) { 6930 type NoMethod GoogleCloudVisionV1p3beta1CropHint 6931 raw := NoMethod(*s) 6932 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6933} 6934 6935func (s *GoogleCloudVisionV1p3beta1CropHint) UnmarshalJSON(data []byte) error { 6936 type NoMethod GoogleCloudVisionV1p3beta1CropHint 6937 var s1 struct { 6938 Confidence gensupport.JSONFloat64 `json:"confidence"` 6939 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 6940 *NoMethod 6941 } 6942 s1.NoMethod = (*NoMethod)(s) 6943 if err := json.Unmarshal(data, &s1); err != nil { 6944 return err 6945 } 6946 s.Confidence = float64(s1.Confidence) 6947 s.ImportanceFraction = float64(s1.ImportanceFraction) 6948 return nil 6949} 6950 6951// GoogleCloudVisionV1p3beta1CropHintsAnnotation: Set of crop hints that 6952// are used to generate new crops when serving images. 6953type GoogleCloudVisionV1p3beta1CropHintsAnnotation struct { 6954 // CropHints: Crop hint results. 6955 CropHints []*GoogleCloudVisionV1p3beta1CropHint `json:"cropHints,omitempty"` 6956 6957 // ForceSendFields is a list of field names (e.g. "CropHints") to 6958 // unconditionally include in API requests. By default, fields with 6959 // empty or default values are omitted from API requests. However, any 6960 // non-pointer, non-interface field appearing in ForceSendFields will be 6961 // sent to the server regardless of whether the field is empty or not. 6962 // This may be used to include empty fields in Patch requests. 6963 ForceSendFields []string `json:"-"` 6964 6965 // NullFields is a list of field names (e.g. "CropHints") to include in 6966 // API requests with the JSON null value. By default, fields with empty 6967 // values are omitted from API requests. However, any field with an 6968 // empty value appearing in NullFields will be sent to the server as 6969 // null. It is an error if a field in this list has a non-empty value. 6970 // This may be used to include null fields in Patch requests. 6971 NullFields []string `json:"-"` 6972} 6973 6974func (s *GoogleCloudVisionV1p3beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 6975 type NoMethod GoogleCloudVisionV1p3beta1CropHintsAnnotation 6976 raw := NoMethod(*s) 6977 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6978} 6979 6980// GoogleCloudVisionV1p3beta1DominantColorsAnnotation: Set of dominant 6981// colors and their corresponding scores. 6982type GoogleCloudVisionV1p3beta1DominantColorsAnnotation struct { 6983 // Colors: RGB color values with their score and pixel fraction. 6984 Colors []*GoogleCloudVisionV1p3beta1ColorInfo `json:"colors,omitempty"` 6985 6986 // ForceSendFields is a list of field names (e.g. "Colors") to 6987 // unconditionally include in API requests. By default, fields with 6988 // empty or default values are omitted from API requests. However, any 6989 // non-pointer, non-interface field appearing in ForceSendFields will be 6990 // sent to the server regardless of whether the field is empty or not. 6991 // This may be used to include empty fields in Patch requests. 6992 ForceSendFields []string `json:"-"` 6993 6994 // NullFields is a list of field names (e.g. "Colors") to include in API 6995 // requests with the JSON null value. By default, fields with empty 6996 // values are omitted from API requests. However, any field with an 6997 // empty value appearing in NullFields will be sent to the server as 6998 // null. It is an error if a field in this list has a non-empty value. 6999 // This may be used to include null fields in Patch requests. 7000 NullFields []string `json:"-"` 7001} 7002 7003func (s *GoogleCloudVisionV1p3beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 7004 type NoMethod GoogleCloudVisionV1p3beta1DominantColorsAnnotation 7005 raw := NoMethod(*s) 7006 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7007} 7008 7009// GoogleCloudVisionV1p3beta1EntityAnnotation: Set of detected entity 7010// features. 7011type GoogleCloudVisionV1p3beta1EntityAnnotation struct { 7012 // BoundingPoly: Image region to which this entity belongs. Not produced 7013 // for `LABEL_DETECTION` features. 7014 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7015 7016 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 7017 // entity detection in an image. For example, for an image in which the 7018 // "Eiffel Tower" entity is detected, this field represents the 7019 // confidence that there is a tower in the query image. Range [0, 1]. 7020 Confidence float64 `json:"confidence,omitempty"` 7021 7022 // Description: Entity textual description, expressed in its `locale` 7023 // language. 7024 Description string `json:"description,omitempty"` 7025 7026 // Locale: The language code for the locale in which the entity textual 7027 // `description` is expressed. 7028 Locale string `json:"locale,omitempty"` 7029 7030 // Locations: The location information for the detected entity. Multiple 7031 // `LocationInfo` elements can be present because one location may 7032 // indicate the location of the scene in the image, and another location 7033 // may indicate the location of the place where the image was taken. 7034 // Location information is usually present for landmarks. 7035 Locations []*GoogleCloudVisionV1p3beta1LocationInfo `json:"locations,omitempty"` 7036 7037 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 7038 // Graph Search API (https://developers.google.com/knowledge-graph/). 7039 Mid string `json:"mid,omitempty"` 7040 7041 // Properties: Some entities may have optional user-supplied `Property` 7042 // (name/value) fields, such a score or string that qualifies the 7043 // entity. 7044 Properties []*GoogleCloudVisionV1p3beta1Property `json:"properties,omitempty"` 7045 7046 // Score: Overall score of the result. Range [0, 1]. 7047 Score float64 `json:"score,omitempty"` 7048 7049 // Topicality: The relevancy of the ICA (Image Content Annotation) label 7050 // to the image. For example, the relevancy of "tower" is likely higher 7051 // to an image containing the detected "Eiffel Tower" than to an image 7052 // containing a detected distant towering building, even though the 7053 // confidence that there is a tower in each image may be the same. Range 7054 // [0, 1]. 7055 Topicality float64 `json:"topicality,omitempty"` 7056 7057 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7058 // unconditionally include in API requests. By default, fields with 7059 // empty or default values are omitted from API requests. However, any 7060 // non-pointer, non-interface field appearing in ForceSendFields will be 7061 // sent to the server regardless of whether the field is empty or not. 7062 // This may be used to include empty fields in Patch requests. 7063 ForceSendFields []string `json:"-"` 7064 7065 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7066 // in API requests with the JSON null value. By default, fields with 7067 // empty values are omitted from API requests. However, any field with 7068 // an empty value appearing in NullFields will be sent to the server as 7069 // null. It is an error if a field in this list has a non-empty value. 7070 // This may be used to include null fields in Patch requests. 7071 NullFields []string `json:"-"` 7072} 7073 7074func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 7075 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7076 raw := NoMethod(*s) 7077 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7078} 7079 7080func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 7081 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7082 var s1 struct { 7083 Confidence gensupport.JSONFloat64 `json:"confidence"` 7084 Score gensupport.JSONFloat64 `json:"score"` 7085 Topicality gensupport.JSONFloat64 `json:"topicality"` 7086 *NoMethod 7087 } 7088 s1.NoMethod = (*NoMethod)(s) 7089 if err := json.Unmarshal(data, &s1); err != nil { 7090 return err 7091 } 7092 s.Confidence = float64(s1.Confidence) 7093 s.Score = float64(s1.Score) 7094 s.Topicality = float64(s1.Topicality) 7095 return nil 7096} 7097 7098// GoogleCloudVisionV1p3beta1FaceAnnotation: A face annotation object 7099// contains the results of face detection. 7100type GoogleCloudVisionV1p3beta1FaceAnnotation struct { 7101 // AngerLikelihood: Anger likelihood. 7102 // 7103 // Possible values: 7104 // "UNKNOWN" - Unknown likelihood. 7105 // "VERY_UNLIKELY" - It is very unlikely. 7106 // "UNLIKELY" - It is unlikely. 7107 // "POSSIBLE" - It is possible. 7108 // "LIKELY" - It is likely. 7109 // "VERY_LIKELY" - It is very likely. 7110 AngerLikelihood string `json:"angerLikelihood,omitempty"` 7111 7112 // BlurredLikelihood: Blurred likelihood. 7113 // 7114 // Possible values: 7115 // "UNKNOWN" - Unknown likelihood. 7116 // "VERY_UNLIKELY" - It is very unlikely. 7117 // "UNLIKELY" - It is unlikely. 7118 // "POSSIBLE" - It is possible. 7119 // "LIKELY" - It is likely. 7120 // "VERY_LIKELY" - It is very likely. 7121 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 7122 7123 // BoundingPoly: The bounding polygon around the face. The coordinates 7124 // of the bounding box are in the original image's scale. The bounding 7125 // box is computed to "frame" the face in accordance with human 7126 // expectations. It is based on the landmarker results. Note that one or 7127 // more x and/or y coordinates may not be generated in the 7128 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 7129 // appears in the image to be annotated. 7130 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7131 7132 // DetectionConfidence: Detection confidence. Range [0, 1]. 7133 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 7134 7135 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 7136 // than the `boundingPoly`, and encloses only the skin part of the face. 7137 // Typically, it is used to eliminate the face from any image analysis 7138 // that detects the "amount of skin" visible in an image. It is not 7139 // based on the landmarker results, only on the initial face detection, 7140 // hence the fd (face detection) prefix. 7141 FdBoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 7142 7143 // HeadwearLikelihood: Headwear likelihood. 7144 // 7145 // Possible values: 7146 // "UNKNOWN" - Unknown likelihood. 7147 // "VERY_UNLIKELY" - It is very unlikely. 7148 // "UNLIKELY" - It is unlikely. 7149 // "POSSIBLE" - It is possible. 7150 // "LIKELY" - It is likely. 7151 // "VERY_LIKELY" - It is very likely. 7152 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 7153 7154 // JoyLikelihood: Joy likelihood. 7155 // 7156 // Possible values: 7157 // "UNKNOWN" - Unknown likelihood. 7158 // "VERY_UNLIKELY" - It is very unlikely. 7159 // "UNLIKELY" - It is unlikely. 7160 // "POSSIBLE" - It is possible. 7161 // "LIKELY" - It is likely. 7162 // "VERY_LIKELY" - It is very likely. 7163 JoyLikelihood string `json:"joyLikelihood,omitempty"` 7164 7165 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 7166 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 7167 7168 // Landmarks: Detected face landmarks. 7169 Landmarks []*GoogleCloudVisionV1p3beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 7170 7171 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 7172 // that the face is pointing relative to the vertical plane 7173 // perpendicular to the image. Range [-180,180]. 7174 PanAngle float64 `json:"panAngle,omitempty"` 7175 7176 // RollAngle: Roll angle, which indicates the amount of 7177 // clockwise/anti-clockwise rotation of the face relative to the image 7178 // vertical about the axis perpendicular to the face. Range [-180,180]. 7179 RollAngle float64 `json:"rollAngle,omitempty"` 7180 7181 // SorrowLikelihood: Sorrow likelihood. 7182 // 7183 // Possible values: 7184 // "UNKNOWN" - Unknown likelihood. 7185 // "VERY_UNLIKELY" - It is very unlikely. 7186 // "UNLIKELY" - It is unlikely. 7187 // "POSSIBLE" - It is possible. 7188 // "LIKELY" - It is likely. 7189 // "VERY_LIKELY" - It is very likely. 7190 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 7191 7192 // SurpriseLikelihood: Surprise likelihood. 7193 // 7194 // Possible values: 7195 // "UNKNOWN" - Unknown likelihood. 7196 // "VERY_UNLIKELY" - It is very unlikely. 7197 // "UNLIKELY" - It is unlikely. 7198 // "POSSIBLE" - It is possible. 7199 // "LIKELY" - It is likely. 7200 // "VERY_LIKELY" - It is very likely. 7201 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 7202 7203 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 7204 // that the face is pointing relative to the image's horizontal plane. 7205 // Range [-180,180]. 7206 TiltAngle float64 `json:"tiltAngle,omitempty"` 7207 7208 // UnderExposedLikelihood: Under-exposed likelihood. 7209 // 7210 // Possible values: 7211 // "UNKNOWN" - Unknown likelihood. 7212 // "VERY_UNLIKELY" - It is very unlikely. 7213 // "UNLIKELY" - It is unlikely. 7214 // "POSSIBLE" - It is possible. 7215 // "LIKELY" - It is likely. 7216 // "VERY_LIKELY" - It is very likely. 7217 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 7218 7219 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 7220 // unconditionally include in API requests. By default, fields with 7221 // empty or default values are omitted from API requests. However, any 7222 // non-pointer, non-interface field appearing in ForceSendFields will be 7223 // sent to the server regardless of whether the field is empty or not. 7224 // This may be used to include empty fields in Patch requests. 7225 ForceSendFields []string `json:"-"` 7226 7227 // NullFields is a list of field names (e.g. "AngerLikelihood") to 7228 // include in API requests with the JSON null value. By default, fields 7229 // with empty values are omitted from API requests. However, any field 7230 // with an empty value appearing in NullFields will be sent to the 7231 // server as null. It is an error if a field in this list has a 7232 // non-empty value. This may be used to include null fields in Patch 7233 // requests. 7234 NullFields []string `json:"-"` 7235} 7236 7237func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 7238 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7239 raw := NoMethod(*s) 7240 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7241} 7242 7243func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 7244 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7245 var s1 struct { 7246 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 7247 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 7248 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 7249 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 7250 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 7251 *NoMethod 7252 } 7253 s1.NoMethod = (*NoMethod)(s) 7254 if err := json.Unmarshal(data, &s1); err != nil { 7255 return err 7256 } 7257 s.DetectionConfidence = float64(s1.DetectionConfidence) 7258 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 7259 s.PanAngle = float64(s1.PanAngle) 7260 s.RollAngle = float64(s1.RollAngle) 7261 s.TiltAngle = float64(s1.TiltAngle) 7262 return nil 7263} 7264 7265// GoogleCloudVisionV1p3beta1FaceAnnotationLandmark: A face-specific 7266// landmark (for example, a face feature). 7267type GoogleCloudVisionV1p3beta1FaceAnnotationLandmark struct { 7268 // Position: Face landmark position. 7269 Position *GoogleCloudVisionV1p3beta1Position `json:"position,omitempty"` 7270 7271 // Type: Face landmark type. 7272 // 7273 // Possible values: 7274 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 7275 // filled. 7276 // "LEFT_EYE" - Left eye. 7277 // "RIGHT_EYE" - Right eye. 7278 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 7279 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 7280 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 7281 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 7282 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 7283 // "NOSE_TIP" - Nose tip. 7284 // "UPPER_LIP" - Upper lip. 7285 // "LOWER_LIP" - Lower lip. 7286 // "MOUTH_LEFT" - Mouth left. 7287 // "MOUTH_RIGHT" - Mouth right. 7288 // "MOUTH_CENTER" - Mouth center. 7289 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 7290 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 7291 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 7292 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 7293 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 7294 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 7295 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 7296 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 7297 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 7298 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 7299 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 7300 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 7301 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 7302 // "LEFT_EAR_TRAGION" - Left ear tragion. 7303 // "RIGHT_EAR_TRAGION" - Right ear tragion. 7304 // "LEFT_EYE_PUPIL" - Left eye pupil. 7305 // "RIGHT_EYE_PUPIL" - Right eye pupil. 7306 // "FOREHEAD_GLABELLA" - Forehead glabella. 7307 // "CHIN_GNATHION" - Chin gnathion. 7308 // "CHIN_LEFT_GONION" - Chin left gonion. 7309 // "CHIN_RIGHT_GONION" - Chin right gonion. 7310 // "LEFT_CHEEK_CENTER" - Left cheek center. 7311 // "RIGHT_CHEEK_CENTER" - Right cheek center. 7312 Type string `json:"type,omitempty"` 7313 7314 // ForceSendFields is a list of field names (e.g. "Position") to 7315 // unconditionally include in API requests. By default, fields with 7316 // empty or default values are omitted from API requests. However, any 7317 // non-pointer, non-interface field appearing in ForceSendFields will be 7318 // sent to the server regardless of whether the field is empty or not. 7319 // This may be used to include empty fields in Patch requests. 7320 ForceSendFields []string `json:"-"` 7321 7322 // NullFields is a list of field names (e.g. "Position") to include in 7323 // API requests with the JSON null value. By default, fields with empty 7324 // values are omitted from API requests. However, any field with an 7325 // empty value appearing in NullFields will be sent to the server as 7326 // null. It is an error if a field in this list has a non-empty value. 7327 // This may be used to include null fields in Patch requests. 7328 NullFields []string `json:"-"` 7329} 7330 7331func (s *GoogleCloudVisionV1p3beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 7332 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotationLandmark 7333 raw := NoMethod(*s) 7334 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7335} 7336 7337// GoogleCloudVisionV1p3beta1GcsDestination: The Google Cloud Storage 7338// location where the output will be written to. 7339type GoogleCloudVisionV1p3beta1GcsDestination struct { 7340 // Uri: Google Cloud Storage URI prefix where the results will be 7341 // stored. Results will be in JSON format and preceded by its 7342 // corresponding input URI prefix. This field can either represent a gcs 7343 // file prefix or gcs directory. In either case, the uri should be 7344 // unique because in order to get all of the output files, you will need 7345 // to do a wildcard gcs search on the uri prefix you provide. Examples: 7346 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 7347 // will be created in gs://bucket-name/here/ and the names of the output 7348 // files will begin with "filenameprefix". * Directory Prefix: 7349 // gs://bucket-name/some/location/ The output files will be created in 7350 // gs://bucket-name/some/location/ and the names of the output files 7351 // could be anything because there was no filename prefix specified. If 7352 // multiple outputs, each response is still AnnotateFileResponse, each 7353 // of which contains some subset of the full list of 7354 // AnnotateImageResponse. Multiple outputs can happen if, for example, 7355 // the output JSON is too large and overflows into multiple sharded 7356 // files. 7357 Uri string `json:"uri,omitempty"` 7358 7359 // ForceSendFields is a list of field names (e.g. "Uri") to 7360 // unconditionally include in API requests. By default, fields with 7361 // empty or default values are omitted from API requests. However, any 7362 // non-pointer, non-interface field appearing in ForceSendFields will be 7363 // sent to the server regardless of whether the field is empty or not. 7364 // This may be used to include empty fields in Patch requests. 7365 ForceSendFields []string `json:"-"` 7366 7367 // NullFields is a list of field names (e.g. "Uri") to include in API 7368 // requests with the JSON null value. By default, fields with empty 7369 // values are omitted from API requests. However, any field with an 7370 // empty value appearing in NullFields will be sent to the server as 7371 // null. It is an error if a field in this list has a non-empty value. 7372 // This may be used to include null fields in Patch requests. 7373 NullFields []string `json:"-"` 7374} 7375 7376func (s *GoogleCloudVisionV1p3beta1GcsDestination) MarshalJSON() ([]byte, error) { 7377 type NoMethod GoogleCloudVisionV1p3beta1GcsDestination 7378 raw := NoMethod(*s) 7379 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7380} 7381 7382// GoogleCloudVisionV1p3beta1GcsSource: The Google Cloud Storage 7383// location where the input will be read from. 7384type GoogleCloudVisionV1p3beta1GcsSource struct { 7385 // Uri: Google Cloud Storage URI for the input file. This must only be a 7386 // Google Cloud Storage object. Wildcards are not currently supported. 7387 Uri string `json:"uri,omitempty"` 7388 7389 // ForceSendFields is a list of field names (e.g. "Uri") to 7390 // unconditionally include in API requests. By default, fields with 7391 // empty or default values are omitted from API requests. However, any 7392 // non-pointer, non-interface field appearing in ForceSendFields will be 7393 // sent to the server regardless of whether the field is empty or not. 7394 // This may be used to include empty fields in Patch requests. 7395 ForceSendFields []string `json:"-"` 7396 7397 // NullFields is a list of field names (e.g. "Uri") to include in API 7398 // requests with the JSON null value. By default, fields with empty 7399 // values are omitted from API requests. However, any field with an 7400 // empty value appearing in NullFields will be sent to the server as 7401 // null. It is an error if a field in this list has a non-empty value. 7402 // This may be used to include null fields in Patch requests. 7403 NullFields []string `json:"-"` 7404} 7405 7406func (s *GoogleCloudVisionV1p3beta1GcsSource) MarshalJSON() ([]byte, error) { 7407 type NoMethod GoogleCloudVisionV1p3beta1GcsSource 7408 raw := NoMethod(*s) 7409 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7410} 7411 7412// GoogleCloudVisionV1p3beta1ImageAnnotationContext: If an image was 7413// produced from a file (e.g. a PDF), this message gives information 7414// about the source of that image. 7415type GoogleCloudVisionV1p3beta1ImageAnnotationContext struct { 7416 // PageNumber: If the file was a PDF or TIFF, this field gives the page 7417 // number within the file used to produce the image. 7418 PageNumber int64 `json:"pageNumber,omitempty"` 7419 7420 // Uri: The URI of the file used to produce the image. 7421 Uri string `json:"uri,omitempty"` 7422 7423 // ForceSendFields is a list of field names (e.g. "PageNumber") to 7424 // unconditionally include in API requests. By default, fields with 7425 // empty or default values are omitted from API requests. However, any 7426 // non-pointer, non-interface field appearing in ForceSendFields will be 7427 // sent to the server regardless of whether the field is empty or not. 7428 // This may be used to include empty fields in Patch requests. 7429 ForceSendFields []string `json:"-"` 7430 7431 // NullFields is a list of field names (e.g. "PageNumber") to include in 7432 // API requests with the JSON null value. By default, fields with empty 7433 // values are omitted from API requests. However, any field with an 7434 // empty value appearing in NullFields will be sent to the server as 7435 // null. It is an error if a field in this list has a non-empty value. 7436 // This may be used to include null fields in Patch requests. 7437 NullFields []string `json:"-"` 7438} 7439 7440func (s *GoogleCloudVisionV1p3beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 7441 type NoMethod GoogleCloudVisionV1p3beta1ImageAnnotationContext 7442 raw := NoMethod(*s) 7443 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7444} 7445 7446// GoogleCloudVisionV1p3beta1ImageProperties: Stores image properties, 7447// such as dominant colors. 7448type GoogleCloudVisionV1p3beta1ImageProperties struct { 7449 // DominantColors: If present, dominant colors completed successfully. 7450 DominantColors *GoogleCloudVisionV1p3beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 7451 7452 // ForceSendFields is a list of field names (e.g. "DominantColors") to 7453 // unconditionally include in API requests. By default, fields with 7454 // empty or default values are omitted from API requests. However, any 7455 // non-pointer, non-interface field appearing in ForceSendFields will be 7456 // sent to the server regardless of whether the field is empty or not. 7457 // This may be used to include empty fields in Patch requests. 7458 ForceSendFields []string `json:"-"` 7459 7460 // NullFields is a list of field names (e.g. "DominantColors") to 7461 // include in API requests with the JSON null value. By default, fields 7462 // with empty values are omitted from API requests. However, any field 7463 // with an empty value appearing in NullFields will be sent to the 7464 // server as null. It is an error if a field in this list has a 7465 // non-empty value. This may be used to include null fields in Patch 7466 // requests. 7467 NullFields []string `json:"-"` 7468} 7469 7470func (s *GoogleCloudVisionV1p3beta1ImageProperties) MarshalJSON() ([]byte, error) { 7471 type NoMethod GoogleCloudVisionV1p3beta1ImageProperties 7472 raw := NoMethod(*s) 7473 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7474} 7475 7476// GoogleCloudVisionV1p3beta1ImportProductSetsResponse: Response message 7477// for the `ImportProductSets` method. This message is returned by the 7478// google.longrunning.Operations.GetOperation method in the returned 7479// google.longrunning.Operation.response field. 7480type GoogleCloudVisionV1p3beta1ImportProductSetsResponse struct { 7481 // ReferenceImages: The list of reference_images that are imported 7482 // successfully. 7483 ReferenceImages []*GoogleCloudVisionV1p3beta1ReferenceImage `json:"referenceImages,omitempty"` 7484 7485 // Statuses: The rpc status for each ImportProductSet request, including 7486 // both successes and errors. The number of statuses here matches the 7487 // number of lines in the csv file, and statuses[i] stores the success 7488 // or failure status of processing the i-th line of the csv, starting 7489 // from line 0. 7490 Statuses []*Status `json:"statuses,omitempty"` 7491 7492 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 7493 // unconditionally include in API requests. By default, fields with 7494 // empty or default values are omitted from API requests. However, any 7495 // non-pointer, non-interface field appearing in ForceSendFields will be 7496 // sent to the server regardless of whether the field is empty or not. 7497 // This may be used to include empty fields in Patch requests. 7498 ForceSendFields []string `json:"-"` 7499 7500 // NullFields is a list of field names (e.g. "ReferenceImages") to 7501 // include in API requests with the JSON null value. By default, fields 7502 // with empty values are omitted from API requests. However, any field 7503 // with an empty value appearing in NullFields will be sent to the 7504 // server as null. It is an error if a field in this list has a 7505 // non-empty value. This may be used to include null fields in Patch 7506 // requests. 7507 NullFields []string `json:"-"` 7508} 7509 7510func (s *GoogleCloudVisionV1p3beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 7511 type NoMethod GoogleCloudVisionV1p3beta1ImportProductSetsResponse 7512 raw := NoMethod(*s) 7513 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7514} 7515 7516// GoogleCloudVisionV1p3beta1InputConfig: The desired input location and 7517// metadata. 7518type GoogleCloudVisionV1p3beta1InputConfig struct { 7519 // Content: File content, represented as a stream of bytes. Note: As 7520 // with all `bytes` fields, protobuffers use a pure binary 7521 // representation, whereas JSON representations use base64. Currently, 7522 // this field only works for BatchAnnotateFiles requests. It does not 7523 // work for AsyncBatchAnnotateFiles requests. 7524 Content string `json:"content,omitempty"` 7525 7526 // GcsSource: The Google Cloud Storage location to read the input from. 7527 GcsSource *GoogleCloudVisionV1p3beta1GcsSource `json:"gcsSource,omitempty"` 7528 7529 // MimeType: The type of the file. Currently only "application/pdf", 7530 // "image/tiff" and "image/gif" are supported. Wildcards are not 7531 // supported. 7532 MimeType string `json:"mimeType,omitempty"` 7533 7534 // ForceSendFields is a list of field names (e.g. "Content") to 7535 // unconditionally include in API requests. By default, fields with 7536 // empty or default values are omitted from API requests. However, any 7537 // non-pointer, non-interface field appearing in ForceSendFields will be 7538 // sent to the server regardless of whether the field is empty or not. 7539 // This may be used to include empty fields in Patch requests. 7540 ForceSendFields []string `json:"-"` 7541 7542 // NullFields is a list of field names (e.g. "Content") to include in 7543 // API requests with the JSON null value. By default, fields with empty 7544 // values are omitted from API requests. However, any field with an 7545 // empty value appearing in NullFields will be sent to the server as 7546 // null. It is an error if a field in this list has a non-empty value. 7547 // This may be used to include null fields in Patch requests. 7548 NullFields []string `json:"-"` 7549} 7550 7551func (s *GoogleCloudVisionV1p3beta1InputConfig) MarshalJSON() ([]byte, error) { 7552 type NoMethod GoogleCloudVisionV1p3beta1InputConfig 7553 raw := NoMethod(*s) 7554 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7555} 7556 7557// GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation: Set of detected 7558// objects with bounding boxes. 7559type GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation struct { 7560 // BoundingPoly: Image region to which this object belongs. This must be 7561 // populated. 7562 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7563 7564 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 7565 // For more information, see 7566 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 7567 LanguageCode string `json:"languageCode,omitempty"` 7568 7569 // Mid: Object ID that should align with EntityAnnotation mid. 7570 Mid string `json:"mid,omitempty"` 7571 7572 // Name: Object name, expressed in its `language_code` language. 7573 Name string `json:"name,omitempty"` 7574 7575 // Score: Score of the result. Range [0, 1]. 7576 Score float64 `json:"score,omitempty"` 7577 7578 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7579 // unconditionally include in API requests. By default, fields with 7580 // empty or default values are omitted from API requests. However, any 7581 // non-pointer, non-interface field appearing in ForceSendFields will be 7582 // sent to the server regardless of whether the field is empty or not. 7583 // This may be used to include empty fields in Patch requests. 7584 ForceSendFields []string `json:"-"` 7585 7586 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7587 // in API requests with the JSON null value. By default, fields with 7588 // empty values are omitted from API requests. However, any field with 7589 // an empty value appearing in NullFields will be sent to the server as 7590 // null. It is an error if a field in this list has a non-empty value. 7591 // This may be used to include null fields in Patch requests. 7592 NullFields []string `json:"-"` 7593} 7594 7595func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 7596 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 7597 raw := NoMethod(*s) 7598 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7599} 7600 7601func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 7602 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 7603 var s1 struct { 7604 Score gensupport.JSONFloat64 `json:"score"` 7605 *NoMethod 7606 } 7607 s1.NoMethod = (*NoMethod)(s) 7608 if err := json.Unmarshal(data, &s1); err != nil { 7609 return err 7610 } 7611 s.Score = float64(s1.Score) 7612 return nil 7613} 7614 7615// GoogleCloudVisionV1p3beta1LocationInfo: Detected entity location 7616// information. 7617type GoogleCloudVisionV1p3beta1LocationInfo struct { 7618 // LatLng: lat/long location coordinates. 7619 LatLng *LatLng `json:"latLng,omitempty"` 7620 7621 // ForceSendFields is a list of field names (e.g. "LatLng") to 7622 // unconditionally include in API requests. By default, fields with 7623 // empty or default values are omitted from API requests. However, any 7624 // non-pointer, non-interface field appearing in ForceSendFields will be 7625 // sent to the server regardless of whether the field is empty or not. 7626 // This may be used to include empty fields in Patch requests. 7627 ForceSendFields []string `json:"-"` 7628 7629 // NullFields is a list of field names (e.g. "LatLng") to include in API 7630 // requests with the JSON null value. By default, fields with empty 7631 // values are omitted from API requests. However, any field with an 7632 // empty value appearing in NullFields will be sent to the server as 7633 // null. It is an error if a field in this list has a non-empty value. 7634 // This may be used to include null fields in Patch requests. 7635 NullFields []string `json:"-"` 7636} 7637 7638func (s *GoogleCloudVisionV1p3beta1LocationInfo) MarshalJSON() ([]byte, error) { 7639 type NoMethod GoogleCloudVisionV1p3beta1LocationInfo 7640 raw := NoMethod(*s) 7641 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7642} 7643 7644// GoogleCloudVisionV1p3beta1NormalizedVertex: A vertex represents a 2D 7645// point in the image. NOTE: the normalized vertex coordinates are 7646// relative to the original image and range from 0 to 1. 7647type GoogleCloudVisionV1p3beta1NormalizedVertex struct { 7648 // X: X coordinate. 7649 X float64 `json:"x,omitempty"` 7650 7651 // Y: Y coordinate. 7652 Y float64 `json:"y,omitempty"` 7653 7654 // ForceSendFields is a list of field names (e.g. "X") to 7655 // unconditionally include in API requests. By default, fields with 7656 // empty or default values are omitted from API requests. However, any 7657 // non-pointer, non-interface field appearing in ForceSendFields will be 7658 // sent to the server regardless of whether the field is empty or not. 7659 // This may be used to include empty fields in Patch requests. 7660 ForceSendFields []string `json:"-"` 7661 7662 // NullFields is a list of field names (e.g. "X") to include in API 7663 // requests with the JSON null value. By default, fields with empty 7664 // values are omitted from API requests. However, any field with an 7665 // empty value appearing in NullFields will be sent to the server as 7666 // null. It is an error if a field in this list has a non-empty value. 7667 // This may be used to include null fields in Patch requests. 7668 NullFields []string `json:"-"` 7669} 7670 7671func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 7672 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 7673 raw := NoMethod(*s) 7674 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7675} 7676 7677func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 7678 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 7679 var s1 struct { 7680 X gensupport.JSONFloat64 `json:"x"` 7681 Y gensupport.JSONFloat64 `json:"y"` 7682 *NoMethod 7683 } 7684 s1.NoMethod = (*NoMethod)(s) 7685 if err := json.Unmarshal(data, &s1); err != nil { 7686 return err 7687 } 7688 s.X = float64(s1.X) 7689 s.Y = float64(s1.Y) 7690 return nil 7691} 7692 7693// GoogleCloudVisionV1p3beta1OperationMetadata: Contains metadata for 7694// the BatchAnnotateImages operation. 7695type GoogleCloudVisionV1p3beta1OperationMetadata struct { 7696 // CreateTime: The time when the batch request was received. 7697 CreateTime string `json:"createTime,omitempty"` 7698 7699 // State: Current state of the batch operation. 7700 // 7701 // Possible values: 7702 // "STATE_UNSPECIFIED" - Invalid. 7703 // "CREATED" - Request is received. 7704 // "RUNNING" - Request is actively being processed. 7705 // "DONE" - The batch processing is done. 7706 // "CANCELLED" - The batch processing was cancelled. 7707 State string `json:"state,omitempty"` 7708 7709 // UpdateTime: The time when the operation result was last updated. 7710 UpdateTime string `json:"updateTime,omitempty"` 7711 7712 // ForceSendFields is a list of field names (e.g. "CreateTime") to 7713 // unconditionally include in API requests. By default, fields with 7714 // empty or default values are omitted from API requests. However, any 7715 // non-pointer, non-interface field appearing in ForceSendFields will be 7716 // sent to the server regardless of whether the field is empty or not. 7717 // This may be used to include empty fields in Patch requests. 7718 ForceSendFields []string `json:"-"` 7719 7720 // NullFields is a list of field names (e.g. "CreateTime") to include in 7721 // API requests with the JSON null value. By default, fields with empty 7722 // values are omitted from API requests. However, any field with an 7723 // empty value appearing in NullFields will be sent to the server as 7724 // null. It is an error if a field in this list has a non-empty value. 7725 // This may be used to include null fields in Patch requests. 7726 NullFields []string `json:"-"` 7727} 7728 7729func (s *GoogleCloudVisionV1p3beta1OperationMetadata) MarshalJSON() ([]byte, error) { 7730 type NoMethod GoogleCloudVisionV1p3beta1OperationMetadata 7731 raw := NoMethod(*s) 7732 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7733} 7734 7735// GoogleCloudVisionV1p3beta1OutputConfig: The desired output location 7736// and metadata. 7737type GoogleCloudVisionV1p3beta1OutputConfig struct { 7738 // BatchSize: The max number of response protos to put into each output 7739 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 7740 // not specified, the default value is 20. For example, for one pdf file 7741 // with 100 pages, 100 response protos will be generated. If 7742 // `batch_size` = 20, then 5 json files each containing 20 response 7743 // protos will be written under the prefix `gcs_destination`.`uri`. 7744 // Currently, batch_size only applies to GcsDestination, with potential 7745 // future support for other output configurations. 7746 BatchSize int64 `json:"batchSize,omitempty"` 7747 7748 // GcsDestination: The Google Cloud Storage location to write the 7749 // output(s) to. 7750 GcsDestination *GoogleCloudVisionV1p3beta1GcsDestination `json:"gcsDestination,omitempty"` 7751 7752 // ForceSendFields is a list of field names (e.g. "BatchSize") to 7753 // unconditionally include in API requests. By default, fields with 7754 // empty or default values are omitted from API requests. However, any 7755 // non-pointer, non-interface field appearing in ForceSendFields will be 7756 // sent to the server regardless of whether the field is empty or not. 7757 // This may be used to include empty fields in Patch requests. 7758 ForceSendFields []string `json:"-"` 7759 7760 // NullFields is a list of field names (e.g. "BatchSize") to include in 7761 // API requests with the JSON null value. By default, fields with empty 7762 // values are omitted from API requests. However, any field with an 7763 // empty value appearing in NullFields will be sent to the server as 7764 // null. It is an error if a field in this list has a non-empty value. 7765 // This may be used to include null fields in Patch requests. 7766 NullFields []string `json:"-"` 7767} 7768 7769func (s *GoogleCloudVisionV1p3beta1OutputConfig) MarshalJSON() ([]byte, error) { 7770 type NoMethod GoogleCloudVisionV1p3beta1OutputConfig 7771 raw := NoMethod(*s) 7772 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7773} 7774 7775// GoogleCloudVisionV1p3beta1Page: Detected page from OCR. 7776type GoogleCloudVisionV1p3beta1Page struct { 7777 // Blocks: List of blocks of text, images etc on this page. 7778 Blocks []*GoogleCloudVisionV1p3beta1Block `json:"blocks,omitempty"` 7779 7780 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 7781 Confidence float64 `json:"confidence,omitempty"` 7782 7783 // Height: Page height. For PDFs the unit is points. For images 7784 // (including TIFFs) the unit is pixels. 7785 Height int64 `json:"height,omitempty"` 7786 7787 // Property: Additional information detected on the page. 7788 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 7789 7790 // Width: Page width. For PDFs the unit is points. For images (including 7791 // TIFFs) the unit is pixels. 7792 Width int64 `json:"width,omitempty"` 7793 7794 // ForceSendFields is a list of field names (e.g. "Blocks") to 7795 // unconditionally include in API requests. By default, fields with 7796 // empty or default values are omitted from API requests. However, any 7797 // non-pointer, non-interface field appearing in ForceSendFields will be 7798 // sent to the server regardless of whether the field is empty or not. 7799 // This may be used to include empty fields in Patch requests. 7800 ForceSendFields []string `json:"-"` 7801 7802 // NullFields is a list of field names (e.g. "Blocks") to include in API 7803 // requests with the JSON null value. By default, fields with empty 7804 // values are omitted from API requests. However, any field with an 7805 // empty value appearing in NullFields will be sent to the server as 7806 // null. It is an error if a field in this list has a non-empty value. 7807 // This may be used to include null fields in Patch requests. 7808 NullFields []string `json:"-"` 7809} 7810 7811func (s *GoogleCloudVisionV1p3beta1Page) MarshalJSON() ([]byte, error) { 7812 type NoMethod GoogleCloudVisionV1p3beta1Page 7813 raw := NoMethod(*s) 7814 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7815} 7816 7817func (s *GoogleCloudVisionV1p3beta1Page) UnmarshalJSON(data []byte) error { 7818 type NoMethod GoogleCloudVisionV1p3beta1Page 7819 var s1 struct { 7820 Confidence gensupport.JSONFloat64 `json:"confidence"` 7821 *NoMethod 7822 } 7823 s1.NoMethod = (*NoMethod)(s) 7824 if err := json.Unmarshal(data, &s1); err != nil { 7825 return err 7826 } 7827 s.Confidence = float64(s1.Confidence) 7828 return nil 7829} 7830 7831// GoogleCloudVisionV1p3beta1Paragraph: Structural unit of text 7832// representing a number of words in certain order. 7833type GoogleCloudVisionV1p3beta1Paragraph struct { 7834 // BoundingBox: The bounding box for the paragraph. The vertices are in 7835 // the order of top-left, top-right, bottom-right, bottom-left. When a 7836 // rotation of the bounding box is detected the rotation is represented 7837 // as around the top-left corner as defined when the text is read in the 7838 // 'natural' orientation. For example: * when the text is horizontal it 7839 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 7840 // around the top-left corner it becomes: 2----3 | | 1----0 and the 7841 // vertex order will still be (0, 1, 2, 3). 7842 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 7843 7844 // Confidence: Confidence of the OCR results for the paragraph. Range 7845 // [0, 1]. 7846 Confidence float64 `json:"confidence,omitempty"` 7847 7848 // Property: Additional information detected for the paragraph. 7849 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 7850 7851 // Words: List of all words in this paragraph. 7852 Words []*GoogleCloudVisionV1p3beta1Word `json:"words,omitempty"` 7853 7854 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 7855 // unconditionally include in API requests. By default, fields with 7856 // empty or default values are omitted from API requests. However, any 7857 // non-pointer, non-interface field appearing in ForceSendFields will be 7858 // sent to the server regardless of whether the field is empty or not. 7859 // This may be used to include empty fields in Patch requests. 7860 ForceSendFields []string `json:"-"` 7861 7862 // NullFields is a list of field names (e.g. "BoundingBox") to include 7863 // in API requests with the JSON null value. By default, fields with 7864 // empty values are omitted from API requests. However, any field with 7865 // an empty value appearing in NullFields will be sent to the server as 7866 // null. It is an error if a field in this list has a non-empty value. 7867 // This may be used to include null fields in Patch requests. 7868 NullFields []string `json:"-"` 7869} 7870 7871func (s *GoogleCloudVisionV1p3beta1Paragraph) MarshalJSON() ([]byte, error) { 7872 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 7873 raw := NoMethod(*s) 7874 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7875} 7876 7877func (s *GoogleCloudVisionV1p3beta1Paragraph) UnmarshalJSON(data []byte) error { 7878 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 7879 var s1 struct { 7880 Confidence gensupport.JSONFloat64 `json:"confidence"` 7881 *NoMethod 7882 } 7883 s1.NoMethod = (*NoMethod)(s) 7884 if err := json.Unmarshal(data, &s1); err != nil { 7885 return err 7886 } 7887 s.Confidence = float64(s1.Confidence) 7888 return nil 7889} 7890 7891// GoogleCloudVisionV1p3beta1Position: A 3D position in the image, used 7892// primarily for Face detection landmarks. A valid Position must have 7893// both x and y coordinates. The position coordinates are in the same 7894// scale as the original image. 7895type GoogleCloudVisionV1p3beta1Position struct { 7896 // X: X coordinate. 7897 X float64 `json:"x,omitempty"` 7898 7899 // Y: Y coordinate. 7900 Y float64 `json:"y,omitempty"` 7901 7902 // Z: Z coordinate (or depth). 7903 Z float64 `json:"z,omitempty"` 7904 7905 // ForceSendFields is a list of field names (e.g. "X") to 7906 // unconditionally include in API requests. By default, fields with 7907 // empty or default values are omitted from API requests. However, any 7908 // non-pointer, non-interface field appearing in ForceSendFields will be 7909 // sent to the server regardless of whether the field is empty or not. 7910 // This may be used to include empty fields in Patch requests. 7911 ForceSendFields []string `json:"-"` 7912 7913 // NullFields is a list of field names (e.g. "X") to include in API 7914 // requests with the JSON null value. By default, fields with empty 7915 // values are omitted from API requests. However, any field with an 7916 // empty value appearing in NullFields will be sent to the server as 7917 // null. It is an error if a field in this list has a non-empty value. 7918 // This may be used to include null fields in Patch requests. 7919 NullFields []string `json:"-"` 7920} 7921 7922func (s *GoogleCloudVisionV1p3beta1Position) MarshalJSON() ([]byte, error) { 7923 type NoMethod GoogleCloudVisionV1p3beta1Position 7924 raw := NoMethod(*s) 7925 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7926} 7927 7928func (s *GoogleCloudVisionV1p3beta1Position) UnmarshalJSON(data []byte) error { 7929 type NoMethod GoogleCloudVisionV1p3beta1Position 7930 var s1 struct { 7931 X gensupport.JSONFloat64 `json:"x"` 7932 Y gensupport.JSONFloat64 `json:"y"` 7933 Z gensupport.JSONFloat64 `json:"z"` 7934 *NoMethod 7935 } 7936 s1.NoMethod = (*NoMethod)(s) 7937 if err := json.Unmarshal(data, &s1); err != nil { 7938 return err 7939 } 7940 s.X = float64(s1.X) 7941 s.Y = float64(s1.Y) 7942 s.Z = float64(s1.Z) 7943 return nil 7944} 7945 7946// GoogleCloudVisionV1p3beta1Product: A Product contains 7947// ReferenceImages. 7948type GoogleCloudVisionV1p3beta1Product struct { 7949 // Description: User-provided metadata to be stored with this product. 7950 // Must be at most 4096 characters long. 7951 Description string `json:"description,omitempty"` 7952 7953 // DisplayName: The user-provided name for this Product. Must not be 7954 // empty. Must be at most 4096 characters long. 7955 DisplayName string `json:"displayName,omitempty"` 7956 7957 // Name: The resource name of the product. Format is: 7958 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 7959 // field is ignored when creating a product. 7960 Name string `json:"name,omitempty"` 7961 7962 // ProductCategory: Immutable. The category for the product identified 7963 // by the reference image. This should be one of "homegoods-v2", 7964 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 7965 // legacy categories "homegoods", "apparel", and "toys" are still 7966 // supported, but these should not be used for new products. 7967 ProductCategory string `json:"productCategory,omitempty"` 7968 7969 // ProductLabels: Key-value pairs that can be attached to a product. At 7970 // query time, constraints can be specified based on the product_labels. 7971 // Note that integer values can be provided as strings, e.g. "1199". 7972 // Only strings with integer values can match a range-based restriction 7973 // which is to be supported soon. Multiple values can be assigned to the 7974 // same key. One product may have up to 500 product_labels. Notice that 7975 // the total number of distinct product_labels over all products in one 7976 // ProductSet cannot exceed 1M, otherwise the product search pipeline 7977 // will refuse to work for that ProductSet. 7978 ProductLabels []*GoogleCloudVisionV1p3beta1ProductKeyValue `json:"productLabels,omitempty"` 7979 7980 // ForceSendFields is a list of field names (e.g. "Description") to 7981 // unconditionally include in API requests. By default, fields with 7982 // empty or default values are omitted from API requests. However, any 7983 // non-pointer, non-interface field appearing in ForceSendFields will be 7984 // sent to the server regardless of whether the field is empty or not. 7985 // This may be used to include empty fields in Patch requests. 7986 ForceSendFields []string `json:"-"` 7987 7988 // NullFields is a list of field names (e.g. "Description") to include 7989 // in API requests with the JSON null value. By default, fields with 7990 // empty values are omitted from API requests. However, any field with 7991 // an empty value appearing in NullFields will be sent to the server as 7992 // null. It is an error if a field in this list has a non-empty value. 7993 // This may be used to include null fields in Patch requests. 7994 NullFields []string `json:"-"` 7995} 7996 7997func (s *GoogleCloudVisionV1p3beta1Product) MarshalJSON() ([]byte, error) { 7998 type NoMethod GoogleCloudVisionV1p3beta1Product 7999 raw := NoMethod(*s) 8000 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8001} 8002 8003// GoogleCloudVisionV1p3beta1ProductKeyValue: A product label 8004// represented as a key-value pair. 8005type GoogleCloudVisionV1p3beta1ProductKeyValue struct { 8006 // Key: The key of the label attached to the product. Cannot be empty 8007 // and cannot exceed 128 bytes. 8008 Key string `json:"key,omitempty"` 8009 8010 // Value: The value of the label attached to the product. Cannot be 8011 // empty and cannot exceed 128 bytes. 8012 Value string `json:"value,omitempty"` 8013 8014 // ForceSendFields is a list of field names (e.g. "Key") to 8015 // unconditionally include in API requests. By default, fields with 8016 // empty or default values are omitted from API requests. However, any 8017 // non-pointer, non-interface field appearing in ForceSendFields will be 8018 // sent to the server regardless of whether the field is empty or not. 8019 // This may be used to include empty fields in Patch requests. 8020 ForceSendFields []string `json:"-"` 8021 8022 // NullFields is a list of field names (e.g. "Key") to include in API 8023 // requests with the JSON null value. By default, fields with empty 8024 // values are omitted from API requests. However, any field with an 8025 // empty value appearing in NullFields will be sent to the server as 8026 // null. It is an error if a field in this list has a non-empty value. 8027 // This may be used to include null fields in Patch requests. 8028 NullFields []string `json:"-"` 8029} 8030 8031func (s *GoogleCloudVisionV1p3beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 8032 type NoMethod GoogleCloudVisionV1p3beta1ProductKeyValue 8033 raw := NoMethod(*s) 8034 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8035} 8036 8037// GoogleCloudVisionV1p3beta1ProductSearchResults: Results for a product 8038// search request. 8039type GoogleCloudVisionV1p3beta1ProductSearchResults struct { 8040 // IndexTime: Timestamp of the index which provided these results. 8041 // Products added to the product set and products removed from the 8042 // product set after this time are not reflected in the current results. 8043 IndexTime string `json:"indexTime,omitempty"` 8044 8045 // ProductGroupedResults: List of results grouped by products detected 8046 // in the query image. Each entry corresponds to one bounding polygon in 8047 // the query image, and contains the matching products specific to that 8048 // region. There may be duplicate product matches in the union of all 8049 // the per-product results. 8050 ProductGroupedResults []*GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 8051 8052 // Results: List of results, one for each product match. 8053 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8054 8055 // ForceSendFields is a list of field names (e.g. "IndexTime") to 8056 // unconditionally include in API requests. By default, fields with 8057 // empty or default values are omitted from API requests. However, any 8058 // non-pointer, non-interface field appearing in ForceSendFields will be 8059 // sent to the server regardless of whether the field is empty or not. 8060 // This may be used to include empty fields in Patch requests. 8061 ForceSendFields []string `json:"-"` 8062 8063 // NullFields is a list of field names (e.g. "IndexTime") to include in 8064 // API requests with the JSON null value. By default, fields with empty 8065 // values are omitted from API requests. However, any field with an 8066 // empty value appearing in NullFields will be sent to the server as 8067 // null. It is an error if a field in this list has a non-empty value. 8068 // This may be used to include null fields in Patch requests. 8069 NullFields []string `json:"-"` 8070} 8071 8072func (s *GoogleCloudVisionV1p3beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 8073 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResults 8074 raw := NoMethod(*s) 8075 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8076} 8077 8078// GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult: 8079// Information about the products similar to a single product in a query 8080// image. 8081type GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult struct { 8082 // BoundingPoly: The bounding polygon around the product detected in the 8083 // query image. 8084 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 8085 8086 // ObjectAnnotations: List of generic predictions for the object in the 8087 // bounding box. 8088 ObjectAnnotations []*GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 8089 8090 // Results: List of results, one for each product match. 8091 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8092 8093 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8094 // unconditionally include in API requests. By default, fields with 8095 // empty or default values are omitted from API requests. However, any 8096 // non-pointer, non-interface field appearing in ForceSendFields will be 8097 // sent to the server regardless of whether the field is empty or not. 8098 // This may be used to include empty fields in Patch requests. 8099 ForceSendFields []string `json:"-"` 8100 8101 // NullFields is a list of field names (e.g. "BoundingPoly") to include 8102 // in API requests with the JSON null value. By default, fields with 8103 // empty values are omitted from API requests. However, any field with 8104 // an empty value appearing in NullFields will be sent to the server as 8105 // null. It is an error if a field in this list has a non-empty value. 8106 // This may be used to include null fields in Patch requests. 8107 NullFields []string `json:"-"` 8108} 8109 8110func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 8111 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult 8112 raw := NoMethod(*s) 8113 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8114} 8115 8116// GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation: 8117// Prediction for what the object in the bounding box is. 8118type GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation struct { 8119 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 8120 // For more information, see 8121 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8122 LanguageCode string `json:"languageCode,omitempty"` 8123 8124 // Mid: Object ID that should align with EntityAnnotation mid. 8125 Mid string `json:"mid,omitempty"` 8126 8127 // Name: Object name, expressed in its `language_code` language. 8128 Name string `json:"name,omitempty"` 8129 8130 // Score: Score of the result. Range [0, 1]. 8131 Score float64 `json:"score,omitempty"` 8132 8133 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 8134 // unconditionally include in API requests. By default, fields with 8135 // empty or default values are omitted from API requests. However, any 8136 // non-pointer, non-interface field appearing in ForceSendFields will be 8137 // sent to the server regardless of whether the field is empty or not. 8138 // This may be used to include empty fields in Patch requests. 8139 ForceSendFields []string `json:"-"` 8140 8141 // NullFields is a list of field names (e.g. "LanguageCode") to include 8142 // in API requests with the JSON null value. By default, fields with 8143 // empty values are omitted from API requests. However, any field with 8144 // an empty value appearing in NullFields will be sent to the server as 8145 // null. It is an error if a field in this list has a non-empty value. 8146 // This may be used to include null fields in Patch requests. 8147 NullFields []string `json:"-"` 8148} 8149 8150func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 8151 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 8152 raw := NoMethod(*s) 8153 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8154} 8155 8156func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 8157 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 8158 var s1 struct { 8159 Score gensupport.JSONFloat64 `json:"score"` 8160 *NoMethod 8161 } 8162 s1.NoMethod = (*NoMethod)(s) 8163 if err := json.Unmarshal(data, &s1); err != nil { 8164 return err 8165 } 8166 s.Score = float64(s1.Score) 8167 return nil 8168} 8169 8170// GoogleCloudVisionV1p3beta1ProductSearchResultsResult: Information 8171// about a product. 8172type GoogleCloudVisionV1p3beta1ProductSearchResultsResult struct { 8173 // Image: The resource name of the image from the product that is the 8174 // closest match to the query. 8175 Image string `json:"image,omitempty"` 8176 8177 // Product: The Product. 8178 Product *GoogleCloudVisionV1p3beta1Product `json:"product,omitempty"` 8179 8180 // Score: A confidence level on the match, ranging from 0 (no 8181 // confidence) to 1 (full confidence). 8182 Score float64 `json:"score,omitempty"` 8183 8184 // ForceSendFields is a list of field names (e.g. "Image") to 8185 // unconditionally include in API requests. By default, fields with 8186 // empty or default values are omitted from API requests. However, any 8187 // non-pointer, non-interface field appearing in ForceSendFields will be 8188 // sent to the server regardless of whether the field is empty or not. 8189 // This may be used to include empty fields in Patch requests. 8190 ForceSendFields []string `json:"-"` 8191 8192 // NullFields is a list of field names (e.g. "Image") to include in API 8193 // requests with the JSON null value. By default, fields with empty 8194 // values are omitted from API requests. However, any field with an 8195 // empty value appearing in NullFields will be sent to the server as 8196 // null. It is an error if a field in this list has a non-empty value. 8197 // This may be used to include null fields in Patch requests. 8198 NullFields []string `json:"-"` 8199} 8200 8201func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 8202 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8203 raw := NoMethod(*s) 8204 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8205} 8206 8207func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 8208 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8209 var s1 struct { 8210 Score gensupport.JSONFloat64 `json:"score"` 8211 *NoMethod 8212 } 8213 s1.NoMethod = (*NoMethod)(s) 8214 if err := json.Unmarshal(data, &s1); err != nil { 8215 return err 8216 } 8217 s.Score = float64(s1.Score) 8218 return nil 8219} 8220 8221// GoogleCloudVisionV1p3beta1Property: A `Property` consists of a 8222// user-supplied name/value pair. 8223type GoogleCloudVisionV1p3beta1Property struct { 8224 // Name: Name of the property. 8225 Name string `json:"name,omitempty"` 8226 8227 // Uint64Value: Value of numeric properties. 8228 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 8229 8230 // Value: Value of the property. 8231 Value string `json:"value,omitempty"` 8232 8233 // ForceSendFields is a list of field names (e.g. "Name") to 8234 // unconditionally include in API requests. By default, fields with 8235 // empty or default values are omitted from API requests. However, any 8236 // non-pointer, non-interface field appearing in ForceSendFields will be 8237 // sent to the server regardless of whether the field is empty or not. 8238 // This may be used to include empty fields in Patch requests. 8239 ForceSendFields []string `json:"-"` 8240 8241 // NullFields is a list of field names (e.g. "Name") to include in API 8242 // requests with the JSON null value. By default, fields with empty 8243 // values are omitted from API requests. However, any field with an 8244 // empty value appearing in NullFields will be sent to the server as 8245 // null. It is an error if a field in this list has a non-empty value. 8246 // This may be used to include null fields in Patch requests. 8247 NullFields []string `json:"-"` 8248} 8249 8250func (s *GoogleCloudVisionV1p3beta1Property) MarshalJSON() ([]byte, error) { 8251 type NoMethod GoogleCloudVisionV1p3beta1Property 8252 raw := NoMethod(*s) 8253 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8254} 8255 8256// GoogleCloudVisionV1p3beta1ReferenceImage: A `ReferenceImage` 8257// represents a product image and its associated metadata, such as 8258// bounding boxes. 8259type GoogleCloudVisionV1p3beta1ReferenceImage struct { 8260 // BoundingPolys: Optional. Bounding polygons around the areas of 8261 // interest in the reference image. If this field is empty, the system 8262 // will try to detect regions of interest. At most 10 bounding polygons 8263 // will be used. The provided shape is converted into a non-rotated 8264 // rectangle. Once converted, the small edge of the rectangle must be 8265 // greater than or equal to 300 pixels. The aspect ratio must be 1:4 or 8266 // less (i.e. 1:3 is ok; 1:5 is not). 8267 BoundingPolys []*GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPolys,omitempty"` 8268 8269 // Name: The resource name of the reference image. Format is: 8270 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceIma 8271 // ges/IMAGE_ID`. This field is ignored when creating a reference image. 8272 Name string `json:"name,omitempty"` 8273 8274 // Uri: Required. The Google Cloud Storage URI of the reference image. 8275 // The URI must start with `gs://`. 8276 Uri string `json:"uri,omitempty"` 8277 8278 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 8279 // unconditionally include in API requests. By default, fields with 8280 // empty or default values are omitted from API requests. However, any 8281 // non-pointer, non-interface field appearing in ForceSendFields will be 8282 // sent to the server regardless of whether the field is empty or not. 8283 // This may be used to include empty fields in Patch requests. 8284 ForceSendFields []string `json:"-"` 8285 8286 // NullFields is a list of field names (e.g. "BoundingPolys") to include 8287 // in API requests with the JSON null value. By default, fields with 8288 // empty values are omitted from API requests. However, any field with 8289 // an empty value appearing in NullFields will be sent to the server as 8290 // null. It is an error if a field in this list has a non-empty value. 8291 // This may be used to include null fields in Patch requests. 8292 NullFields []string `json:"-"` 8293} 8294 8295func (s *GoogleCloudVisionV1p3beta1ReferenceImage) MarshalJSON() ([]byte, error) { 8296 type NoMethod GoogleCloudVisionV1p3beta1ReferenceImage 8297 raw := NoMethod(*s) 8298 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8299} 8300 8301// GoogleCloudVisionV1p3beta1SafeSearchAnnotation: Set of features 8302// pertaining to the image, computed by computer vision methods over 8303// safe-search verticals (for example, adult, spoof, medical, violence). 8304type GoogleCloudVisionV1p3beta1SafeSearchAnnotation struct { 8305 // Adult: Represents the adult content likelihood for the image. Adult 8306 // content may contain elements such as nudity, pornographic images or 8307 // cartoons, or sexual activities. 8308 // 8309 // Possible values: 8310 // "UNKNOWN" - Unknown likelihood. 8311 // "VERY_UNLIKELY" - It is very unlikely. 8312 // "UNLIKELY" - It is unlikely. 8313 // "POSSIBLE" - It is possible. 8314 // "LIKELY" - It is likely. 8315 // "VERY_LIKELY" - It is very likely. 8316 Adult string `json:"adult,omitempty"` 8317 8318 // Medical: Likelihood that this is a medical image. 8319 // 8320 // Possible values: 8321 // "UNKNOWN" - Unknown likelihood. 8322 // "VERY_UNLIKELY" - It is very unlikely. 8323 // "UNLIKELY" - It is unlikely. 8324 // "POSSIBLE" - It is possible. 8325 // "LIKELY" - It is likely. 8326 // "VERY_LIKELY" - It is very likely. 8327 Medical string `json:"medical,omitempty"` 8328 8329 // Racy: Likelihood that the request image contains racy content. Racy 8330 // content may include (but is not limited to) skimpy or sheer clothing, 8331 // strategically covered nudity, lewd or provocative poses, or close-ups 8332 // of sensitive body areas. 8333 // 8334 // Possible values: 8335 // "UNKNOWN" - Unknown likelihood. 8336 // "VERY_UNLIKELY" - It is very unlikely. 8337 // "UNLIKELY" - It is unlikely. 8338 // "POSSIBLE" - It is possible. 8339 // "LIKELY" - It is likely. 8340 // "VERY_LIKELY" - It is very likely. 8341 Racy string `json:"racy,omitempty"` 8342 8343 // Spoof: Spoof likelihood. The likelihood that an modification was made 8344 // to the image's canonical version to make it appear funny or 8345 // offensive. 8346 // 8347 // Possible values: 8348 // "UNKNOWN" - Unknown likelihood. 8349 // "VERY_UNLIKELY" - It is very unlikely. 8350 // "UNLIKELY" - It is unlikely. 8351 // "POSSIBLE" - It is possible. 8352 // "LIKELY" - It is likely. 8353 // "VERY_LIKELY" - It is very likely. 8354 Spoof string `json:"spoof,omitempty"` 8355 8356 // Violence: Likelihood that this image contains violent content. 8357 // 8358 // Possible values: 8359 // "UNKNOWN" - Unknown likelihood. 8360 // "VERY_UNLIKELY" - It is very unlikely. 8361 // "UNLIKELY" - It is unlikely. 8362 // "POSSIBLE" - It is possible. 8363 // "LIKELY" - It is likely. 8364 // "VERY_LIKELY" - It is very likely. 8365 Violence string `json:"violence,omitempty"` 8366 8367 // ForceSendFields is a list of field names (e.g. "Adult") to 8368 // unconditionally include in API requests. By default, fields with 8369 // empty or default values are omitted from API requests. However, any 8370 // non-pointer, non-interface field appearing in ForceSendFields will be 8371 // sent to the server regardless of whether the field is empty or not. 8372 // This may be used to include empty fields in Patch requests. 8373 ForceSendFields []string `json:"-"` 8374 8375 // NullFields is a list of field names (e.g. "Adult") to include in API 8376 // requests with the JSON null value. By default, fields with empty 8377 // values are omitted from API requests. However, any field with an 8378 // empty value appearing in NullFields will be sent to the server as 8379 // null. It is an error if a field in this list has a non-empty value. 8380 // This may be used to include null fields in Patch requests. 8381 NullFields []string `json:"-"` 8382} 8383 8384func (s *GoogleCloudVisionV1p3beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 8385 type NoMethod GoogleCloudVisionV1p3beta1SafeSearchAnnotation 8386 raw := NoMethod(*s) 8387 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8388} 8389 8390// GoogleCloudVisionV1p3beta1Symbol: A single symbol representation. 8391type GoogleCloudVisionV1p3beta1Symbol struct { 8392 // BoundingBox: The bounding box for the symbol. The vertices are in the 8393 // order of top-left, top-right, bottom-right, bottom-left. When a 8394 // rotation of the bounding box is detected the rotation is represented 8395 // as around the top-left corner as defined when the text is read in the 8396 // 'natural' orientation. For example: * when the text is horizontal it 8397 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 8398 // around the top-left corner it becomes: 2----3 | | 1----0 and the 8399 // vertex order will still be (0, 1, 2, 3). 8400 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 8401 8402 // Confidence: Confidence of the OCR results for the symbol. Range [0, 8403 // 1]. 8404 Confidence float64 `json:"confidence,omitempty"` 8405 8406 // Property: Additional information detected for the symbol. 8407 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8408 8409 // Text: The actual UTF-8 representation of the symbol. 8410 Text string `json:"text,omitempty"` 8411 8412 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 8413 // unconditionally include in API requests. By default, fields with 8414 // empty or default values are omitted from API requests. However, any 8415 // non-pointer, non-interface field appearing in ForceSendFields will be 8416 // sent to the server regardless of whether the field is empty or not. 8417 // This may be used to include empty fields in Patch requests. 8418 ForceSendFields []string `json:"-"` 8419 8420 // NullFields is a list of field names (e.g. "BoundingBox") to include 8421 // in API requests with the JSON null value. By default, fields with 8422 // empty values are omitted from API requests. However, any field with 8423 // an empty value appearing in NullFields will be sent to the server as 8424 // null. It is an error if a field in this list has a non-empty value. 8425 // This may be used to include null fields in Patch requests. 8426 NullFields []string `json:"-"` 8427} 8428 8429func (s *GoogleCloudVisionV1p3beta1Symbol) MarshalJSON() ([]byte, error) { 8430 type NoMethod GoogleCloudVisionV1p3beta1Symbol 8431 raw := NoMethod(*s) 8432 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8433} 8434 8435func (s *GoogleCloudVisionV1p3beta1Symbol) UnmarshalJSON(data []byte) error { 8436 type NoMethod GoogleCloudVisionV1p3beta1Symbol 8437 var s1 struct { 8438 Confidence gensupport.JSONFloat64 `json:"confidence"` 8439 *NoMethod 8440 } 8441 s1.NoMethod = (*NoMethod)(s) 8442 if err := json.Unmarshal(data, &s1); err != nil { 8443 return err 8444 } 8445 s.Confidence = float64(s1.Confidence) 8446 return nil 8447} 8448 8449// GoogleCloudVisionV1p3beta1TextAnnotation: TextAnnotation contains a 8450// structured representation of OCR extracted text. The hierarchy of an 8451// OCR extracted text structure is like this: TextAnnotation -> Page -> 8452// Block -> Paragraph -> Word -> Symbol Each structural component, 8453// starting from Page, may further have their own properties. Properties 8454// describe detected languages, breaks etc.. Please refer to the 8455// TextAnnotation.TextProperty message definition below for more detail. 8456type GoogleCloudVisionV1p3beta1TextAnnotation struct { 8457 // Pages: List of pages detected by OCR. 8458 Pages []*GoogleCloudVisionV1p3beta1Page `json:"pages,omitempty"` 8459 8460 // Text: UTF-8 text detected on the pages. 8461 Text string `json:"text,omitempty"` 8462 8463 // ForceSendFields is a list of field names (e.g. "Pages") to 8464 // unconditionally include in API requests. By default, fields with 8465 // empty or default values are omitted from API requests. However, any 8466 // non-pointer, non-interface field appearing in ForceSendFields will be 8467 // sent to the server regardless of whether the field is empty or not. 8468 // This may be used to include empty fields in Patch requests. 8469 ForceSendFields []string `json:"-"` 8470 8471 // NullFields is a list of field names (e.g. "Pages") to include in API 8472 // requests with the JSON null value. By default, fields with empty 8473 // values are omitted from API requests. However, any field with an 8474 // empty value appearing in NullFields will be sent to the server as 8475 // null. It is an error if a field in this list has a non-empty value. 8476 // This may be used to include null fields in Patch requests. 8477 NullFields []string `json:"-"` 8478} 8479 8480func (s *GoogleCloudVisionV1p3beta1TextAnnotation) MarshalJSON() ([]byte, error) { 8481 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotation 8482 raw := NoMethod(*s) 8483 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8484} 8485 8486// GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak: Detected start 8487// or end of a structural component. 8488type GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak struct { 8489 // IsPrefix: True if break prepends the element. 8490 IsPrefix bool `json:"isPrefix,omitempty"` 8491 8492 // Type: Detected break type. 8493 // 8494 // Possible values: 8495 // "UNKNOWN" - Unknown break label type. 8496 // "SPACE" - Regular space. 8497 // "SURE_SPACE" - Sure space (very wide). 8498 // "EOL_SURE_SPACE" - Line-wrapping break. 8499 // "HYPHEN" - End-line hyphen that is not present in text; does not 8500 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 8501 // "LINE_BREAK" - Line break that ends a paragraph. 8502 Type string `json:"type,omitempty"` 8503 8504 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 8505 // unconditionally include in API requests. By default, fields with 8506 // empty or default values are omitted from API requests. However, any 8507 // non-pointer, non-interface field appearing in ForceSendFields will be 8508 // sent to the server regardless of whether the field is empty or not. 8509 // This may be used to include empty fields in Patch requests. 8510 ForceSendFields []string `json:"-"` 8511 8512 // NullFields is a list of field names (e.g. "IsPrefix") to include in 8513 // API requests with the JSON null value. By default, fields with empty 8514 // values are omitted from API requests. However, any field with an 8515 // empty value appearing in NullFields will be sent to the server as 8516 // null. It is an error if a field in this list has a non-empty value. 8517 // This may be used to include null fields in Patch requests. 8518 NullFields []string `json:"-"` 8519} 8520 8521func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 8522 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak 8523 raw := NoMethod(*s) 8524 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8525} 8526 8527// GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage: Detected 8528// language for a structural component. 8529type GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage struct { 8530 // Confidence: Confidence of detected language. Range [0, 1]. 8531 Confidence float64 `json:"confidence,omitempty"` 8532 8533 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 8534 // For more information, see 8535 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8536 LanguageCode string `json:"languageCode,omitempty"` 8537 8538 // ForceSendFields is a list of field names (e.g. "Confidence") to 8539 // unconditionally include in API requests. By default, fields with 8540 // empty or default values are omitted from API requests. However, any 8541 // non-pointer, non-interface field appearing in ForceSendFields will be 8542 // sent to the server regardless of whether the field is empty or not. 8543 // This may be used to include empty fields in Patch requests. 8544 ForceSendFields []string `json:"-"` 8545 8546 // NullFields is a list of field names (e.g. "Confidence") to include in 8547 // API requests with the JSON null value. By default, fields with empty 8548 // values are omitted from API requests. However, any field with an 8549 // empty value appearing in NullFields will be sent to the server as 8550 // null. It is an error if a field in this list has a non-empty value. 8551 // This may be used to include null fields in Patch requests. 8552 NullFields []string `json:"-"` 8553} 8554 8555func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 8556 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 8557 raw := NoMethod(*s) 8558 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8559} 8560 8561func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 8562 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 8563 var s1 struct { 8564 Confidence gensupport.JSONFloat64 `json:"confidence"` 8565 *NoMethod 8566 } 8567 s1.NoMethod = (*NoMethod)(s) 8568 if err := json.Unmarshal(data, &s1); err != nil { 8569 return err 8570 } 8571 s.Confidence = float64(s1.Confidence) 8572 return nil 8573} 8574 8575// GoogleCloudVisionV1p3beta1TextAnnotationTextProperty: Additional 8576// information detected on the structural component. 8577type GoogleCloudVisionV1p3beta1TextAnnotationTextProperty struct { 8578 // DetectedBreak: Detected start or end of a text segment. 8579 DetectedBreak *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 8580 8581 // DetectedLanguages: A list of detected languages together with 8582 // confidence. 8583 DetectedLanguages []*GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 8584 8585 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 8586 // unconditionally include in API requests. By default, fields with 8587 // empty or default values are omitted from API requests. However, any 8588 // non-pointer, non-interface field appearing in ForceSendFields will be 8589 // sent to the server regardless of whether the field is empty or not. 8590 // This may be used to include empty fields in Patch requests. 8591 ForceSendFields []string `json:"-"` 8592 8593 // NullFields is a list of field names (e.g. "DetectedBreak") to include 8594 // in API requests with the JSON null value. By default, fields with 8595 // empty values are omitted from API requests. However, any field with 8596 // an empty value appearing in NullFields will be sent to the server as 8597 // null. It is an error if a field in this list has a non-empty value. 8598 // This may be used to include null fields in Patch requests. 8599 NullFields []string `json:"-"` 8600} 8601 8602func (s *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 8603 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationTextProperty 8604 raw := NoMethod(*s) 8605 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8606} 8607 8608// GoogleCloudVisionV1p3beta1Vertex: A vertex represents a 2D point in 8609// the image. NOTE: the vertex coordinates are in the same scale as the 8610// original image. 8611type GoogleCloudVisionV1p3beta1Vertex struct { 8612 // X: X coordinate. 8613 X int64 `json:"x,omitempty"` 8614 8615 // Y: Y coordinate. 8616 Y int64 `json:"y,omitempty"` 8617 8618 // ForceSendFields is a list of field names (e.g. "X") to 8619 // unconditionally include in API requests. By default, fields with 8620 // empty or default values are omitted from API requests. However, any 8621 // non-pointer, non-interface field appearing in ForceSendFields will be 8622 // sent to the server regardless of whether the field is empty or not. 8623 // This may be used to include empty fields in Patch requests. 8624 ForceSendFields []string `json:"-"` 8625 8626 // NullFields is a list of field names (e.g. "X") to include in API 8627 // requests with the JSON null value. By default, fields with empty 8628 // values are omitted from API requests. However, any field with an 8629 // empty value appearing in NullFields will be sent to the server as 8630 // null. It is an error if a field in this list has a non-empty value. 8631 // This may be used to include null fields in Patch requests. 8632 NullFields []string `json:"-"` 8633} 8634 8635func (s *GoogleCloudVisionV1p3beta1Vertex) MarshalJSON() ([]byte, error) { 8636 type NoMethod GoogleCloudVisionV1p3beta1Vertex 8637 raw := NoMethod(*s) 8638 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8639} 8640 8641// GoogleCloudVisionV1p3beta1WebDetection: Relevant information for the 8642// image from the Internet. 8643type GoogleCloudVisionV1p3beta1WebDetection struct { 8644 // BestGuessLabels: The service's best guess as to the topic of the 8645 // request image. Inferred from similar images on the open web. 8646 BestGuessLabels []*GoogleCloudVisionV1p3beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 8647 8648 // FullMatchingImages: Fully matching images from the Internet. Can 8649 // include resized copies of the query image. 8650 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 8651 8652 // PagesWithMatchingImages: Web pages containing the matching images 8653 // from the Internet. 8654 PagesWithMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 8655 8656 // PartialMatchingImages: Partial matching images from the Internet. 8657 // Those images are similar enough to share some key-point features. For 8658 // example an original image will likely have partial matching for its 8659 // crops. 8660 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 8661 8662 // VisuallySimilarImages: The visually similar image results. 8663 VisuallySimilarImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 8664 8665 // WebEntities: Deduced entities from similar images on the Internet. 8666 WebEntities []*GoogleCloudVisionV1p3beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 8667 8668 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 8669 // unconditionally include in API requests. By default, fields with 8670 // empty or default values are omitted from API requests. However, any 8671 // non-pointer, non-interface field appearing in ForceSendFields will be 8672 // sent to the server regardless of whether the field is empty or not. 8673 // This may be used to include empty fields in Patch requests. 8674 ForceSendFields []string `json:"-"` 8675 8676 // NullFields is a list of field names (e.g. "BestGuessLabels") to 8677 // include in API requests with the JSON null value. By default, fields 8678 // with empty values are omitted from API requests. However, any field 8679 // with an empty value appearing in NullFields will be sent to the 8680 // server as null. It is an error if a field in this list has a 8681 // non-empty value. This may be used to include null fields in Patch 8682 // requests. 8683 NullFields []string `json:"-"` 8684} 8685 8686func (s *GoogleCloudVisionV1p3beta1WebDetection) MarshalJSON() ([]byte, error) { 8687 type NoMethod GoogleCloudVisionV1p3beta1WebDetection 8688 raw := NoMethod(*s) 8689 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8690} 8691 8692// GoogleCloudVisionV1p3beta1WebDetectionWebEntity: Entity deduced from 8693// similar images on the Internet. 8694type GoogleCloudVisionV1p3beta1WebDetectionWebEntity struct { 8695 // Description: Canonical description of the entity, in English. 8696 Description string `json:"description,omitempty"` 8697 8698 // EntityId: Opaque entity ID. 8699 EntityId string `json:"entityId,omitempty"` 8700 8701 // Score: Overall relevancy score for the entity. Not normalized and not 8702 // comparable across different image queries. 8703 Score float64 `json:"score,omitempty"` 8704 8705 // ForceSendFields is a list of field names (e.g. "Description") to 8706 // unconditionally include in API requests. By default, fields with 8707 // empty or default values are omitted from API requests. However, any 8708 // non-pointer, non-interface field appearing in ForceSendFields will be 8709 // sent to the server regardless of whether the field is empty or not. 8710 // This may be used to include empty fields in Patch requests. 8711 ForceSendFields []string `json:"-"` 8712 8713 // NullFields is a list of field names (e.g. "Description") to include 8714 // in API requests with the JSON null value. By default, fields with 8715 // empty values are omitted from API requests. However, any field with 8716 // an empty value appearing in NullFields will be sent to the server as 8717 // null. It is an error if a field in this list has a non-empty value. 8718 // This may be used to include null fields in Patch requests. 8719 NullFields []string `json:"-"` 8720} 8721 8722func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 8723 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 8724 raw := NoMethod(*s) 8725 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8726} 8727 8728func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 8729 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 8730 var s1 struct { 8731 Score gensupport.JSONFloat64 `json:"score"` 8732 *NoMethod 8733 } 8734 s1.NoMethod = (*NoMethod)(s) 8735 if err := json.Unmarshal(data, &s1); err != nil { 8736 return err 8737 } 8738 s.Score = float64(s1.Score) 8739 return nil 8740} 8741 8742// GoogleCloudVisionV1p3beta1WebDetectionWebImage: Metadata for online 8743// images. 8744type GoogleCloudVisionV1p3beta1WebDetectionWebImage struct { 8745 // Score: (Deprecated) Overall relevancy score for the image. 8746 Score float64 `json:"score,omitempty"` 8747 8748 // Url: The result image URL. 8749 Url string `json:"url,omitempty"` 8750 8751 // ForceSendFields is a list of field names (e.g. "Score") to 8752 // unconditionally include in API requests. By default, fields with 8753 // empty or default values are omitted from API requests. However, any 8754 // non-pointer, non-interface field appearing in ForceSendFields will be 8755 // sent to the server regardless of whether the field is empty or not. 8756 // This may be used to include empty fields in Patch requests. 8757 ForceSendFields []string `json:"-"` 8758 8759 // NullFields is a list of field names (e.g. "Score") to include in API 8760 // requests with the JSON null value. By default, fields with empty 8761 // values are omitted from API requests. However, any field with an 8762 // empty value appearing in NullFields will be sent to the server as 8763 // null. It is an error if a field in this list has a non-empty value. 8764 // This may be used to include null fields in Patch requests. 8765 NullFields []string `json:"-"` 8766} 8767 8768func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 8769 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 8770 raw := NoMethod(*s) 8771 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8772} 8773 8774func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 8775 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 8776 var s1 struct { 8777 Score gensupport.JSONFloat64 `json:"score"` 8778 *NoMethod 8779 } 8780 s1.NoMethod = (*NoMethod)(s) 8781 if err := json.Unmarshal(data, &s1); err != nil { 8782 return err 8783 } 8784 s.Score = float64(s1.Score) 8785 return nil 8786} 8787 8788// GoogleCloudVisionV1p3beta1WebDetectionWebLabel: Label to provide 8789// extra metadata for the web detection. 8790type GoogleCloudVisionV1p3beta1WebDetectionWebLabel struct { 8791 // Label: Label for extra metadata. 8792 Label string `json:"label,omitempty"` 8793 8794 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 8795 // or "sr-Latn". For more information, see 8796 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8797 LanguageCode string `json:"languageCode,omitempty"` 8798 8799 // ForceSendFields is a list of field names (e.g. "Label") to 8800 // unconditionally include in API requests. By default, fields with 8801 // empty or default values are omitted from API requests. However, any 8802 // non-pointer, non-interface field appearing in ForceSendFields will be 8803 // sent to the server regardless of whether the field is empty or not. 8804 // This may be used to include empty fields in Patch requests. 8805 ForceSendFields []string `json:"-"` 8806 8807 // NullFields is a list of field names (e.g. "Label") to include in API 8808 // requests with the JSON null value. By default, fields with empty 8809 // values are omitted from API requests. However, any field with an 8810 // empty value appearing in NullFields will be sent to the server as 8811 // null. It is an error if a field in this list has a non-empty value. 8812 // This may be used to include null fields in Patch requests. 8813 NullFields []string `json:"-"` 8814} 8815 8816func (s *GoogleCloudVisionV1p3beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 8817 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebLabel 8818 raw := NoMethod(*s) 8819 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8820} 8821 8822// GoogleCloudVisionV1p3beta1WebDetectionWebPage: Metadata for web 8823// pages. 8824type GoogleCloudVisionV1p3beta1WebDetectionWebPage struct { 8825 // FullMatchingImages: Fully matching images on the page. Can include 8826 // resized copies of the query image. 8827 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 8828 8829 // PageTitle: Title for the web page, may contain HTML markups. 8830 PageTitle string `json:"pageTitle,omitempty"` 8831 8832 // PartialMatchingImages: Partial matching images on the page. Those 8833 // images are similar enough to share some key-point features. For 8834 // example an original image will likely have partial matching for its 8835 // crops. 8836 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 8837 8838 // Score: (Deprecated) Overall relevancy score for the web page. 8839 Score float64 `json:"score,omitempty"` 8840 8841 // Url: The result web page URL. 8842 Url string `json:"url,omitempty"` 8843 8844 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 8845 // to unconditionally include in API requests. By default, fields with 8846 // empty or default values are omitted from API requests. However, any 8847 // non-pointer, non-interface field appearing in ForceSendFields will be 8848 // sent to the server regardless of whether the field is empty or not. 8849 // This may be used to include empty fields in Patch requests. 8850 ForceSendFields []string `json:"-"` 8851 8852 // NullFields is a list of field names (e.g. "FullMatchingImages") to 8853 // include in API requests with the JSON null value. By default, fields 8854 // with empty values are omitted from API requests. However, any field 8855 // with an empty value appearing in NullFields will be sent to the 8856 // server as null. It is an error if a field in this list has a 8857 // non-empty value. This may be used to include null fields in Patch 8858 // requests. 8859 NullFields []string `json:"-"` 8860} 8861 8862func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 8863 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 8864 raw := NoMethod(*s) 8865 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8866} 8867 8868func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 8869 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 8870 var s1 struct { 8871 Score gensupport.JSONFloat64 `json:"score"` 8872 *NoMethod 8873 } 8874 s1.NoMethod = (*NoMethod)(s) 8875 if err := json.Unmarshal(data, &s1); err != nil { 8876 return err 8877 } 8878 s.Score = float64(s1.Score) 8879 return nil 8880} 8881 8882// GoogleCloudVisionV1p3beta1Word: A word representation. 8883type GoogleCloudVisionV1p3beta1Word struct { 8884 // BoundingBox: The bounding box for the word. The vertices are in the 8885 // order of top-left, top-right, bottom-right, bottom-left. When a 8886 // rotation of the bounding box is detected the rotation is represented 8887 // as around the top-left corner as defined when the text is read in the 8888 // 'natural' orientation. For example: * when the text is horizontal it 8889 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 8890 // around the top-left corner it becomes: 2----3 | | 1----0 and the 8891 // vertex order will still be (0, 1, 2, 3). 8892 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 8893 8894 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 8895 Confidence float64 `json:"confidence,omitempty"` 8896 8897 // Property: Additional information detected for the word. 8898 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8899 8900 // Symbols: List of symbols in the word. The order of the symbols 8901 // follows the natural reading order. 8902 Symbols []*GoogleCloudVisionV1p3beta1Symbol `json:"symbols,omitempty"` 8903 8904 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 8905 // unconditionally include in API requests. By default, fields with 8906 // empty or default values are omitted from API requests. However, any 8907 // non-pointer, non-interface field appearing in ForceSendFields will be 8908 // sent to the server regardless of whether the field is empty or not. 8909 // This may be used to include empty fields in Patch requests. 8910 ForceSendFields []string `json:"-"` 8911 8912 // NullFields is a list of field names (e.g. "BoundingBox") to include 8913 // in API requests with the JSON null value. By default, fields with 8914 // empty values are omitted from API requests. However, any field with 8915 // an empty value appearing in NullFields will be sent to the server as 8916 // null. It is an error if a field in this list has a non-empty value. 8917 // This may be used to include null fields in Patch requests. 8918 NullFields []string `json:"-"` 8919} 8920 8921func (s *GoogleCloudVisionV1p3beta1Word) MarshalJSON() ([]byte, error) { 8922 type NoMethod GoogleCloudVisionV1p3beta1Word 8923 raw := NoMethod(*s) 8924 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8925} 8926 8927func (s *GoogleCloudVisionV1p3beta1Word) UnmarshalJSON(data []byte) error { 8928 type NoMethod GoogleCloudVisionV1p3beta1Word 8929 var s1 struct { 8930 Confidence gensupport.JSONFloat64 `json:"confidence"` 8931 *NoMethod 8932 } 8933 s1.NoMethod = (*NoMethod)(s) 8934 if err := json.Unmarshal(data, &s1); err != nil { 8935 return err 8936 } 8937 s.Confidence = float64(s1.Confidence) 8938 return nil 8939} 8940 8941// GoogleCloudVisionV1p4beta1AnnotateFileResponse: Response to a single 8942// file annotation request. A file may contain one or more images, which 8943// individually have their own responses. 8944type GoogleCloudVisionV1p4beta1AnnotateFileResponse struct { 8945 // Error: If set, represents the error message for the failed request. 8946 // The `responses` field will not be set in this case. 8947 Error *Status `json:"error,omitempty"` 8948 8949 // InputConfig: Information about the file for which this response is 8950 // generated. 8951 InputConfig *GoogleCloudVisionV1p4beta1InputConfig `json:"inputConfig,omitempty"` 8952 8953 // Responses: Individual responses to images found within the file. This 8954 // field will be empty if the `error` field is set. 8955 Responses []*GoogleCloudVisionV1p4beta1AnnotateImageResponse `json:"responses,omitempty"` 8956 8957 // TotalPages: This field gives the total number of pages in the file. 8958 TotalPages int64 `json:"totalPages,omitempty"` 8959 8960 // ForceSendFields is a list of field names (e.g. "Error") to 8961 // unconditionally include in API requests. By default, fields with 8962 // empty or default values are omitted from API requests. However, any 8963 // non-pointer, non-interface field appearing in ForceSendFields will be 8964 // sent to the server regardless of whether the field is empty or not. 8965 // This may be used to include empty fields in Patch requests. 8966 ForceSendFields []string `json:"-"` 8967 8968 // NullFields is a list of field names (e.g. "Error") to include in API 8969 // requests with the JSON null value. By default, fields with empty 8970 // values are omitted from API requests. However, any field with an 8971 // empty value appearing in NullFields will be sent to the server as 8972 // null. It is an error if a field in this list has a non-empty value. 8973 // This may be used to include null fields in Patch requests. 8974 NullFields []string `json:"-"` 8975} 8976 8977func (s *GoogleCloudVisionV1p4beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 8978 type NoMethod GoogleCloudVisionV1p4beta1AnnotateFileResponse 8979 raw := NoMethod(*s) 8980 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8981} 8982 8983// GoogleCloudVisionV1p4beta1AnnotateImageResponse: Response to an image 8984// annotation request. 8985type GoogleCloudVisionV1p4beta1AnnotateImageResponse struct { 8986 // Context: If present, contextual information is needed to understand 8987 // where this image comes from. 8988 Context *GoogleCloudVisionV1p4beta1ImageAnnotationContext `json:"context,omitempty"` 8989 8990 // CropHintsAnnotation: If present, crop hints have completed 8991 // successfully. 8992 CropHintsAnnotation *GoogleCloudVisionV1p4beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 8993 8994 // Error: If set, represents the error message for the operation. Note 8995 // that filled-in image annotations are guaranteed to be correct, even 8996 // when `error` is set. 8997 Error *Status `json:"error,omitempty"` 8998 8999 // FaceAnnotations: If present, face detection has completed 9000 // successfully. 9001 FaceAnnotations []*GoogleCloudVisionV1p4beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 9002 9003 // FullTextAnnotation: If present, text (OCR) detection or document 9004 // (OCR) text detection has completed successfully. This annotation 9005 // provides the structural hierarchy for the OCR detected text. 9006 FullTextAnnotation *GoogleCloudVisionV1p4beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 9007 9008 // ImagePropertiesAnnotation: If present, image properties were 9009 // extracted successfully. 9010 ImagePropertiesAnnotation *GoogleCloudVisionV1p4beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 9011 9012 // LabelAnnotations: If present, label detection has completed 9013 // successfully. 9014 LabelAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 9015 9016 // LandmarkAnnotations: If present, landmark detection has completed 9017 // successfully. 9018 LandmarkAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 9019 9020 // LocalizedObjectAnnotations: If present, localized object detection 9021 // has completed successfully. This will be sorted descending by 9022 // confidence score. 9023 LocalizedObjectAnnotations []*GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 9024 9025 // LogoAnnotations: If present, logo detection has completed 9026 // successfully. 9027 LogoAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 9028 9029 // ProductSearchResults: If present, product search has completed 9030 // successfully. 9031 ProductSearchResults *GoogleCloudVisionV1p4beta1ProductSearchResults `json:"productSearchResults,omitempty"` 9032 9033 // SafeSearchAnnotation: If present, safe-search annotation has 9034 // completed successfully. 9035 SafeSearchAnnotation *GoogleCloudVisionV1p4beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 9036 9037 // TextAnnotations: If present, text (OCR) detection has completed 9038 // successfully. 9039 TextAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"textAnnotations,omitempty"` 9040 9041 // WebDetection: If present, web detection has completed successfully. 9042 WebDetection *GoogleCloudVisionV1p4beta1WebDetection `json:"webDetection,omitempty"` 9043 9044 // ForceSendFields is a list of field names (e.g. "Context") to 9045 // unconditionally include in API requests. By default, fields with 9046 // empty or default values are omitted from API requests. However, any 9047 // non-pointer, non-interface field appearing in ForceSendFields will be 9048 // sent to the server regardless of whether the field is empty or not. 9049 // This may be used to include empty fields in Patch requests. 9050 ForceSendFields []string `json:"-"` 9051 9052 // NullFields is a list of field names (e.g. "Context") to include in 9053 // API requests with the JSON null value. By default, fields with empty 9054 // values are omitted from API requests. However, any field with an 9055 // empty value appearing in NullFields will be sent to the server as 9056 // null. It is an error if a field in this list has a non-empty value. 9057 // This may be used to include null fields in Patch requests. 9058 NullFields []string `json:"-"` 9059} 9060 9061func (s *GoogleCloudVisionV1p4beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 9062 type NoMethod GoogleCloudVisionV1p4beta1AnnotateImageResponse 9063 raw := NoMethod(*s) 9064 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9065} 9066 9067// GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse: The response for 9068// a single offline file annotation request. 9069type GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse struct { 9070 // OutputConfig: The output location and metadata from 9071 // AsyncAnnotateFileRequest. 9072 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9073 9074 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9075 // unconditionally include in API requests. By default, fields with 9076 // empty or default values are omitted from API requests. However, any 9077 // non-pointer, non-interface field appearing in ForceSendFields will be 9078 // sent to the server regardless of whether the field is empty or not. 9079 // This may be used to include empty fields in Patch requests. 9080 ForceSendFields []string `json:"-"` 9081 9082 // NullFields is a list of field names (e.g. "OutputConfig") to include 9083 // in API requests with the JSON null value. By default, fields with 9084 // empty values are omitted from API requests. However, any field with 9085 // an empty value appearing in NullFields will be sent to the server as 9086 // null. It is an error if a field in this list has a non-empty value. 9087 // This may be used to include null fields in Patch requests. 9088 NullFields []string `json:"-"` 9089} 9090 9091func (s *GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 9092 type NoMethod GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse 9093 raw := NoMethod(*s) 9094 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9095} 9096 9097// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse: Response 9098// to an async batch file annotation request. 9099type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse struct { 9100 // Responses: The list of file annotation responses, one for each 9101 // request in AsyncBatchAnnotateFilesRequest. 9102 Responses []*GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 9103 9104 // ForceSendFields is a list of field names (e.g. "Responses") to 9105 // unconditionally include in API requests. By default, fields with 9106 // empty or default values are omitted from API requests. However, any 9107 // non-pointer, non-interface field appearing in ForceSendFields will be 9108 // sent to the server regardless of whether the field is empty or not. 9109 // This may be used to include empty fields in Patch requests. 9110 ForceSendFields []string `json:"-"` 9111 9112 // NullFields is a list of field names (e.g. "Responses") to include in 9113 // API requests with the JSON null value. By default, fields with empty 9114 // values are omitted from API requests. However, any field with an 9115 // empty value appearing in NullFields will be sent to the server as 9116 // null. It is an error if a field in this list has a non-empty value. 9117 // This may be used to include null fields in Patch requests. 9118 NullFields []string `json:"-"` 9119} 9120 9121func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9122 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse 9123 raw := NoMethod(*s) 9124 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9125} 9126 9127// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse: Response 9128// to an async batch image annotation request. 9129type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse struct { 9130 // OutputConfig: The output location and metadata from 9131 // AsyncBatchAnnotateImagesRequest. 9132 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9133 9134 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9135 // unconditionally include in API requests. By default, fields with 9136 // empty or default values are omitted from API requests. However, any 9137 // non-pointer, non-interface field appearing in ForceSendFields will be 9138 // sent to the server regardless of whether the field is empty or not. 9139 // This may be used to include empty fields in Patch requests. 9140 ForceSendFields []string `json:"-"` 9141 9142 // NullFields is a list of field names (e.g. "OutputConfig") to include 9143 // in API requests with the JSON null value. By default, fields with 9144 // empty values are omitted from API requests. However, any field with 9145 // an empty value appearing in NullFields will be sent to the server as 9146 // null. It is an error if a field in this list has a non-empty value. 9147 // This may be used to include null fields in Patch requests. 9148 NullFields []string `json:"-"` 9149} 9150 9151func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 9152 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse 9153 raw := NoMethod(*s) 9154 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9155} 9156 9157// GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse: A list of file 9158// annotation responses. 9159type GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse struct { 9160 // Responses: The list of file annotation responses, each response 9161 // corresponding to each AnnotateFileRequest in 9162 // BatchAnnotateFilesRequest. 9163 Responses []*GoogleCloudVisionV1p4beta1AnnotateFileResponse `json:"responses,omitempty"` 9164 9165 // ForceSendFields is a list of field names (e.g. "Responses") to 9166 // unconditionally include in API requests. By default, fields with 9167 // empty or default values are omitted from API requests. However, any 9168 // non-pointer, non-interface field appearing in ForceSendFields will be 9169 // sent to the server regardless of whether the field is empty or not. 9170 // This may be used to include empty fields in Patch requests. 9171 ForceSendFields []string `json:"-"` 9172 9173 // NullFields is a list of field names (e.g. "Responses") to include in 9174 // API requests with the JSON null value. By default, fields with empty 9175 // values are omitted from API requests. However, any field with an 9176 // empty value appearing in NullFields will be sent to the server as 9177 // null. It is an error if a field in this list has a non-empty value. 9178 // This may be used to include null fields in Patch requests. 9179 NullFields []string `json:"-"` 9180} 9181 9182func (s *GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9183 type NoMethod GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse 9184 raw := NoMethod(*s) 9185 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9186} 9187 9188// GoogleCloudVisionV1p4beta1BatchOperationMetadata: Metadata for the 9189// batch operations such as the current state. This is included in the 9190// `metadata` field of the `Operation` returned by the `GetOperation` 9191// call of the `google::longrunning::Operations` service. 9192type GoogleCloudVisionV1p4beta1BatchOperationMetadata struct { 9193 // EndTime: The time when the batch request is finished and 9194 // google.longrunning.Operation.done is set to true. 9195 EndTime string `json:"endTime,omitempty"` 9196 9197 // State: The current state of the batch operation. 9198 // 9199 // Possible values: 9200 // "STATE_UNSPECIFIED" - Invalid. 9201 // "PROCESSING" - Request is actively being processed. 9202 // "SUCCESSFUL" - The request is done and at least one item has been 9203 // successfully processed. 9204 // "FAILED" - The request is done and no item has been successfully 9205 // processed. 9206 // "CANCELLED" - The request is done after the 9207 // longrunning.Operations.CancelOperation has been called by the user. 9208 // Any records that were processed before the cancel command are output 9209 // as specified in the request. 9210 State string `json:"state,omitempty"` 9211 9212 // SubmitTime: The time when the batch request was submitted to the 9213 // server. 9214 SubmitTime string `json:"submitTime,omitempty"` 9215 9216 // ForceSendFields is a list of field names (e.g. "EndTime") to 9217 // unconditionally include in API requests. By default, fields with 9218 // empty or default values are omitted from API requests. However, any 9219 // non-pointer, non-interface field appearing in ForceSendFields will be 9220 // sent to the server regardless of whether the field is empty or not. 9221 // This may be used to include empty fields in Patch requests. 9222 ForceSendFields []string `json:"-"` 9223 9224 // NullFields is a list of field names (e.g. "EndTime") to include in 9225 // API requests with the JSON null value. By default, fields with empty 9226 // values are omitted from API requests. However, any field with an 9227 // empty value appearing in NullFields will be sent to the server as 9228 // null. It is an error if a field in this list has a non-empty value. 9229 // This may be used to include null fields in Patch requests. 9230 NullFields []string `json:"-"` 9231} 9232 9233func (s *GoogleCloudVisionV1p4beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 9234 type NoMethod GoogleCloudVisionV1p4beta1BatchOperationMetadata 9235 raw := NoMethod(*s) 9236 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9237} 9238 9239// GoogleCloudVisionV1p4beta1Block: Logical element on the page. 9240type GoogleCloudVisionV1p4beta1Block struct { 9241 // BlockType: Detected block type (text, image etc) for this block. 9242 // 9243 // Possible values: 9244 // "UNKNOWN" - Unknown block type. 9245 // "TEXT" - Regular text block. 9246 // "TABLE" - Table block. 9247 // "PICTURE" - Image block. 9248 // "RULER" - Horizontal/vertical line box. 9249 // "BARCODE" - Barcode block. 9250 BlockType string `json:"blockType,omitempty"` 9251 9252 // BoundingBox: The bounding box for the block. The vertices are in the 9253 // order of top-left, top-right, bottom-right, bottom-left. When a 9254 // rotation of the bounding box is detected the rotation is represented 9255 // as around the top-left corner as defined when the text is read in the 9256 // 'natural' orientation. For example: * when the text is horizontal it 9257 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 9258 // around the top-left corner it becomes: 2----3 | | 1----0 and the 9259 // vertex order will still be (0, 1, 2, 3). 9260 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 9261 9262 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 9263 Confidence float64 `json:"confidence,omitempty"` 9264 9265 // Paragraphs: List of paragraphs in this block (if this blocks is of 9266 // type text). 9267 Paragraphs []*GoogleCloudVisionV1p4beta1Paragraph `json:"paragraphs,omitempty"` 9268 9269 // Property: Additional information detected for the block. 9270 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 9271 9272 // ForceSendFields is a list of field names (e.g. "BlockType") to 9273 // unconditionally include in API requests. By default, fields with 9274 // empty or default values are omitted from API requests. However, any 9275 // non-pointer, non-interface field appearing in ForceSendFields will be 9276 // sent to the server regardless of whether the field is empty or not. 9277 // This may be used to include empty fields in Patch requests. 9278 ForceSendFields []string `json:"-"` 9279 9280 // NullFields is a list of field names (e.g. "BlockType") to include in 9281 // API requests with the JSON null value. By default, fields with empty 9282 // values are omitted from API requests. However, any field with an 9283 // empty value appearing in NullFields will be sent to the server as 9284 // null. It is an error if a field in this list has a non-empty value. 9285 // This may be used to include null fields in Patch requests. 9286 NullFields []string `json:"-"` 9287} 9288 9289func (s *GoogleCloudVisionV1p4beta1Block) MarshalJSON() ([]byte, error) { 9290 type NoMethod GoogleCloudVisionV1p4beta1Block 9291 raw := NoMethod(*s) 9292 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9293} 9294 9295func (s *GoogleCloudVisionV1p4beta1Block) UnmarshalJSON(data []byte) error { 9296 type NoMethod GoogleCloudVisionV1p4beta1Block 9297 var s1 struct { 9298 Confidence gensupport.JSONFloat64 `json:"confidence"` 9299 *NoMethod 9300 } 9301 s1.NoMethod = (*NoMethod)(s) 9302 if err := json.Unmarshal(data, &s1); err != nil { 9303 return err 9304 } 9305 s.Confidence = float64(s1.Confidence) 9306 return nil 9307} 9308 9309// GoogleCloudVisionV1p4beta1BoundingPoly: A bounding polygon for the 9310// detected image annotation. 9311type GoogleCloudVisionV1p4beta1BoundingPoly struct { 9312 // NormalizedVertices: The bounding polygon normalized vertices. 9313 NormalizedVertices []*GoogleCloudVisionV1p4beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 9314 9315 // Vertices: The bounding polygon vertices. 9316 Vertices []*GoogleCloudVisionV1p4beta1Vertex `json:"vertices,omitempty"` 9317 9318 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 9319 // to unconditionally include in API requests. By default, fields with 9320 // empty or default values are omitted from API requests. However, any 9321 // non-pointer, non-interface field appearing in ForceSendFields will be 9322 // sent to the server regardless of whether the field is empty or not. 9323 // This may be used to include empty fields in Patch requests. 9324 ForceSendFields []string `json:"-"` 9325 9326 // NullFields is a list of field names (e.g. "NormalizedVertices") to 9327 // include in API requests with the JSON null value. By default, fields 9328 // with empty values are omitted from API requests. However, any field 9329 // with an empty value appearing in NullFields will be sent to the 9330 // server as null. It is an error if a field in this list has a 9331 // non-empty value. This may be used to include null fields in Patch 9332 // requests. 9333 NullFields []string `json:"-"` 9334} 9335 9336func (s *GoogleCloudVisionV1p4beta1BoundingPoly) MarshalJSON() ([]byte, error) { 9337 type NoMethod GoogleCloudVisionV1p4beta1BoundingPoly 9338 raw := NoMethod(*s) 9339 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9340} 9341 9342// GoogleCloudVisionV1p4beta1Celebrity: A Celebrity is a group of Faces 9343// with an identity. 9344type GoogleCloudVisionV1p4beta1Celebrity struct { 9345 // Description: The Celebrity's description. 9346 Description string `json:"description,omitempty"` 9347 9348 // DisplayName: The Celebrity's display name. 9349 DisplayName string `json:"displayName,omitempty"` 9350 9351 // Name: The resource name of the preloaded Celebrity. Has the format 9352 // `builtin/{mid}`. 9353 Name string `json:"name,omitempty"` 9354 9355 // ForceSendFields is a list of field names (e.g. "Description") to 9356 // unconditionally include in API requests. By default, fields with 9357 // empty or default values are omitted from API requests. However, any 9358 // non-pointer, non-interface field appearing in ForceSendFields will be 9359 // sent to the server regardless of whether the field is empty or not. 9360 // This may be used to include empty fields in Patch requests. 9361 ForceSendFields []string `json:"-"` 9362 9363 // NullFields is a list of field names (e.g. "Description") to include 9364 // in API requests with the JSON null value. By default, fields with 9365 // empty values are omitted from API requests. However, any field with 9366 // an empty value appearing in NullFields will be sent to the server as 9367 // null. It is an error if a field in this list has a non-empty value. 9368 // This may be used to include null fields in Patch requests. 9369 NullFields []string `json:"-"` 9370} 9371 9372func (s *GoogleCloudVisionV1p4beta1Celebrity) MarshalJSON() ([]byte, error) { 9373 type NoMethod GoogleCloudVisionV1p4beta1Celebrity 9374 raw := NoMethod(*s) 9375 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9376} 9377 9378// GoogleCloudVisionV1p4beta1ColorInfo: Color information consists of 9379// RGB channels, score, and the fraction of the image that the color 9380// occupies in the image. 9381type GoogleCloudVisionV1p4beta1ColorInfo struct { 9382 // Color: RGB components of the color. 9383 Color *Color `json:"color,omitempty"` 9384 9385 // PixelFraction: The fraction of pixels the color occupies in the 9386 // image. Value in range [0, 1]. 9387 PixelFraction float64 `json:"pixelFraction,omitempty"` 9388 9389 // Score: Image-specific score for this color. Value in range [0, 1]. 9390 Score float64 `json:"score,omitempty"` 9391 9392 // ForceSendFields is a list of field names (e.g. "Color") to 9393 // unconditionally include in API requests. By default, fields with 9394 // empty or default values are omitted from API requests. However, any 9395 // non-pointer, non-interface field appearing in ForceSendFields will be 9396 // sent to the server regardless of whether the field is empty or not. 9397 // This may be used to include empty fields in Patch requests. 9398 ForceSendFields []string `json:"-"` 9399 9400 // NullFields is a list of field names (e.g. "Color") to include in API 9401 // requests with the JSON null value. By default, fields with empty 9402 // values are omitted from API requests. However, any field with an 9403 // empty value appearing in NullFields will be sent to the server as 9404 // null. It is an error if a field in this list has a non-empty value. 9405 // This may be used to include null fields in Patch requests. 9406 NullFields []string `json:"-"` 9407} 9408 9409func (s *GoogleCloudVisionV1p4beta1ColorInfo) MarshalJSON() ([]byte, error) { 9410 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 9411 raw := NoMethod(*s) 9412 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9413} 9414 9415func (s *GoogleCloudVisionV1p4beta1ColorInfo) UnmarshalJSON(data []byte) error { 9416 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 9417 var s1 struct { 9418 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 9419 Score gensupport.JSONFloat64 `json:"score"` 9420 *NoMethod 9421 } 9422 s1.NoMethod = (*NoMethod)(s) 9423 if err := json.Unmarshal(data, &s1); err != nil { 9424 return err 9425 } 9426 s.PixelFraction = float64(s1.PixelFraction) 9427 s.Score = float64(s1.Score) 9428 return nil 9429} 9430 9431// GoogleCloudVisionV1p4beta1CropHint: Single crop hint that is used to 9432// generate a new crop when serving an image. 9433type GoogleCloudVisionV1p4beta1CropHint struct { 9434 // BoundingPoly: The bounding polygon for the crop region. The 9435 // coordinates of the bounding box are in the original image's scale. 9436 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 9437 9438 // Confidence: Confidence of this being a salient region. Range [0, 1]. 9439 Confidence float64 `json:"confidence,omitempty"` 9440 9441 // ImportanceFraction: Fraction of importance of this salient region 9442 // with respect to the original image. 9443 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 9444 9445 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 9446 // unconditionally include in API requests. By default, fields with 9447 // empty or default values are omitted from API requests. However, any 9448 // non-pointer, non-interface field appearing in ForceSendFields will be 9449 // sent to the server regardless of whether the field is empty or not. 9450 // This may be used to include empty fields in Patch requests. 9451 ForceSendFields []string `json:"-"` 9452 9453 // NullFields is a list of field names (e.g. "BoundingPoly") to include 9454 // in API requests with the JSON null value. By default, fields with 9455 // empty values are omitted from API requests. However, any field with 9456 // an empty value appearing in NullFields will be sent to the server as 9457 // null. It is an error if a field in this list has a non-empty value. 9458 // This may be used to include null fields in Patch requests. 9459 NullFields []string `json:"-"` 9460} 9461 9462func (s *GoogleCloudVisionV1p4beta1CropHint) MarshalJSON() ([]byte, error) { 9463 type NoMethod GoogleCloudVisionV1p4beta1CropHint 9464 raw := NoMethod(*s) 9465 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9466} 9467 9468func (s *GoogleCloudVisionV1p4beta1CropHint) UnmarshalJSON(data []byte) error { 9469 type NoMethod GoogleCloudVisionV1p4beta1CropHint 9470 var s1 struct { 9471 Confidence gensupport.JSONFloat64 `json:"confidence"` 9472 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 9473 *NoMethod 9474 } 9475 s1.NoMethod = (*NoMethod)(s) 9476 if err := json.Unmarshal(data, &s1); err != nil { 9477 return err 9478 } 9479 s.Confidence = float64(s1.Confidence) 9480 s.ImportanceFraction = float64(s1.ImportanceFraction) 9481 return nil 9482} 9483 9484// GoogleCloudVisionV1p4beta1CropHintsAnnotation: Set of crop hints that 9485// are used to generate new crops when serving images. 9486type GoogleCloudVisionV1p4beta1CropHintsAnnotation struct { 9487 // CropHints: Crop hint results. 9488 CropHints []*GoogleCloudVisionV1p4beta1CropHint `json:"cropHints,omitempty"` 9489 9490 // ForceSendFields is a list of field names (e.g. "CropHints") to 9491 // unconditionally include in API requests. By default, fields with 9492 // empty or default values are omitted from API requests. However, any 9493 // non-pointer, non-interface field appearing in ForceSendFields will be 9494 // sent to the server regardless of whether the field is empty or not. 9495 // This may be used to include empty fields in Patch requests. 9496 ForceSendFields []string `json:"-"` 9497 9498 // NullFields is a list of field names (e.g. "CropHints") to include in 9499 // API requests with the JSON null value. By default, fields with empty 9500 // values are omitted from API requests. However, any field with an 9501 // empty value appearing in NullFields will be sent to the server as 9502 // null. It is an error if a field in this list has a non-empty value. 9503 // This may be used to include null fields in Patch requests. 9504 NullFields []string `json:"-"` 9505} 9506 9507func (s *GoogleCloudVisionV1p4beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 9508 type NoMethod GoogleCloudVisionV1p4beta1CropHintsAnnotation 9509 raw := NoMethod(*s) 9510 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9511} 9512 9513// GoogleCloudVisionV1p4beta1DominantColorsAnnotation: Set of dominant 9514// colors and their corresponding scores. 9515type GoogleCloudVisionV1p4beta1DominantColorsAnnotation struct { 9516 // Colors: RGB color values with their score and pixel fraction. 9517 Colors []*GoogleCloudVisionV1p4beta1ColorInfo `json:"colors,omitempty"` 9518 9519 // ForceSendFields is a list of field names (e.g. "Colors") to 9520 // unconditionally include in API requests. By default, fields with 9521 // empty or default values are omitted from API requests. However, any 9522 // non-pointer, non-interface field appearing in ForceSendFields will be 9523 // sent to the server regardless of whether the field is empty or not. 9524 // This may be used to include empty fields in Patch requests. 9525 ForceSendFields []string `json:"-"` 9526 9527 // NullFields is a list of field names (e.g. "Colors") to include in API 9528 // requests with the JSON null value. By default, fields with empty 9529 // values are omitted from API requests. However, any field with an 9530 // empty value appearing in NullFields will be sent to the server as 9531 // null. It is an error if a field in this list has a non-empty value. 9532 // This may be used to include null fields in Patch requests. 9533 NullFields []string `json:"-"` 9534} 9535 9536func (s *GoogleCloudVisionV1p4beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 9537 type NoMethod GoogleCloudVisionV1p4beta1DominantColorsAnnotation 9538 raw := NoMethod(*s) 9539 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9540} 9541 9542// GoogleCloudVisionV1p4beta1EntityAnnotation: Set of detected entity 9543// features. 9544type GoogleCloudVisionV1p4beta1EntityAnnotation struct { 9545 // BoundingPoly: Image region to which this entity belongs. Not produced 9546 // for `LABEL_DETECTION` features. 9547 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 9548 9549 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 9550 // entity detection in an image. For example, for an image in which the 9551 // "Eiffel Tower" entity is detected, this field represents the 9552 // confidence that there is a tower in the query image. Range [0, 1]. 9553 Confidence float64 `json:"confidence,omitempty"` 9554 9555 // Description: Entity textual description, expressed in its `locale` 9556 // language. 9557 Description string `json:"description,omitempty"` 9558 9559 // Locale: The language code for the locale in which the entity textual 9560 // `description` is expressed. 9561 Locale string `json:"locale,omitempty"` 9562 9563 // Locations: The location information for the detected entity. Multiple 9564 // `LocationInfo` elements can be present because one location may 9565 // indicate the location of the scene in the image, and another location 9566 // may indicate the location of the place where the image was taken. 9567 // Location information is usually present for landmarks. 9568 Locations []*GoogleCloudVisionV1p4beta1LocationInfo `json:"locations,omitempty"` 9569 9570 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 9571 // Graph Search API (https://developers.google.com/knowledge-graph/). 9572 Mid string `json:"mid,omitempty"` 9573 9574 // Properties: Some entities may have optional user-supplied `Property` 9575 // (name/value) fields, such a score or string that qualifies the 9576 // entity. 9577 Properties []*GoogleCloudVisionV1p4beta1Property `json:"properties,omitempty"` 9578 9579 // Score: Overall score of the result. Range [0, 1]. 9580 Score float64 `json:"score,omitempty"` 9581 9582 // Topicality: The relevancy of the ICA (Image Content Annotation) label 9583 // to the image. For example, the relevancy of "tower" is likely higher 9584 // to an image containing the detected "Eiffel Tower" than to an image 9585 // containing a detected distant towering building, even though the 9586 // confidence that there is a tower in each image may be the same. Range 9587 // [0, 1]. 9588 Topicality float64 `json:"topicality,omitempty"` 9589 9590 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 9591 // unconditionally include in API requests. By default, fields with 9592 // empty or default values are omitted from API requests. However, any 9593 // non-pointer, non-interface field appearing in ForceSendFields will be 9594 // sent to the server regardless of whether the field is empty or not. 9595 // This may be used to include empty fields in Patch requests. 9596 ForceSendFields []string `json:"-"` 9597 9598 // NullFields is a list of field names (e.g. "BoundingPoly") to include 9599 // in API requests with the JSON null value. By default, fields with 9600 // empty values are omitted from API requests. However, any field with 9601 // an empty value appearing in NullFields will be sent to the server as 9602 // null. It is an error if a field in this list has a non-empty value. 9603 // This may be used to include null fields in Patch requests. 9604 NullFields []string `json:"-"` 9605} 9606 9607func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 9608 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 9609 raw := NoMethod(*s) 9610 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9611} 9612 9613func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 9614 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 9615 var s1 struct { 9616 Confidence gensupport.JSONFloat64 `json:"confidence"` 9617 Score gensupport.JSONFloat64 `json:"score"` 9618 Topicality gensupport.JSONFloat64 `json:"topicality"` 9619 *NoMethod 9620 } 9621 s1.NoMethod = (*NoMethod)(s) 9622 if err := json.Unmarshal(data, &s1); err != nil { 9623 return err 9624 } 9625 s.Confidence = float64(s1.Confidence) 9626 s.Score = float64(s1.Score) 9627 s.Topicality = float64(s1.Topicality) 9628 return nil 9629} 9630 9631// GoogleCloudVisionV1p4beta1FaceAnnotation: A face annotation object 9632// contains the results of face detection. 9633type GoogleCloudVisionV1p4beta1FaceAnnotation struct { 9634 // AngerLikelihood: Anger likelihood. 9635 // 9636 // Possible values: 9637 // "UNKNOWN" - Unknown likelihood. 9638 // "VERY_UNLIKELY" - It is very unlikely. 9639 // "UNLIKELY" - It is unlikely. 9640 // "POSSIBLE" - It is possible. 9641 // "LIKELY" - It is likely. 9642 // "VERY_LIKELY" - It is very likely. 9643 AngerLikelihood string `json:"angerLikelihood,omitempty"` 9644 9645 // BlurredLikelihood: Blurred likelihood. 9646 // 9647 // Possible values: 9648 // "UNKNOWN" - Unknown likelihood. 9649 // "VERY_UNLIKELY" - It is very unlikely. 9650 // "UNLIKELY" - It is unlikely. 9651 // "POSSIBLE" - It is possible. 9652 // "LIKELY" - It is likely. 9653 // "VERY_LIKELY" - It is very likely. 9654 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 9655 9656 // BoundingPoly: The bounding polygon around the face. The coordinates 9657 // of the bounding box are in the original image's scale. The bounding 9658 // box is computed to "frame" the face in accordance with human 9659 // expectations. It is based on the landmarker results. Note that one or 9660 // more x and/or y coordinates may not be generated in the 9661 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 9662 // appears in the image to be annotated. 9663 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 9664 9665 // DetectionConfidence: Detection confidence. Range [0, 1]. 9666 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 9667 9668 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 9669 // than the `boundingPoly`, and encloses only the skin part of the face. 9670 // Typically, it is used to eliminate the face from any image analysis 9671 // that detects the "amount of skin" visible in an image. It is not 9672 // based on the landmarker results, only on the initial face detection, 9673 // hence the fd (face detection) prefix. 9674 FdBoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 9675 9676 // HeadwearLikelihood: Headwear likelihood. 9677 // 9678 // Possible values: 9679 // "UNKNOWN" - Unknown likelihood. 9680 // "VERY_UNLIKELY" - It is very unlikely. 9681 // "UNLIKELY" - It is unlikely. 9682 // "POSSIBLE" - It is possible. 9683 // "LIKELY" - It is likely. 9684 // "VERY_LIKELY" - It is very likely. 9685 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 9686 9687 // JoyLikelihood: Joy likelihood. 9688 // 9689 // Possible values: 9690 // "UNKNOWN" - Unknown likelihood. 9691 // "VERY_UNLIKELY" - It is very unlikely. 9692 // "UNLIKELY" - It is unlikely. 9693 // "POSSIBLE" - It is possible. 9694 // "LIKELY" - It is likely. 9695 // "VERY_LIKELY" - It is very likely. 9696 JoyLikelihood string `json:"joyLikelihood,omitempty"` 9697 9698 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 9699 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 9700 9701 // Landmarks: Detected face landmarks. 9702 Landmarks []*GoogleCloudVisionV1p4beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 9703 9704 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 9705 // that the face is pointing relative to the vertical plane 9706 // perpendicular to the image. Range [-180,180]. 9707 PanAngle float64 `json:"panAngle,omitempty"` 9708 9709 // RecognitionResult: Additional recognition information. Only computed 9710 // if image_context.face_recognition_params is provided, **and** a match 9711 // is found to a Celebrity in the input CelebritySet. This field is 9712 // sorted in order of decreasing confidence values. 9713 RecognitionResult []*GoogleCloudVisionV1p4beta1FaceRecognitionResult `json:"recognitionResult,omitempty"` 9714 9715 // RollAngle: Roll angle, which indicates the amount of 9716 // clockwise/anti-clockwise rotation of the face relative to the image 9717 // vertical about the axis perpendicular to the face. Range [-180,180]. 9718 RollAngle float64 `json:"rollAngle,omitempty"` 9719 9720 // SorrowLikelihood: Sorrow likelihood. 9721 // 9722 // Possible values: 9723 // "UNKNOWN" - Unknown likelihood. 9724 // "VERY_UNLIKELY" - It is very unlikely. 9725 // "UNLIKELY" - It is unlikely. 9726 // "POSSIBLE" - It is possible. 9727 // "LIKELY" - It is likely. 9728 // "VERY_LIKELY" - It is very likely. 9729 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 9730 9731 // SurpriseLikelihood: Surprise likelihood. 9732 // 9733 // Possible values: 9734 // "UNKNOWN" - Unknown likelihood. 9735 // "VERY_UNLIKELY" - It is very unlikely. 9736 // "UNLIKELY" - It is unlikely. 9737 // "POSSIBLE" - It is possible. 9738 // "LIKELY" - It is likely. 9739 // "VERY_LIKELY" - It is very likely. 9740 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 9741 9742 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 9743 // that the face is pointing relative to the image's horizontal plane. 9744 // Range [-180,180]. 9745 TiltAngle float64 `json:"tiltAngle,omitempty"` 9746 9747 // UnderExposedLikelihood: Under-exposed likelihood. 9748 // 9749 // Possible values: 9750 // "UNKNOWN" - Unknown likelihood. 9751 // "VERY_UNLIKELY" - It is very unlikely. 9752 // "UNLIKELY" - It is unlikely. 9753 // "POSSIBLE" - It is possible. 9754 // "LIKELY" - It is likely. 9755 // "VERY_LIKELY" - It is very likely. 9756 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 9757 9758 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 9759 // unconditionally include in API requests. By default, fields with 9760 // empty or default values are omitted from API requests. However, any 9761 // non-pointer, non-interface field appearing in ForceSendFields will be 9762 // sent to the server regardless of whether the field is empty or not. 9763 // This may be used to include empty fields in Patch requests. 9764 ForceSendFields []string `json:"-"` 9765 9766 // NullFields is a list of field names (e.g. "AngerLikelihood") to 9767 // include in API requests with the JSON null value. By default, fields 9768 // with empty values are omitted from API requests. However, any field 9769 // with an empty value appearing in NullFields will be sent to the 9770 // server as null. It is an error if a field in this list has a 9771 // non-empty value. This may be used to include null fields in Patch 9772 // requests. 9773 NullFields []string `json:"-"` 9774} 9775 9776func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 9777 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 9778 raw := NoMethod(*s) 9779 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9780} 9781 9782func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 9783 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 9784 var s1 struct { 9785 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 9786 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 9787 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 9788 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 9789 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 9790 *NoMethod 9791 } 9792 s1.NoMethod = (*NoMethod)(s) 9793 if err := json.Unmarshal(data, &s1); err != nil { 9794 return err 9795 } 9796 s.DetectionConfidence = float64(s1.DetectionConfidence) 9797 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 9798 s.PanAngle = float64(s1.PanAngle) 9799 s.RollAngle = float64(s1.RollAngle) 9800 s.TiltAngle = float64(s1.TiltAngle) 9801 return nil 9802} 9803 9804// GoogleCloudVisionV1p4beta1FaceAnnotationLandmark: A face-specific 9805// landmark (for example, a face feature). 9806type GoogleCloudVisionV1p4beta1FaceAnnotationLandmark struct { 9807 // Position: Face landmark position. 9808 Position *GoogleCloudVisionV1p4beta1Position `json:"position,omitempty"` 9809 9810 // Type: Face landmark type. 9811 // 9812 // Possible values: 9813 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 9814 // filled. 9815 // "LEFT_EYE" - Left eye. 9816 // "RIGHT_EYE" - Right eye. 9817 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 9818 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 9819 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 9820 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 9821 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 9822 // "NOSE_TIP" - Nose tip. 9823 // "UPPER_LIP" - Upper lip. 9824 // "LOWER_LIP" - Lower lip. 9825 // "MOUTH_LEFT" - Mouth left. 9826 // "MOUTH_RIGHT" - Mouth right. 9827 // "MOUTH_CENTER" - Mouth center. 9828 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 9829 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 9830 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 9831 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 9832 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 9833 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 9834 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 9835 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 9836 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 9837 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 9838 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 9839 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 9840 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 9841 // "LEFT_EAR_TRAGION" - Left ear tragion. 9842 // "RIGHT_EAR_TRAGION" - Right ear tragion. 9843 // "LEFT_EYE_PUPIL" - Left eye pupil. 9844 // "RIGHT_EYE_PUPIL" - Right eye pupil. 9845 // "FOREHEAD_GLABELLA" - Forehead glabella. 9846 // "CHIN_GNATHION" - Chin gnathion. 9847 // "CHIN_LEFT_GONION" - Chin left gonion. 9848 // "CHIN_RIGHT_GONION" - Chin right gonion. 9849 // "LEFT_CHEEK_CENTER" - Left cheek center. 9850 // "RIGHT_CHEEK_CENTER" - Right cheek center. 9851 Type string `json:"type,omitempty"` 9852 9853 // ForceSendFields is a list of field names (e.g. "Position") to 9854 // unconditionally include in API requests. By default, fields with 9855 // empty or default values are omitted from API requests. However, any 9856 // non-pointer, non-interface field appearing in ForceSendFields will be 9857 // sent to the server regardless of whether the field is empty or not. 9858 // This may be used to include empty fields in Patch requests. 9859 ForceSendFields []string `json:"-"` 9860 9861 // NullFields is a list of field names (e.g. "Position") to include in 9862 // API requests with the JSON null value. By default, fields with empty 9863 // values are omitted from API requests. However, any field with an 9864 // empty value appearing in NullFields will be sent to the server as 9865 // null. It is an error if a field in this list has a non-empty value. 9866 // This may be used to include null fields in Patch requests. 9867 NullFields []string `json:"-"` 9868} 9869 9870func (s *GoogleCloudVisionV1p4beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 9871 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotationLandmark 9872 raw := NoMethod(*s) 9873 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9874} 9875 9876// GoogleCloudVisionV1p4beta1FaceRecognitionResult: Information about a 9877// face's identity. 9878type GoogleCloudVisionV1p4beta1FaceRecognitionResult struct { 9879 // Celebrity: The Celebrity that this face was matched to. 9880 Celebrity *GoogleCloudVisionV1p4beta1Celebrity `json:"celebrity,omitempty"` 9881 9882 // Confidence: Recognition confidence. Range [0, 1]. 9883 Confidence float64 `json:"confidence,omitempty"` 9884 9885 // ForceSendFields is a list of field names (e.g. "Celebrity") to 9886 // unconditionally include in API requests. By default, fields with 9887 // empty or default values are omitted from API requests. However, any 9888 // non-pointer, non-interface field appearing in ForceSendFields will be 9889 // sent to the server regardless of whether the field is empty or not. 9890 // This may be used to include empty fields in Patch requests. 9891 ForceSendFields []string `json:"-"` 9892 9893 // NullFields is a list of field names (e.g. "Celebrity") to include in 9894 // API requests with the JSON null value. By default, fields with empty 9895 // values are omitted from API requests. However, any field with an 9896 // empty value appearing in NullFields will be sent to the server as 9897 // null. It is an error if a field in this list has a non-empty value. 9898 // This may be used to include null fields in Patch requests. 9899 NullFields []string `json:"-"` 9900} 9901 9902func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) MarshalJSON() ([]byte, error) { 9903 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 9904 raw := NoMethod(*s) 9905 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9906} 9907 9908func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) UnmarshalJSON(data []byte) error { 9909 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 9910 var s1 struct { 9911 Confidence gensupport.JSONFloat64 `json:"confidence"` 9912 *NoMethod 9913 } 9914 s1.NoMethod = (*NoMethod)(s) 9915 if err := json.Unmarshal(data, &s1); err != nil { 9916 return err 9917 } 9918 s.Confidence = float64(s1.Confidence) 9919 return nil 9920} 9921 9922// GoogleCloudVisionV1p4beta1GcsDestination: The Google Cloud Storage 9923// location where the output will be written to. 9924type GoogleCloudVisionV1p4beta1GcsDestination struct { 9925 // Uri: Google Cloud Storage URI prefix where the results will be 9926 // stored. Results will be in JSON format and preceded by its 9927 // corresponding input URI prefix. This field can either represent a gcs 9928 // file prefix or gcs directory. In either case, the uri should be 9929 // unique because in order to get all of the output files, you will need 9930 // to do a wildcard gcs search on the uri prefix you provide. Examples: 9931 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 9932 // will be created in gs://bucket-name/here/ and the names of the output 9933 // files will begin with "filenameprefix". * Directory Prefix: 9934 // gs://bucket-name/some/location/ The output files will be created in 9935 // gs://bucket-name/some/location/ and the names of the output files 9936 // could be anything because there was no filename prefix specified. If 9937 // multiple outputs, each response is still AnnotateFileResponse, each 9938 // of which contains some subset of the full list of 9939 // AnnotateImageResponse. Multiple outputs can happen if, for example, 9940 // the output JSON is too large and overflows into multiple sharded 9941 // files. 9942 Uri string `json:"uri,omitempty"` 9943 9944 // ForceSendFields is a list of field names (e.g. "Uri") to 9945 // unconditionally include in API requests. By default, fields with 9946 // empty or default values are omitted from API requests. However, any 9947 // non-pointer, non-interface field appearing in ForceSendFields will be 9948 // sent to the server regardless of whether the field is empty or not. 9949 // This may be used to include empty fields in Patch requests. 9950 ForceSendFields []string `json:"-"` 9951 9952 // NullFields is a list of field names (e.g. "Uri") to include in API 9953 // requests with the JSON null value. By default, fields with empty 9954 // values are omitted from API requests. However, any field with an 9955 // empty value appearing in NullFields will be sent to the server as 9956 // null. It is an error if a field in this list has a non-empty value. 9957 // This may be used to include null fields in Patch requests. 9958 NullFields []string `json:"-"` 9959} 9960 9961func (s *GoogleCloudVisionV1p4beta1GcsDestination) MarshalJSON() ([]byte, error) { 9962 type NoMethod GoogleCloudVisionV1p4beta1GcsDestination 9963 raw := NoMethod(*s) 9964 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9965} 9966 9967// GoogleCloudVisionV1p4beta1GcsSource: The Google Cloud Storage 9968// location where the input will be read from. 9969type GoogleCloudVisionV1p4beta1GcsSource struct { 9970 // Uri: Google Cloud Storage URI for the input file. This must only be a 9971 // Google Cloud Storage object. Wildcards are not currently supported. 9972 Uri string `json:"uri,omitempty"` 9973 9974 // ForceSendFields is a list of field names (e.g. "Uri") to 9975 // unconditionally include in API requests. By default, fields with 9976 // empty or default values are omitted from API requests. However, any 9977 // non-pointer, non-interface field appearing in ForceSendFields will be 9978 // sent to the server regardless of whether the field is empty or not. 9979 // This may be used to include empty fields in Patch requests. 9980 ForceSendFields []string `json:"-"` 9981 9982 // NullFields is a list of field names (e.g. "Uri") to include in API 9983 // requests with the JSON null value. By default, fields with empty 9984 // values are omitted from API requests. However, any field with an 9985 // empty value appearing in NullFields will be sent to the server as 9986 // null. It is an error if a field in this list has a non-empty value. 9987 // This may be used to include null fields in Patch requests. 9988 NullFields []string `json:"-"` 9989} 9990 9991func (s *GoogleCloudVisionV1p4beta1GcsSource) MarshalJSON() ([]byte, error) { 9992 type NoMethod GoogleCloudVisionV1p4beta1GcsSource 9993 raw := NoMethod(*s) 9994 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9995} 9996 9997// GoogleCloudVisionV1p4beta1ImageAnnotationContext: If an image was 9998// produced from a file (e.g. a PDF), this message gives information 9999// about the source of that image. 10000type GoogleCloudVisionV1p4beta1ImageAnnotationContext struct { 10001 // PageNumber: If the file was a PDF or TIFF, this field gives the page 10002 // number within the file used to produce the image. 10003 PageNumber int64 `json:"pageNumber,omitempty"` 10004 10005 // Uri: The URI of the file used to produce the image. 10006 Uri string `json:"uri,omitempty"` 10007 10008 // ForceSendFields is a list of field names (e.g. "PageNumber") to 10009 // unconditionally include in API requests. By default, fields with 10010 // empty or default values are omitted from API requests. However, any 10011 // non-pointer, non-interface field appearing in ForceSendFields will be 10012 // sent to the server regardless of whether the field is empty or not. 10013 // This may be used to include empty fields in Patch requests. 10014 ForceSendFields []string `json:"-"` 10015 10016 // NullFields is a list of field names (e.g. "PageNumber") to include in 10017 // API requests with the JSON null value. By default, fields with empty 10018 // values are omitted from API requests. However, any field with an 10019 // empty value appearing in NullFields will be sent to the server as 10020 // null. It is an error if a field in this list has a non-empty value. 10021 // This may be used to include null fields in Patch requests. 10022 NullFields []string `json:"-"` 10023} 10024 10025func (s *GoogleCloudVisionV1p4beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 10026 type NoMethod GoogleCloudVisionV1p4beta1ImageAnnotationContext 10027 raw := NoMethod(*s) 10028 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10029} 10030 10031// GoogleCloudVisionV1p4beta1ImageProperties: Stores image properties, 10032// such as dominant colors. 10033type GoogleCloudVisionV1p4beta1ImageProperties struct { 10034 // DominantColors: If present, dominant colors completed successfully. 10035 DominantColors *GoogleCloudVisionV1p4beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 10036 10037 // ForceSendFields is a list of field names (e.g. "DominantColors") to 10038 // unconditionally include in API requests. By default, fields with 10039 // empty or default values are omitted from API requests. However, any 10040 // non-pointer, non-interface field appearing in ForceSendFields will be 10041 // sent to the server regardless of whether the field is empty or not. 10042 // This may be used to include empty fields in Patch requests. 10043 ForceSendFields []string `json:"-"` 10044 10045 // NullFields is a list of field names (e.g. "DominantColors") to 10046 // include in API requests with the JSON null value. By default, fields 10047 // with empty values are omitted from API requests. However, any field 10048 // with an empty value appearing in NullFields will be sent to the 10049 // server as null. It is an error if a field in this list has a 10050 // non-empty value. This may be used to include null fields in Patch 10051 // requests. 10052 NullFields []string `json:"-"` 10053} 10054 10055func (s *GoogleCloudVisionV1p4beta1ImageProperties) MarshalJSON() ([]byte, error) { 10056 type NoMethod GoogleCloudVisionV1p4beta1ImageProperties 10057 raw := NoMethod(*s) 10058 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10059} 10060 10061// GoogleCloudVisionV1p4beta1ImportProductSetsResponse: Response message 10062// for the `ImportProductSets` method. This message is returned by the 10063// google.longrunning.Operations.GetOperation method in the returned 10064// google.longrunning.Operation.response field. 10065type GoogleCloudVisionV1p4beta1ImportProductSetsResponse struct { 10066 // ReferenceImages: The list of reference_images that are imported 10067 // successfully. 10068 ReferenceImages []*GoogleCloudVisionV1p4beta1ReferenceImage `json:"referenceImages,omitempty"` 10069 10070 // Statuses: The rpc status for each ImportProductSet request, including 10071 // both successes and errors. The number of statuses here matches the 10072 // number of lines in the csv file, and statuses[i] stores the success 10073 // or failure status of processing the i-th line of the csv, starting 10074 // from line 0. 10075 Statuses []*Status `json:"statuses,omitempty"` 10076 10077 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 10078 // unconditionally include in API requests. By default, fields with 10079 // empty or default values are omitted from API requests. However, any 10080 // non-pointer, non-interface field appearing in ForceSendFields will be 10081 // sent to the server regardless of whether the field is empty or not. 10082 // This may be used to include empty fields in Patch requests. 10083 ForceSendFields []string `json:"-"` 10084 10085 // NullFields is a list of field names (e.g. "ReferenceImages") to 10086 // include in API requests with the JSON null value. By default, fields 10087 // with empty values are omitted from API requests. However, any field 10088 // with an empty value appearing in NullFields will be sent to the 10089 // server as null. It is an error if a field in this list has a 10090 // non-empty value. This may be used to include null fields in Patch 10091 // requests. 10092 NullFields []string `json:"-"` 10093} 10094 10095func (s *GoogleCloudVisionV1p4beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 10096 type NoMethod GoogleCloudVisionV1p4beta1ImportProductSetsResponse 10097 raw := NoMethod(*s) 10098 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10099} 10100 10101// GoogleCloudVisionV1p4beta1InputConfig: The desired input location and 10102// metadata. 10103type GoogleCloudVisionV1p4beta1InputConfig struct { 10104 // Content: File content, represented as a stream of bytes. Note: As 10105 // with all `bytes` fields, protobuffers use a pure binary 10106 // representation, whereas JSON representations use base64. Currently, 10107 // this field only works for BatchAnnotateFiles requests. It does not 10108 // work for AsyncBatchAnnotateFiles requests. 10109 Content string `json:"content,omitempty"` 10110 10111 // GcsSource: The Google Cloud Storage location to read the input from. 10112 GcsSource *GoogleCloudVisionV1p4beta1GcsSource `json:"gcsSource,omitempty"` 10113 10114 // MimeType: The type of the file. Currently only "application/pdf", 10115 // "image/tiff" and "image/gif" are supported. Wildcards are not 10116 // supported. 10117 MimeType string `json:"mimeType,omitempty"` 10118 10119 // ForceSendFields is a list of field names (e.g. "Content") to 10120 // unconditionally include in API requests. By default, fields with 10121 // empty or default values are omitted from API requests. However, any 10122 // non-pointer, non-interface field appearing in ForceSendFields will be 10123 // sent to the server regardless of whether the field is empty or not. 10124 // This may be used to include empty fields in Patch requests. 10125 ForceSendFields []string `json:"-"` 10126 10127 // NullFields is a list of field names (e.g. "Content") to include in 10128 // API requests with the JSON null value. By default, fields with empty 10129 // values are omitted from API requests. However, any field with an 10130 // empty value appearing in NullFields will be sent to the server as 10131 // null. It is an error if a field in this list has a non-empty value. 10132 // This may be used to include null fields in Patch requests. 10133 NullFields []string `json:"-"` 10134} 10135 10136func (s *GoogleCloudVisionV1p4beta1InputConfig) MarshalJSON() ([]byte, error) { 10137 type NoMethod GoogleCloudVisionV1p4beta1InputConfig 10138 raw := NoMethod(*s) 10139 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10140} 10141 10142// GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation: Set of detected 10143// objects with bounding boxes. 10144type GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation struct { 10145 // BoundingPoly: Image region to which this object belongs. This must be 10146 // populated. 10147 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10148 10149 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 10150 // For more information, see 10151 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 10152 LanguageCode string `json:"languageCode,omitempty"` 10153 10154 // Mid: Object ID that should align with EntityAnnotation mid. 10155 Mid string `json:"mid,omitempty"` 10156 10157 // Name: Object name, expressed in its `language_code` language. 10158 Name string `json:"name,omitempty"` 10159 10160 // Score: Score of the result. Range [0, 1]. 10161 Score float64 `json:"score,omitempty"` 10162 10163 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10164 // unconditionally include in API requests. By default, fields with 10165 // empty or default values are omitted from API requests. However, any 10166 // non-pointer, non-interface field appearing in ForceSendFields will be 10167 // sent to the server regardless of whether the field is empty or not. 10168 // This may be used to include empty fields in Patch requests. 10169 ForceSendFields []string `json:"-"` 10170 10171 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10172 // in API requests with the JSON null value. By default, fields with 10173 // empty values are omitted from API requests. However, any field with 10174 // an empty value appearing in NullFields will be sent to the server as 10175 // null. It is an error if a field in this list has a non-empty value. 10176 // This may be used to include null fields in Patch requests. 10177 NullFields []string `json:"-"` 10178} 10179 10180func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 10181 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 10182 raw := NoMethod(*s) 10183 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10184} 10185 10186func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 10187 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 10188 var s1 struct { 10189 Score gensupport.JSONFloat64 `json:"score"` 10190 *NoMethod 10191 } 10192 s1.NoMethod = (*NoMethod)(s) 10193 if err := json.Unmarshal(data, &s1); err != nil { 10194 return err 10195 } 10196 s.Score = float64(s1.Score) 10197 return nil 10198} 10199 10200// GoogleCloudVisionV1p4beta1LocationInfo: Detected entity location 10201// information. 10202type GoogleCloudVisionV1p4beta1LocationInfo struct { 10203 // LatLng: lat/long location coordinates. 10204 LatLng *LatLng `json:"latLng,omitempty"` 10205 10206 // ForceSendFields is a list of field names (e.g. "LatLng") to 10207 // unconditionally include in API requests. By default, fields with 10208 // empty or default values are omitted from API requests. However, any 10209 // non-pointer, non-interface field appearing in ForceSendFields will be 10210 // sent to the server regardless of whether the field is empty or not. 10211 // This may be used to include empty fields in Patch requests. 10212 ForceSendFields []string `json:"-"` 10213 10214 // NullFields is a list of field names (e.g. "LatLng") to include in API 10215 // requests with the JSON null value. By default, fields with empty 10216 // values are omitted from API requests. However, any field with an 10217 // empty value appearing in NullFields will be sent to the server as 10218 // null. It is an error if a field in this list has a non-empty value. 10219 // This may be used to include null fields in Patch requests. 10220 NullFields []string `json:"-"` 10221} 10222 10223func (s *GoogleCloudVisionV1p4beta1LocationInfo) MarshalJSON() ([]byte, error) { 10224 type NoMethod GoogleCloudVisionV1p4beta1LocationInfo 10225 raw := NoMethod(*s) 10226 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10227} 10228 10229// GoogleCloudVisionV1p4beta1NormalizedVertex: A vertex represents a 2D 10230// point in the image. NOTE: the normalized vertex coordinates are 10231// relative to the original image and range from 0 to 1. 10232type GoogleCloudVisionV1p4beta1NormalizedVertex struct { 10233 // X: X coordinate. 10234 X float64 `json:"x,omitempty"` 10235 10236 // Y: Y coordinate. 10237 Y float64 `json:"y,omitempty"` 10238 10239 // ForceSendFields is a list of field names (e.g. "X") to 10240 // unconditionally include in API requests. By default, fields with 10241 // empty or default values are omitted from API requests. However, any 10242 // non-pointer, non-interface field appearing in ForceSendFields will be 10243 // sent to the server regardless of whether the field is empty or not. 10244 // This may be used to include empty fields in Patch requests. 10245 ForceSendFields []string `json:"-"` 10246 10247 // NullFields is a list of field names (e.g. "X") to include in API 10248 // requests with the JSON null value. By default, fields with empty 10249 // values are omitted from API requests. However, any field with an 10250 // empty value appearing in NullFields will be sent to the server as 10251 // null. It is an error if a field in this list has a non-empty value. 10252 // This may be used to include null fields in Patch requests. 10253 NullFields []string `json:"-"` 10254} 10255 10256func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 10257 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 10258 raw := NoMethod(*s) 10259 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10260} 10261 10262func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 10263 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 10264 var s1 struct { 10265 X gensupport.JSONFloat64 `json:"x"` 10266 Y gensupport.JSONFloat64 `json:"y"` 10267 *NoMethod 10268 } 10269 s1.NoMethod = (*NoMethod)(s) 10270 if err := json.Unmarshal(data, &s1); err != nil { 10271 return err 10272 } 10273 s.X = float64(s1.X) 10274 s.Y = float64(s1.Y) 10275 return nil 10276} 10277 10278// GoogleCloudVisionV1p4beta1OperationMetadata: Contains metadata for 10279// the BatchAnnotateImages operation. 10280type GoogleCloudVisionV1p4beta1OperationMetadata struct { 10281 // CreateTime: The time when the batch request was received. 10282 CreateTime string `json:"createTime,omitempty"` 10283 10284 // State: Current state of the batch operation. 10285 // 10286 // Possible values: 10287 // "STATE_UNSPECIFIED" - Invalid. 10288 // "CREATED" - Request is received. 10289 // "RUNNING" - Request is actively being processed. 10290 // "DONE" - The batch processing is done. 10291 // "CANCELLED" - The batch processing was cancelled. 10292 State string `json:"state,omitempty"` 10293 10294 // UpdateTime: The time when the operation result was last updated. 10295 UpdateTime string `json:"updateTime,omitempty"` 10296 10297 // ForceSendFields is a list of field names (e.g. "CreateTime") to 10298 // unconditionally include in API requests. By default, fields with 10299 // empty or default values are omitted from API requests. However, any 10300 // non-pointer, non-interface field appearing in ForceSendFields will be 10301 // sent to the server regardless of whether the field is empty or not. 10302 // This may be used to include empty fields in Patch requests. 10303 ForceSendFields []string `json:"-"` 10304 10305 // NullFields is a list of field names (e.g. "CreateTime") to include in 10306 // API requests with the JSON null value. By default, fields with empty 10307 // values are omitted from API requests. However, any field with an 10308 // empty value appearing in NullFields will be sent to the server as 10309 // null. It is an error if a field in this list has a non-empty value. 10310 // This may be used to include null fields in Patch requests. 10311 NullFields []string `json:"-"` 10312} 10313 10314func (s *GoogleCloudVisionV1p4beta1OperationMetadata) MarshalJSON() ([]byte, error) { 10315 type NoMethod GoogleCloudVisionV1p4beta1OperationMetadata 10316 raw := NoMethod(*s) 10317 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10318} 10319 10320// GoogleCloudVisionV1p4beta1OutputConfig: The desired output location 10321// and metadata. 10322type GoogleCloudVisionV1p4beta1OutputConfig struct { 10323 // BatchSize: The max number of response protos to put into each output 10324 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 10325 // not specified, the default value is 20. For example, for one pdf file 10326 // with 100 pages, 100 response protos will be generated. If 10327 // `batch_size` = 20, then 5 json files each containing 20 response 10328 // protos will be written under the prefix `gcs_destination`.`uri`. 10329 // Currently, batch_size only applies to GcsDestination, with potential 10330 // future support for other output configurations. 10331 BatchSize int64 `json:"batchSize,omitempty"` 10332 10333 // GcsDestination: The Google Cloud Storage location to write the 10334 // output(s) to. 10335 GcsDestination *GoogleCloudVisionV1p4beta1GcsDestination `json:"gcsDestination,omitempty"` 10336 10337 // ForceSendFields is a list of field names (e.g. "BatchSize") to 10338 // unconditionally include in API requests. By default, fields with 10339 // empty or default values are omitted from API requests. However, any 10340 // non-pointer, non-interface field appearing in ForceSendFields will be 10341 // sent to the server regardless of whether the field is empty or not. 10342 // This may be used to include empty fields in Patch requests. 10343 ForceSendFields []string `json:"-"` 10344 10345 // NullFields is a list of field names (e.g. "BatchSize") to include in 10346 // API requests with the JSON null value. By default, fields with empty 10347 // values are omitted from API requests. However, any field with an 10348 // empty value appearing in NullFields will be sent to the server as 10349 // null. It is an error if a field in this list has a non-empty value. 10350 // This may be used to include null fields in Patch requests. 10351 NullFields []string `json:"-"` 10352} 10353 10354func (s *GoogleCloudVisionV1p4beta1OutputConfig) MarshalJSON() ([]byte, error) { 10355 type NoMethod GoogleCloudVisionV1p4beta1OutputConfig 10356 raw := NoMethod(*s) 10357 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10358} 10359 10360// GoogleCloudVisionV1p4beta1Page: Detected page from OCR. 10361type GoogleCloudVisionV1p4beta1Page struct { 10362 // Blocks: List of blocks of text, images etc on this page. 10363 Blocks []*GoogleCloudVisionV1p4beta1Block `json:"blocks,omitempty"` 10364 10365 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 10366 Confidence float64 `json:"confidence,omitempty"` 10367 10368 // Height: Page height. For PDFs the unit is points. For images 10369 // (including TIFFs) the unit is pixels. 10370 Height int64 `json:"height,omitempty"` 10371 10372 // Property: Additional information detected on the page. 10373 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 10374 10375 // Width: Page width. For PDFs the unit is points. For images (including 10376 // TIFFs) the unit is pixels. 10377 Width int64 `json:"width,omitempty"` 10378 10379 // ForceSendFields is a list of field names (e.g. "Blocks") to 10380 // unconditionally include in API requests. By default, fields with 10381 // empty or default values are omitted from API requests. However, any 10382 // non-pointer, non-interface field appearing in ForceSendFields will be 10383 // sent to the server regardless of whether the field is empty or not. 10384 // This may be used to include empty fields in Patch requests. 10385 ForceSendFields []string `json:"-"` 10386 10387 // NullFields is a list of field names (e.g. "Blocks") to include in API 10388 // requests with the JSON null value. By default, fields with empty 10389 // values are omitted from API requests. However, any field with an 10390 // empty value appearing in NullFields will be sent to the server as 10391 // null. It is an error if a field in this list has a non-empty value. 10392 // This may be used to include null fields in Patch requests. 10393 NullFields []string `json:"-"` 10394} 10395 10396func (s *GoogleCloudVisionV1p4beta1Page) MarshalJSON() ([]byte, error) { 10397 type NoMethod GoogleCloudVisionV1p4beta1Page 10398 raw := NoMethod(*s) 10399 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10400} 10401 10402func (s *GoogleCloudVisionV1p4beta1Page) UnmarshalJSON(data []byte) error { 10403 type NoMethod GoogleCloudVisionV1p4beta1Page 10404 var s1 struct { 10405 Confidence gensupport.JSONFloat64 `json:"confidence"` 10406 *NoMethod 10407 } 10408 s1.NoMethod = (*NoMethod)(s) 10409 if err := json.Unmarshal(data, &s1); err != nil { 10410 return err 10411 } 10412 s.Confidence = float64(s1.Confidence) 10413 return nil 10414} 10415 10416// GoogleCloudVisionV1p4beta1Paragraph: Structural unit of text 10417// representing a number of words in certain order. 10418type GoogleCloudVisionV1p4beta1Paragraph struct { 10419 // BoundingBox: The bounding box for the paragraph. The vertices are in 10420 // the order of top-left, top-right, bottom-right, bottom-left. When a 10421 // rotation of the bounding box is detected the rotation is represented 10422 // as around the top-left corner as defined when the text is read in the 10423 // 'natural' orientation. For example: * when the text is horizontal it 10424 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 10425 // around the top-left corner it becomes: 2----3 | | 1----0 and the 10426 // vertex order will still be (0, 1, 2, 3). 10427 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 10428 10429 // Confidence: Confidence of the OCR results for the paragraph. Range 10430 // [0, 1]. 10431 Confidence float64 `json:"confidence,omitempty"` 10432 10433 // Property: Additional information detected for the paragraph. 10434 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 10435 10436 // Words: List of all words in this paragraph. 10437 Words []*GoogleCloudVisionV1p4beta1Word `json:"words,omitempty"` 10438 10439 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 10440 // unconditionally include in API requests. By default, fields with 10441 // empty or default values are omitted from API requests. However, any 10442 // non-pointer, non-interface field appearing in ForceSendFields will be 10443 // sent to the server regardless of whether the field is empty or not. 10444 // This may be used to include empty fields in Patch requests. 10445 ForceSendFields []string `json:"-"` 10446 10447 // NullFields is a list of field names (e.g. "BoundingBox") to include 10448 // in API requests with the JSON null value. By default, fields with 10449 // empty values are omitted from API requests. However, any field with 10450 // an empty value appearing in NullFields will be sent to the server as 10451 // null. It is an error if a field in this list has a non-empty value. 10452 // This may be used to include null fields in Patch requests. 10453 NullFields []string `json:"-"` 10454} 10455 10456func (s *GoogleCloudVisionV1p4beta1Paragraph) MarshalJSON() ([]byte, error) { 10457 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 10458 raw := NoMethod(*s) 10459 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10460} 10461 10462func (s *GoogleCloudVisionV1p4beta1Paragraph) UnmarshalJSON(data []byte) error { 10463 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 10464 var s1 struct { 10465 Confidence gensupport.JSONFloat64 `json:"confidence"` 10466 *NoMethod 10467 } 10468 s1.NoMethod = (*NoMethod)(s) 10469 if err := json.Unmarshal(data, &s1); err != nil { 10470 return err 10471 } 10472 s.Confidence = float64(s1.Confidence) 10473 return nil 10474} 10475 10476// GoogleCloudVisionV1p4beta1Position: A 3D position in the image, used 10477// primarily for Face detection landmarks. A valid Position must have 10478// both x and y coordinates. The position coordinates are in the same 10479// scale as the original image. 10480type GoogleCloudVisionV1p4beta1Position struct { 10481 // X: X coordinate. 10482 X float64 `json:"x,omitempty"` 10483 10484 // Y: Y coordinate. 10485 Y float64 `json:"y,omitempty"` 10486 10487 // Z: Z coordinate (or depth). 10488 Z float64 `json:"z,omitempty"` 10489 10490 // ForceSendFields is a list of field names (e.g. "X") to 10491 // unconditionally include in API requests. By default, fields with 10492 // empty or default values are omitted from API requests. However, any 10493 // non-pointer, non-interface field appearing in ForceSendFields will be 10494 // sent to the server regardless of whether the field is empty or not. 10495 // This may be used to include empty fields in Patch requests. 10496 ForceSendFields []string `json:"-"` 10497 10498 // NullFields is a list of field names (e.g. "X") to include in API 10499 // requests with the JSON null value. By default, fields with empty 10500 // values are omitted from API requests. However, any field with an 10501 // empty value appearing in NullFields will be sent to the server as 10502 // null. It is an error if a field in this list has a non-empty value. 10503 // This may be used to include null fields in Patch requests. 10504 NullFields []string `json:"-"` 10505} 10506 10507func (s *GoogleCloudVisionV1p4beta1Position) MarshalJSON() ([]byte, error) { 10508 type NoMethod GoogleCloudVisionV1p4beta1Position 10509 raw := NoMethod(*s) 10510 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10511} 10512 10513func (s *GoogleCloudVisionV1p4beta1Position) UnmarshalJSON(data []byte) error { 10514 type NoMethod GoogleCloudVisionV1p4beta1Position 10515 var s1 struct { 10516 X gensupport.JSONFloat64 `json:"x"` 10517 Y gensupport.JSONFloat64 `json:"y"` 10518 Z gensupport.JSONFloat64 `json:"z"` 10519 *NoMethod 10520 } 10521 s1.NoMethod = (*NoMethod)(s) 10522 if err := json.Unmarshal(data, &s1); err != nil { 10523 return err 10524 } 10525 s.X = float64(s1.X) 10526 s.Y = float64(s1.Y) 10527 s.Z = float64(s1.Z) 10528 return nil 10529} 10530 10531// GoogleCloudVisionV1p4beta1Product: A Product contains 10532// ReferenceImages. 10533type GoogleCloudVisionV1p4beta1Product struct { 10534 // Description: User-provided metadata to be stored with this product. 10535 // Must be at most 4096 characters long. 10536 Description string `json:"description,omitempty"` 10537 10538 // DisplayName: The user-provided name for this Product. Must not be 10539 // empty. Must be at most 4096 characters long. 10540 DisplayName string `json:"displayName,omitempty"` 10541 10542 // Name: The resource name of the product. Format is: 10543 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 10544 // field is ignored when creating a product. 10545 Name string `json:"name,omitempty"` 10546 10547 // ProductCategory: Immutable. The category for the product identified 10548 // by the reference image. This should be one of "homegoods-v2", 10549 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 10550 // legacy categories "homegoods", "apparel", and "toys" are still 10551 // supported, but these should not be used for new products. 10552 ProductCategory string `json:"productCategory,omitempty"` 10553 10554 // ProductLabels: Key-value pairs that can be attached to a product. At 10555 // query time, constraints can be specified based on the product_labels. 10556 // Note that integer values can be provided as strings, e.g. "1199". 10557 // Only strings with integer values can match a range-based restriction 10558 // which is to be supported soon. Multiple values can be assigned to the 10559 // same key. One product may have up to 500 product_labels. Notice that 10560 // the total number of distinct product_labels over all products in one 10561 // ProductSet cannot exceed 1M, otherwise the product search pipeline 10562 // will refuse to work for that ProductSet. 10563 ProductLabels []*GoogleCloudVisionV1p4beta1ProductKeyValue `json:"productLabels,omitempty"` 10564 10565 // ForceSendFields is a list of field names (e.g. "Description") to 10566 // unconditionally include in API requests. By default, fields with 10567 // empty or default values are omitted from API requests. However, any 10568 // non-pointer, non-interface field appearing in ForceSendFields will be 10569 // sent to the server regardless of whether the field is empty or not. 10570 // This may be used to include empty fields in Patch requests. 10571 ForceSendFields []string `json:"-"` 10572 10573 // NullFields is a list of field names (e.g. "Description") to include 10574 // in API requests with the JSON null value. By default, fields with 10575 // empty values are omitted from API requests. However, any field with 10576 // an empty value appearing in NullFields will be sent to the server as 10577 // null. It is an error if a field in this list has a non-empty value. 10578 // This may be used to include null fields in Patch requests. 10579 NullFields []string `json:"-"` 10580} 10581 10582func (s *GoogleCloudVisionV1p4beta1Product) MarshalJSON() ([]byte, error) { 10583 type NoMethod GoogleCloudVisionV1p4beta1Product 10584 raw := NoMethod(*s) 10585 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10586} 10587 10588// GoogleCloudVisionV1p4beta1ProductKeyValue: A product label 10589// represented as a key-value pair. 10590type GoogleCloudVisionV1p4beta1ProductKeyValue struct { 10591 // Key: The key of the label attached to the product. Cannot be empty 10592 // and cannot exceed 128 bytes. 10593 Key string `json:"key,omitempty"` 10594 10595 // Value: The value of the label attached to the product. Cannot be 10596 // empty and cannot exceed 128 bytes. 10597 Value string `json:"value,omitempty"` 10598 10599 // ForceSendFields is a list of field names (e.g. "Key") to 10600 // unconditionally include in API requests. By default, fields with 10601 // empty or default values are omitted from API requests. However, any 10602 // non-pointer, non-interface field appearing in ForceSendFields will be 10603 // sent to the server regardless of whether the field is empty or not. 10604 // This may be used to include empty fields in Patch requests. 10605 ForceSendFields []string `json:"-"` 10606 10607 // NullFields is a list of field names (e.g. "Key") to include in API 10608 // requests with the JSON null value. By default, fields with empty 10609 // values are omitted from API requests. However, any field with an 10610 // empty value appearing in NullFields will be sent to the server as 10611 // null. It is an error if a field in this list has a non-empty value. 10612 // This may be used to include null fields in Patch requests. 10613 NullFields []string `json:"-"` 10614} 10615 10616func (s *GoogleCloudVisionV1p4beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 10617 type NoMethod GoogleCloudVisionV1p4beta1ProductKeyValue 10618 raw := NoMethod(*s) 10619 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10620} 10621 10622// GoogleCloudVisionV1p4beta1ProductSearchResults: Results for a product 10623// search request. 10624type GoogleCloudVisionV1p4beta1ProductSearchResults struct { 10625 // IndexTime: Timestamp of the index which provided these results. 10626 // Products added to the product set and products removed from the 10627 // product set after this time are not reflected in the current results. 10628 IndexTime string `json:"indexTime,omitempty"` 10629 10630 // ProductGroupedResults: List of results grouped by products detected 10631 // in the query image. Each entry corresponds to one bounding polygon in 10632 // the query image, and contains the matching products specific to that 10633 // region. There may be duplicate product matches in the union of all 10634 // the per-product results. 10635 ProductGroupedResults []*GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 10636 10637 // Results: List of results, one for each product match. 10638 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 10639 10640 // ForceSendFields is a list of field names (e.g. "IndexTime") to 10641 // unconditionally include in API requests. By default, fields with 10642 // empty or default values are omitted from API requests. However, any 10643 // non-pointer, non-interface field appearing in ForceSendFields will be 10644 // sent to the server regardless of whether the field is empty or not. 10645 // This may be used to include empty fields in Patch requests. 10646 ForceSendFields []string `json:"-"` 10647 10648 // NullFields is a list of field names (e.g. "IndexTime") to include in 10649 // API requests with the JSON null value. By default, fields with empty 10650 // values are omitted from API requests. However, any field with an 10651 // empty value appearing in NullFields will be sent to the server as 10652 // null. It is an error if a field in this list has a non-empty value. 10653 // This may be used to include null fields in Patch requests. 10654 NullFields []string `json:"-"` 10655} 10656 10657func (s *GoogleCloudVisionV1p4beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 10658 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResults 10659 raw := NoMethod(*s) 10660 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10661} 10662 10663// GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult: 10664// Information about the products similar to a single product in a query 10665// image. 10666type GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult struct { 10667 // BoundingPoly: The bounding polygon around the product detected in the 10668 // query image. 10669 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10670 10671 // ObjectAnnotations: List of generic predictions for the object in the 10672 // bounding box. 10673 ObjectAnnotations []*GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 10674 10675 // Results: List of results, one for each product match. 10676 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 10677 10678 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10679 // unconditionally include in API requests. By default, fields with 10680 // empty or default values are omitted from API requests. However, any 10681 // non-pointer, non-interface field appearing in ForceSendFields will be 10682 // sent to the server regardless of whether the field is empty or not. 10683 // This may be used to include empty fields in Patch requests. 10684 ForceSendFields []string `json:"-"` 10685 10686 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10687 // in API requests with the JSON null value. By default, fields with 10688 // empty values are omitted from API requests. However, any field with 10689 // an empty value appearing in NullFields will be sent to the server as 10690 // null. It is an error if a field in this list has a non-empty value. 10691 // This may be used to include null fields in Patch requests. 10692 NullFields []string `json:"-"` 10693} 10694 10695func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 10696 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult 10697 raw := NoMethod(*s) 10698 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10699} 10700 10701// GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation: 10702// Prediction for what the object in the bounding box is. 10703type GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation struct { 10704 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 10705 // For more information, see 10706 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 10707 LanguageCode string `json:"languageCode,omitempty"` 10708 10709 // Mid: Object ID that should align with EntityAnnotation mid. 10710 Mid string `json:"mid,omitempty"` 10711 10712 // Name: Object name, expressed in its `language_code` language. 10713 Name string `json:"name,omitempty"` 10714 10715 // Score: Score of the result. Range [0, 1]. 10716 Score float64 `json:"score,omitempty"` 10717 10718 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 10719 // unconditionally include in API requests. By default, fields with 10720 // empty or default values are omitted from API requests. However, any 10721 // non-pointer, non-interface field appearing in ForceSendFields will be 10722 // sent to the server regardless of whether the field is empty or not. 10723 // This may be used to include empty fields in Patch requests. 10724 ForceSendFields []string `json:"-"` 10725 10726 // NullFields is a list of field names (e.g. "LanguageCode") to include 10727 // in API requests with the JSON null value. By default, fields with 10728 // empty values are omitted from API requests. However, any field with 10729 // an empty value appearing in NullFields will be sent to the server as 10730 // null. It is an error if a field in this list has a non-empty value. 10731 // This may be used to include null fields in Patch requests. 10732 NullFields []string `json:"-"` 10733} 10734 10735func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 10736 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 10737 raw := NoMethod(*s) 10738 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10739} 10740 10741func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 10742 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 10743 var s1 struct { 10744 Score gensupport.JSONFloat64 `json:"score"` 10745 *NoMethod 10746 } 10747 s1.NoMethod = (*NoMethod)(s) 10748 if err := json.Unmarshal(data, &s1); err != nil { 10749 return err 10750 } 10751 s.Score = float64(s1.Score) 10752 return nil 10753} 10754 10755// GoogleCloudVisionV1p4beta1ProductSearchResultsResult: Information 10756// about a product. 10757type GoogleCloudVisionV1p4beta1ProductSearchResultsResult struct { 10758 // Image: The resource name of the image from the product that is the 10759 // closest match to the query. 10760 Image string `json:"image,omitempty"` 10761 10762 // Product: The Product. 10763 Product *GoogleCloudVisionV1p4beta1Product `json:"product,omitempty"` 10764 10765 // Score: A confidence level on the match, ranging from 0 (no 10766 // confidence) to 1 (full confidence). 10767 Score float64 `json:"score,omitempty"` 10768 10769 // ForceSendFields is a list of field names (e.g. "Image") to 10770 // unconditionally include in API requests. By default, fields with 10771 // empty or default values are omitted from API requests. However, any 10772 // non-pointer, non-interface field appearing in ForceSendFields will be 10773 // sent to the server regardless of whether the field is empty or not. 10774 // This may be used to include empty fields in Patch requests. 10775 ForceSendFields []string `json:"-"` 10776 10777 // NullFields is a list of field names (e.g. "Image") to include in API 10778 // requests with the JSON null value. By default, fields with empty 10779 // values are omitted from API requests. However, any field with an 10780 // empty value appearing in NullFields will be sent to the server as 10781 // null. It is an error if a field in this list has a non-empty value. 10782 // This may be used to include null fields in Patch requests. 10783 NullFields []string `json:"-"` 10784} 10785 10786func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 10787 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 10788 raw := NoMethod(*s) 10789 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10790} 10791 10792func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 10793 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 10794 var s1 struct { 10795 Score gensupport.JSONFloat64 `json:"score"` 10796 *NoMethod 10797 } 10798 s1.NoMethod = (*NoMethod)(s) 10799 if err := json.Unmarshal(data, &s1); err != nil { 10800 return err 10801 } 10802 s.Score = float64(s1.Score) 10803 return nil 10804} 10805 10806// GoogleCloudVisionV1p4beta1Property: A `Property` consists of a 10807// user-supplied name/value pair. 10808type GoogleCloudVisionV1p4beta1Property struct { 10809 // Name: Name of the property. 10810 Name string `json:"name,omitempty"` 10811 10812 // Uint64Value: Value of numeric properties. 10813 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 10814 10815 // Value: Value of the property. 10816 Value string `json:"value,omitempty"` 10817 10818 // ForceSendFields is a list of field names (e.g. "Name") to 10819 // unconditionally include in API requests. By default, fields with 10820 // empty or default values are omitted from API requests. However, any 10821 // non-pointer, non-interface field appearing in ForceSendFields will be 10822 // sent to the server regardless of whether the field is empty or not. 10823 // This may be used to include empty fields in Patch requests. 10824 ForceSendFields []string `json:"-"` 10825 10826 // NullFields is a list of field names (e.g. "Name") to include in API 10827 // requests with the JSON null value. By default, fields with empty 10828 // values are omitted from API requests. However, any field with an 10829 // empty value appearing in NullFields will be sent to the server as 10830 // null. It is an error if a field in this list has a non-empty value. 10831 // This may be used to include null fields in Patch requests. 10832 NullFields []string `json:"-"` 10833} 10834 10835func (s *GoogleCloudVisionV1p4beta1Property) MarshalJSON() ([]byte, error) { 10836 type NoMethod GoogleCloudVisionV1p4beta1Property 10837 raw := NoMethod(*s) 10838 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10839} 10840 10841// GoogleCloudVisionV1p4beta1ReferenceImage: A `ReferenceImage` 10842// represents a product image and its associated metadata, such as 10843// bounding boxes. 10844type GoogleCloudVisionV1p4beta1ReferenceImage struct { 10845 // BoundingPolys: Optional. Bounding polygons around the areas of 10846 // interest in the reference image. If this field is empty, the system 10847 // will try to detect regions of interest. At most 10 bounding polygons 10848 // will be used. The provided shape is converted into a non-rotated 10849 // rectangle. Once converted, the small edge of the rectangle must be 10850 // greater than or equal to 300 pixels. The aspect ratio must be 1:4 or 10851 // less (i.e. 1:3 is ok; 1:5 is not). 10852 BoundingPolys []*GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPolys,omitempty"` 10853 10854 // Name: The resource name of the reference image. Format is: 10855 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceIma 10856 // ges/IMAGE_ID`. This field is ignored when creating a reference image. 10857 Name string `json:"name,omitempty"` 10858 10859 // Uri: Required. The Google Cloud Storage URI of the reference image. 10860 // The URI must start with `gs://`. 10861 Uri string `json:"uri,omitempty"` 10862 10863 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 10864 // unconditionally include in API requests. By default, fields with 10865 // empty or default values are omitted from API requests. However, any 10866 // non-pointer, non-interface field appearing in ForceSendFields will be 10867 // sent to the server regardless of whether the field is empty or not. 10868 // This may be used to include empty fields in Patch requests. 10869 ForceSendFields []string `json:"-"` 10870 10871 // NullFields is a list of field names (e.g. "BoundingPolys") to include 10872 // in API requests with the JSON null value. By default, fields with 10873 // empty values are omitted from API requests. However, any field with 10874 // an empty value appearing in NullFields will be sent to the server as 10875 // null. It is an error if a field in this list has a non-empty value. 10876 // This may be used to include null fields in Patch requests. 10877 NullFields []string `json:"-"` 10878} 10879 10880func (s *GoogleCloudVisionV1p4beta1ReferenceImage) MarshalJSON() ([]byte, error) { 10881 type NoMethod GoogleCloudVisionV1p4beta1ReferenceImage 10882 raw := NoMethod(*s) 10883 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10884} 10885 10886// GoogleCloudVisionV1p4beta1SafeSearchAnnotation: Set of features 10887// pertaining to the image, computed by computer vision methods over 10888// safe-search verticals (for example, adult, spoof, medical, violence). 10889type GoogleCloudVisionV1p4beta1SafeSearchAnnotation struct { 10890 // Adult: Represents the adult content likelihood for the image. Adult 10891 // content may contain elements such as nudity, pornographic images or 10892 // cartoons, or sexual activities. 10893 // 10894 // Possible values: 10895 // "UNKNOWN" - Unknown likelihood. 10896 // "VERY_UNLIKELY" - It is very unlikely. 10897 // "UNLIKELY" - It is unlikely. 10898 // "POSSIBLE" - It is possible. 10899 // "LIKELY" - It is likely. 10900 // "VERY_LIKELY" - It is very likely. 10901 Adult string `json:"adult,omitempty"` 10902 10903 // Medical: Likelihood that this is a medical image. 10904 // 10905 // Possible values: 10906 // "UNKNOWN" - Unknown likelihood. 10907 // "VERY_UNLIKELY" - It is very unlikely. 10908 // "UNLIKELY" - It is unlikely. 10909 // "POSSIBLE" - It is possible. 10910 // "LIKELY" - It is likely. 10911 // "VERY_LIKELY" - It is very likely. 10912 Medical string `json:"medical,omitempty"` 10913 10914 // Racy: Likelihood that the request image contains racy content. Racy 10915 // content may include (but is not limited to) skimpy or sheer clothing, 10916 // strategically covered nudity, lewd or provocative poses, or close-ups 10917 // of sensitive body areas. 10918 // 10919 // Possible values: 10920 // "UNKNOWN" - Unknown likelihood. 10921 // "VERY_UNLIKELY" - It is very unlikely. 10922 // "UNLIKELY" - It is unlikely. 10923 // "POSSIBLE" - It is possible. 10924 // "LIKELY" - It is likely. 10925 // "VERY_LIKELY" - It is very likely. 10926 Racy string `json:"racy,omitempty"` 10927 10928 // Spoof: Spoof likelihood. The likelihood that an modification was made 10929 // to the image's canonical version to make it appear funny or 10930 // offensive. 10931 // 10932 // Possible values: 10933 // "UNKNOWN" - Unknown likelihood. 10934 // "VERY_UNLIKELY" - It is very unlikely. 10935 // "UNLIKELY" - It is unlikely. 10936 // "POSSIBLE" - It is possible. 10937 // "LIKELY" - It is likely. 10938 // "VERY_LIKELY" - It is very likely. 10939 Spoof string `json:"spoof,omitempty"` 10940 10941 // Violence: Likelihood that this image contains violent content. 10942 // 10943 // Possible values: 10944 // "UNKNOWN" - Unknown likelihood. 10945 // "VERY_UNLIKELY" - It is very unlikely. 10946 // "UNLIKELY" - It is unlikely. 10947 // "POSSIBLE" - It is possible. 10948 // "LIKELY" - It is likely. 10949 // "VERY_LIKELY" - It is very likely. 10950 Violence string `json:"violence,omitempty"` 10951 10952 // ForceSendFields is a list of field names (e.g. "Adult") to 10953 // unconditionally include in API requests. By default, fields with 10954 // empty or default values are omitted from API requests. However, any 10955 // non-pointer, non-interface field appearing in ForceSendFields will be 10956 // sent to the server regardless of whether the field is empty or not. 10957 // This may be used to include empty fields in Patch requests. 10958 ForceSendFields []string `json:"-"` 10959 10960 // NullFields is a list of field names (e.g. "Adult") to include in API 10961 // requests with the JSON null value. By default, fields with empty 10962 // values are omitted from API requests. However, any field with an 10963 // empty value appearing in NullFields will be sent to the server as 10964 // null. It is an error if a field in this list has a non-empty value. 10965 // This may be used to include null fields in Patch requests. 10966 NullFields []string `json:"-"` 10967} 10968 10969func (s *GoogleCloudVisionV1p4beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 10970 type NoMethod GoogleCloudVisionV1p4beta1SafeSearchAnnotation 10971 raw := NoMethod(*s) 10972 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10973} 10974 10975// GoogleCloudVisionV1p4beta1Symbol: A single symbol representation. 10976type GoogleCloudVisionV1p4beta1Symbol struct { 10977 // BoundingBox: The bounding box for the symbol. The vertices are in the 10978 // order of top-left, top-right, bottom-right, bottom-left. When a 10979 // rotation of the bounding box is detected the rotation is represented 10980 // as around the top-left corner as defined when the text is read in the 10981 // 'natural' orientation. For example: * when the text is horizontal it 10982 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 10983 // around the top-left corner it becomes: 2----3 | | 1----0 and the 10984 // vertex order will still be (0, 1, 2, 3). 10985 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 10986 10987 // Confidence: Confidence of the OCR results for the symbol. Range [0, 10988 // 1]. 10989 Confidence float64 `json:"confidence,omitempty"` 10990 10991 // Property: Additional information detected for the symbol. 10992 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 10993 10994 // Text: The actual UTF-8 representation of the symbol. 10995 Text string `json:"text,omitempty"` 10996 10997 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 10998 // unconditionally include in API requests. By default, fields with 10999 // empty or default values are omitted from API requests. However, any 11000 // non-pointer, non-interface field appearing in ForceSendFields will be 11001 // sent to the server regardless of whether the field is empty or not. 11002 // This may be used to include empty fields in Patch requests. 11003 ForceSendFields []string `json:"-"` 11004 11005 // NullFields is a list of field names (e.g. "BoundingBox") to include 11006 // in API requests with the JSON null value. By default, fields with 11007 // empty values are omitted from API requests. However, any field with 11008 // an empty value appearing in NullFields will be sent to the server as 11009 // null. It is an error if a field in this list has a non-empty value. 11010 // This may be used to include null fields in Patch requests. 11011 NullFields []string `json:"-"` 11012} 11013 11014func (s *GoogleCloudVisionV1p4beta1Symbol) MarshalJSON() ([]byte, error) { 11015 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11016 raw := NoMethod(*s) 11017 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11018} 11019 11020func (s *GoogleCloudVisionV1p4beta1Symbol) UnmarshalJSON(data []byte) error { 11021 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11022 var s1 struct { 11023 Confidence gensupport.JSONFloat64 `json:"confidence"` 11024 *NoMethod 11025 } 11026 s1.NoMethod = (*NoMethod)(s) 11027 if err := json.Unmarshal(data, &s1); err != nil { 11028 return err 11029 } 11030 s.Confidence = float64(s1.Confidence) 11031 return nil 11032} 11033 11034// GoogleCloudVisionV1p4beta1TextAnnotation: TextAnnotation contains a 11035// structured representation of OCR extracted text. The hierarchy of an 11036// OCR extracted text structure is like this: TextAnnotation -> Page -> 11037// Block -> Paragraph -> Word -> Symbol Each structural component, 11038// starting from Page, may further have their own properties. Properties 11039// describe detected languages, breaks etc.. Please refer to the 11040// TextAnnotation.TextProperty message definition below for more detail. 11041type GoogleCloudVisionV1p4beta1TextAnnotation struct { 11042 // Pages: List of pages detected by OCR. 11043 Pages []*GoogleCloudVisionV1p4beta1Page `json:"pages,omitempty"` 11044 11045 // Text: UTF-8 text detected on the pages. 11046 Text string `json:"text,omitempty"` 11047 11048 // ForceSendFields is a list of field names (e.g. "Pages") to 11049 // unconditionally include in API requests. By default, fields with 11050 // empty or default values are omitted from API requests. However, any 11051 // non-pointer, non-interface field appearing in ForceSendFields will be 11052 // sent to the server regardless of whether the field is empty or not. 11053 // This may be used to include empty fields in Patch requests. 11054 ForceSendFields []string `json:"-"` 11055 11056 // NullFields is a list of field names (e.g. "Pages") to include in API 11057 // requests with the JSON null value. By default, fields with empty 11058 // values are omitted from API requests. However, any field with an 11059 // empty value appearing in NullFields will be sent to the server as 11060 // null. It is an error if a field in this list has a non-empty value. 11061 // This may be used to include null fields in Patch requests. 11062 NullFields []string `json:"-"` 11063} 11064 11065func (s *GoogleCloudVisionV1p4beta1TextAnnotation) MarshalJSON() ([]byte, error) { 11066 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotation 11067 raw := NoMethod(*s) 11068 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11069} 11070 11071// GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak: Detected start 11072// or end of a structural component. 11073type GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak struct { 11074 // IsPrefix: True if break prepends the element. 11075 IsPrefix bool `json:"isPrefix,omitempty"` 11076 11077 // Type: Detected break type. 11078 // 11079 // Possible values: 11080 // "UNKNOWN" - Unknown break label type. 11081 // "SPACE" - Regular space. 11082 // "SURE_SPACE" - Sure space (very wide). 11083 // "EOL_SURE_SPACE" - Line-wrapping break. 11084 // "HYPHEN" - End-line hyphen that is not present in text; does not 11085 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 11086 // "LINE_BREAK" - Line break that ends a paragraph. 11087 Type string `json:"type,omitempty"` 11088 11089 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 11090 // unconditionally include in API requests. By default, fields with 11091 // empty or default values are omitted from API requests. However, any 11092 // non-pointer, non-interface field appearing in ForceSendFields will be 11093 // sent to the server regardless of whether the field is empty or not. 11094 // This may be used to include empty fields in Patch requests. 11095 ForceSendFields []string `json:"-"` 11096 11097 // NullFields is a list of field names (e.g. "IsPrefix") to include in 11098 // API requests with the JSON null value. By default, fields with empty 11099 // values are omitted from API requests. However, any field with an 11100 // empty value appearing in NullFields will be sent to the server as 11101 // null. It is an error if a field in this list has a non-empty value. 11102 // This may be used to include null fields in Patch requests. 11103 NullFields []string `json:"-"` 11104} 11105 11106func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 11107 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak 11108 raw := NoMethod(*s) 11109 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11110} 11111 11112// GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage: Detected 11113// language for a structural component. 11114type GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage struct { 11115 // Confidence: Confidence of detected language. Range [0, 1]. 11116 Confidence float64 `json:"confidence,omitempty"` 11117 11118 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 11119 // For more information, see 11120 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 11121 LanguageCode string `json:"languageCode,omitempty"` 11122 11123 // ForceSendFields is a list of field names (e.g. "Confidence") to 11124 // unconditionally include in API requests. By default, fields with 11125 // empty or default values are omitted from API requests. However, any 11126 // non-pointer, non-interface field appearing in ForceSendFields will be 11127 // sent to the server regardless of whether the field is empty or not. 11128 // This may be used to include empty fields in Patch requests. 11129 ForceSendFields []string `json:"-"` 11130 11131 // NullFields is a list of field names (e.g. "Confidence") to include in 11132 // API requests with the JSON null value. By default, fields with empty 11133 // values are omitted from API requests. However, any field with an 11134 // empty value appearing in NullFields will be sent to the server as 11135 // null. It is an error if a field in this list has a non-empty value. 11136 // This may be used to include null fields in Patch requests. 11137 NullFields []string `json:"-"` 11138} 11139 11140func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 11141 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 11142 raw := NoMethod(*s) 11143 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11144} 11145 11146func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 11147 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 11148 var s1 struct { 11149 Confidence gensupport.JSONFloat64 `json:"confidence"` 11150 *NoMethod 11151 } 11152 s1.NoMethod = (*NoMethod)(s) 11153 if err := json.Unmarshal(data, &s1); err != nil { 11154 return err 11155 } 11156 s.Confidence = float64(s1.Confidence) 11157 return nil 11158} 11159 11160// GoogleCloudVisionV1p4beta1TextAnnotationTextProperty: Additional 11161// information detected on the structural component. 11162type GoogleCloudVisionV1p4beta1TextAnnotationTextProperty struct { 11163 // DetectedBreak: Detected start or end of a text segment. 11164 DetectedBreak *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 11165 11166 // DetectedLanguages: A list of detected languages together with 11167 // confidence. 11168 DetectedLanguages []*GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 11169 11170 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 11171 // unconditionally include in API requests. By default, fields with 11172 // empty or default values are omitted from API requests. However, any 11173 // non-pointer, non-interface field appearing in ForceSendFields will be 11174 // sent to the server regardless of whether the field is empty or not. 11175 // This may be used to include empty fields in Patch requests. 11176 ForceSendFields []string `json:"-"` 11177 11178 // NullFields is a list of field names (e.g. "DetectedBreak") to include 11179 // in API requests with the JSON null value. By default, fields with 11180 // empty values are omitted from API requests. However, any field with 11181 // an empty value appearing in NullFields will be sent to the server as 11182 // null. It is an error if a field in this list has a non-empty value. 11183 // This may be used to include null fields in Patch requests. 11184 NullFields []string `json:"-"` 11185} 11186 11187func (s *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 11188 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationTextProperty 11189 raw := NoMethod(*s) 11190 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11191} 11192 11193// GoogleCloudVisionV1p4beta1Vertex: A vertex represents a 2D point in 11194// the image. NOTE: the vertex coordinates are in the same scale as the 11195// original image. 11196type GoogleCloudVisionV1p4beta1Vertex struct { 11197 // X: X coordinate. 11198 X int64 `json:"x,omitempty"` 11199 11200 // Y: Y coordinate. 11201 Y int64 `json:"y,omitempty"` 11202 11203 // ForceSendFields is a list of field names (e.g. "X") to 11204 // unconditionally include in API requests. By default, fields with 11205 // empty or default values are omitted from API requests. However, any 11206 // non-pointer, non-interface field appearing in ForceSendFields will be 11207 // sent to the server regardless of whether the field is empty or not. 11208 // This may be used to include empty fields in Patch requests. 11209 ForceSendFields []string `json:"-"` 11210 11211 // NullFields is a list of field names (e.g. "X") to include in API 11212 // requests with the JSON null value. By default, fields with empty 11213 // values are omitted from API requests. However, any field with an 11214 // empty value appearing in NullFields will be sent to the server as 11215 // null. It is an error if a field in this list has a non-empty value. 11216 // This may be used to include null fields in Patch requests. 11217 NullFields []string `json:"-"` 11218} 11219 11220func (s *GoogleCloudVisionV1p4beta1Vertex) MarshalJSON() ([]byte, error) { 11221 type NoMethod GoogleCloudVisionV1p4beta1Vertex 11222 raw := NoMethod(*s) 11223 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11224} 11225 11226// GoogleCloudVisionV1p4beta1WebDetection: Relevant information for the 11227// image from the Internet. 11228type GoogleCloudVisionV1p4beta1WebDetection struct { 11229 // BestGuessLabels: The service's best guess as to the topic of the 11230 // request image. Inferred from similar images on the open web. 11231 BestGuessLabels []*GoogleCloudVisionV1p4beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 11232 11233 // FullMatchingImages: Fully matching images from the Internet. Can 11234 // include resized copies of the query image. 11235 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 11236 11237 // PagesWithMatchingImages: Web pages containing the matching images 11238 // from the Internet. 11239 PagesWithMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 11240 11241 // PartialMatchingImages: Partial matching images from the Internet. 11242 // Those images are similar enough to share some key-point features. For 11243 // example an original image will likely have partial matching for its 11244 // crops. 11245 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 11246 11247 // VisuallySimilarImages: The visually similar image results. 11248 VisuallySimilarImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 11249 11250 // WebEntities: Deduced entities from similar images on the Internet. 11251 WebEntities []*GoogleCloudVisionV1p4beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 11252 11253 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 11254 // unconditionally include in API requests. By default, fields with 11255 // empty or default values are omitted from API requests. However, any 11256 // non-pointer, non-interface field appearing in ForceSendFields will be 11257 // sent to the server regardless of whether the field is empty or not. 11258 // This may be used to include empty fields in Patch requests. 11259 ForceSendFields []string `json:"-"` 11260 11261 // NullFields is a list of field names (e.g. "BestGuessLabels") to 11262 // include in API requests with the JSON null value. By default, fields 11263 // with empty values are omitted from API requests. However, any field 11264 // with an empty value appearing in NullFields will be sent to the 11265 // server as null. It is an error if a field in this list has a 11266 // non-empty value. This may be used to include null fields in Patch 11267 // requests. 11268 NullFields []string `json:"-"` 11269} 11270 11271func (s *GoogleCloudVisionV1p4beta1WebDetection) MarshalJSON() ([]byte, error) { 11272 type NoMethod GoogleCloudVisionV1p4beta1WebDetection 11273 raw := NoMethod(*s) 11274 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11275} 11276 11277// GoogleCloudVisionV1p4beta1WebDetectionWebEntity: Entity deduced from 11278// similar images on the Internet. 11279type GoogleCloudVisionV1p4beta1WebDetectionWebEntity struct { 11280 // Description: Canonical description of the entity, in English. 11281 Description string `json:"description,omitempty"` 11282 11283 // EntityId: Opaque entity ID. 11284 EntityId string `json:"entityId,omitempty"` 11285 11286 // Score: Overall relevancy score for the entity. Not normalized and not 11287 // comparable across different image queries. 11288 Score float64 `json:"score,omitempty"` 11289 11290 // ForceSendFields is a list of field names (e.g. "Description") to 11291 // unconditionally include in API requests. By default, fields with 11292 // empty or default values are omitted from API requests. However, any 11293 // non-pointer, non-interface field appearing in ForceSendFields will be 11294 // sent to the server regardless of whether the field is empty or not. 11295 // This may be used to include empty fields in Patch requests. 11296 ForceSendFields []string `json:"-"` 11297 11298 // NullFields is a list of field names (e.g. "Description") to include 11299 // in API requests with the JSON null value. By default, fields with 11300 // empty values are omitted from API requests. However, any field with 11301 // an empty value appearing in NullFields will be sent to the server as 11302 // null. It is an error if a field in this list has a non-empty value. 11303 // This may be used to include null fields in Patch requests. 11304 NullFields []string `json:"-"` 11305} 11306 11307func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 11308 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 11309 raw := NoMethod(*s) 11310 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11311} 11312 11313func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 11314 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 11315 var s1 struct { 11316 Score gensupport.JSONFloat64 `json:"score"` 11317 *NoMethod 11318 } 11319 s1.NoMethod = (*NoMethod)(s) 11320 if err := json.Unmarshal(data, &s1); err != nil { 11321 return err 11322 } 11323 s.Score = float64(s1.Score) 11324 return nil 11325} 11326 11327// GoogleCloudVisionV1p4beta1WebDetectionWebImage: Metadata for online 11328// images. 11329type GoogleCloudVisionV1p4beta1WebDetectionWebImage struct { 11330 // Score: (Deprecated) Overall relevancy score for the image. 11331 Score float64 `json:"score,omitempty"` 11332 11333 // Url: The result image URL. 11334 Url string `json:"url,omitempty"` 11335 11336 // ForceSendFields is a list of field names (e.g. "Score") to 11337 // unconditionally include in API requests. By default, fields with 11338 // empty or default values are omitted from API requests. However, any 11339 // non-pointer, non-interface field appearing in ForceSendFields will be 11340 // sent to the server regardless of whether the field is empty or not. 11341 // This may be used to include empty fields in Patch requests. 11342 ForceSendFields []string `json:"-"` 11343 11344 // NullFields is a list of field names (e.g. "Score") to include in API 11345 // requests with the JSON null value. By default, fields with empty 11346 // values are omitted from API requests. However, any field with an 11347 // empty value appearing in NullFields will be sent to the server as 11348 // null. It is an error if a field in this list has a non-empty value. 11349 // This may be used to include null fields in Patch requests. 11350 NullFields []string `json:"-"` 11351} 11352 11353func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 11354 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 11355 raw := NoMethod(*s) 11356 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11357} 11358 11359func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 11360 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 11361 var s1 struct { 11362 Score gensupport.JSONFloat64 `json:"score"` 11363 *NoMethod 11364 } 11365 s1.NoMethod = (*NoMethod)(s) 11366 if err := json.Unmarshal(data, &s1); err != nil { 11367 return err 11368 } 11369 s.Score = float64(s1.Score) 11370 return nil 11371} 11372 11373// GoogleCloudVisionV1p4beta1WebDetectionWebLabel: Label to provide 11374// extra metadata for the web detection. 11375type GoogleCloudVisionV1p4beta1WebDetectionWebLabel struct { 11376 // Label: Label for extra metadata. 11377 Label string `json:"label,omitempty"` 11378 11379 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 11380 // or "sr-Latn". For more information, see 11381 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 11382 LanguageCode string `json:"languageCode,omitempty"` 11383 11384 // ForceSendFields is a list of field names (e.g. "Label") to 11385 // unconditionally include in API requests. By default, fields with 11386 // empty or default values are omitted from API requests. However, any 11387 // non-pointer, non-interface field appearing in ForceSendFields will be 11388 // sent to the server regardless of whether the field is empty or not. 11389 // This may be used to include empty fields in Patch requests. 11390 ForceSendFields []string `json:"-"` 11391 11392 // NullFields is a list of field names (e.g. "Label") to include in API 11393 // requests with the JSON null value. By default, fields with empty 11394 // values are omitted from API requests. However, any field with an 11395 // empty value appearing in NullFields will be sent to the server as 11396 // null. It is an error if a field in this list has a non-empty value. 11397 // This may be used to include null fields in Patch requests. 11398 NullFields []string `json:"-"` 11399} 11400 11401func (s *GoogleCloudVisionV1p4beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 11402 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebLabel 11403 raw := NoMethod(*s) 11404 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11405} 11406 11407// GoogleCloudVisionV1p4beta1WebDetectionWebPage: Metadata for web 11408// pages. 11409type GoogleCloudVisionV1p4beta1WebDetectionWebPage struct { 11410 // FullMatchingImages: Fully matching images on the page. Can include 11411 // resized copies of the query image. 11412 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 11413 11414 // PageTitle: Title for the web page, may contain HTML markups. 11415 PageTitle string `json:"pageTitle,omitempty"` 11416 11417 // PartialMatchingImages: Partial matching images on the page. Those 11418 // images are similar enough to share some key-point features. For 11419 // example an original image will likely have partial matching for its 11420 // crops. 11421 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 11422 11423 // Score: (Deprecated) Overall relevancy score for the web page. 11424 Score float64 `json:"score,omitempty"` 11425 11426 // Url: The result web page URL. 11427 Url string `json:"url,omitempty"` 11428 11429 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 11430 // to unconditionally include in API requests. By default, fields with 11431 // empty or default values are omitted from API requests. However, any 11432 // non-pointer, non-interface field appearing in ForceSendFields will be 11433 // sent to the server regardless of whether the field is empty or not. 11434 // This may be used to include empty fields in Patch requests. 11435 ForceSendFields []string `json:"-"` 11436 11437 // NullFields is a list of field names (e.g. "FullMatchingImages") to 11438 // include in API requests with the JSON null value. By default, fields 11439 // with empty values are omitted from API requests. However, any field 11440 // with an empty value appearing in NullFields will be sent to the 11441 // server as null. It is an error if a field in this list has a 11442 // non-empty value. This may be used to include null fields in Patch 11443 // requests. 11444 NullFields []string `json:"-"` 11445} 11446 11447func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 11448 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 11449 raw := NoMethod(*s) 11450 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11451} 11452 11453func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 11454 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 11455 var s1 struct { 11456 Score gensupport.JSONFloat64 `json:"score"` 11457 *NoMethod 11458 } 11459 s1.NoMethod = (*NoMethod)(s) 11460 if err := json.Unmarshal(data, &s1); err != nil { 11461 return err 11462 } 11463 s.Score = float64(s1.Score) 11464 return nil 11465} 11466 11467// GoogleCloudVisionV1p4beta1Word: A word representation. 11468type GoogleCloudVisionV1p4beta1Word struct { 11469 // BoundingBox: The bounding box for the word. The vertices are in the 11470 // order of top-left, top-right, bottom-right, bottom-left. When a 11471 // rotation of the bounding box is detected the rotation is represented 11472 // as around the top-left corner as defined when the text is read in the 11473 // 'natural' orientation. For example: * when the text is horizontal it 11474 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 11475 // around the top-left corner it becomes: 2----3 | | 1----0 and the 11476 // vertex order will still be (0, 1, 2, 3). 11477 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 11478 11479 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 11480 Confidence float64 `json:"confidence,omitempty"` 11481 11482 // Property: Additional information detected for the word. 11483 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11484 11485 // Symbols: List of symbols in the word. The order of the symbols 11486 // follows the natural reading order. 11487 Symbols []*GoogleCloudVisionV1p4beta1Symbol `json:"symbols,omitempty"` 11488 11489 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 11490 // unconditionally include in API requests. By default, fields with 11491 // empty or default values are omitted from API requests. However, any 11492 // non-pointer, non-interface field appearing in ForceSendFields will be 11493 // sent to the server regardless of whether the field is empty or not. 11494 // This may be used to include empty fields in Patch requests. 11495 ForceSendFields []string `json:"-"` 11496 11497 // NullFields is a list of field names (e.g. "BoundingBox") to include 11498 // in API requests with the JSON null value. By default, fields with 11499 // empty values are omitted from API requests. However, any field with 11500 // an empty value appearing in NullFields will be sent to the server as 11501 // null. It is an error if a field in this list has a non-empty value. 11502 // This may be used to include null fields in Patch requests. 11503 NullFields []string `json:"-"` 11504} 11505 11506func (s *GoogleCloudVisionV1p4beta1Word) MarshalJSON() ([]byte, error) { 11507 type NoMethod GoogleCloudVisionV1p4beta1Word 11508 raw := NoMethod(*s) 11509 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11510} 11511 11512func (s *GoogleCloudVisionV1p4beta1Word) UnmarshalJSON(data []byte) error { 11513 type NoMethod GoogleCloudVisionV1p4beta1Word 11514 var s1 struct { 11515 Confidence gensupport.JSONFloat64 `json:"confidence"` 11516 *NoMethod 11517 } 11518 s1.NoMethod = (*NoMethod)(s) 11519 if err := json.Unmarshal(data, &s1); err != nil { 11520 return err 11521 } 11522 s.Confidence = float64(s1.Confidence) 11523 return nil 11524} 11525 11526// GroupedResult: Information about the products similar to a single 11527// product in a query image. 11528type GroupedResult struct { 11529 // BoundingPoly: The bounding polygon around the product detected in the 11530 // query image. 11531 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 11532 11533 // ObjectAnnotations: List of generic predictions for the object in the 11534 // bounding box. 11535 ObjectAnnotations []*ObjectAnnotation `json:"objectAnnotations,omitempty"` 11536 11537 // Results: List of results, one for each product match. 11538 Results []*Result `json:"results,omitempty"` 11539 11540 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 11541 // unconditionally include in API requests. By default, fields with 11542 // empty or default values are omitted from API requests. However, any 11543 // non-pointer, non-interface field appearing in ForceSendFields will be 11544 // sent to the server regardless of whether the field is empty or not. 11545 // This may be used to include empty fields in Patch requests. 11546 ForceSendFields []string `json:"-"` 11547 11548 // NullFields is a list of field names (e.g. "BoundingPoly") to include 11549 // in API requests with the JSON null value. By default, fields with 11550 // empty values are omitted from API requests. However, any field with 11551 // an empty value appearing in NullFields will be sent to the server as 11552 // null. It is an error if a field in this list has a non-empty value. 11553 // This may be used to include null fields in Patch requests. 11554 NullFields []string `json:"-"` 11555} 11556 11557func (s *GroupedResult) MarshalJSON() ([]byte, error) { 11558 type NoMethod GroupedResult 11559 raw := NoMethod(*s) 11560 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11561} 11562 11563// Image: Client image to perform Google Cloud Vision API tasks over. 11564type Image struct { 11565 // Content: Image content, represented as a stream of bytes. Note: As 11566 // with all `bytes` fields, protobuffers use a pure binary 11567 // representation, whereas JSON representations use base64. Currently, 11568 // this field only works for BatchAnnotateImages requests. It does not 11569 // work for AsyncBatchAnnotateImages requests. 11570 Content string `json:"content,omitempty"` 11571 11572 // Source: Google Cloud Storage image location, or publicly-accessible 11573 // image URL. If both `content` and `source` are provided for an image, 11574 // `content` takes precedence and is used to perform the image 11575 // annotation request. 11576 Source *ImageSource `json:"source,omitempty"` 11577 11578 // ForceSendFields is a list of field names (e.g. "Content") to 11579 // unconditionally include in API requests. By default, fields with 11580 // empty or default values are omitted from API requests. However, any 11581 // non-pointer, non-interface field appearing in ForceSendFields will be 11582 // sent to the server regardless of whether the field is empty or not. 11583 // This may be used to include empty fields in Patch requests. 11584 ForceSendFields []string `json:"-"` 11585 11586 // NullFields is a list of field names (e.g. "Content") to include in 11587 // API requests with the JSON null value. By default, fields with empty 11588 // values are omitted from API requests. However, any field with an 11589 // empty value appearing in NullFields will be sent to the server as 11590 // null. It is an error if a field in this list has a non-empty value. 11591 // This may be used to include null fields in Patch requests. 11592 NullFields []string `json:"-"` 11593} 11594 11595func (s *Image) MarshalJSON() ([]byte, error) { 11596 type NoMethod Image 11597 raw := NoMethod(*s) 11598 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11599} 11600 11601// ImageAnnotationContext: If an image was produced from a file (e.g. a 11602// PDF), this message gives information about the source of that image. 11603type ImageAnnotationContext struct { 11604 // PageNumber: If the file was a PDF or TIFF, this field gives the page 11605 // number within the file used to produce the image. 11606 PageNumber int64 `json:"pageNumber,omitempty"` 11607 11608 // Uri: The URI of the file used to produce the image. 11609 Uri string `json:"uri,omitempty"` 11610 11611 // ForceSendFields is a list of field names (e.g. "PageNumber") to 11612 // unconditionally include in API requests. By default, fields with 11613 // empty or default values are omitted from API requests. However, any 11614 // non-pointer, non-interface field appearing in ForceSendFields will be 11615 // sent to the server regardless of whether the field is empty or not. 11616 // This may be used to include empty fields in Patch requests. 11617 ForceSendFields []string `json:"-"` 11618 11619 // NullFields is a list of field names (e.g. "PageNumber") to include in 11620 // API requests with the JSON null value. By default, fields with empty 11621 // values are omitted from API requests. However, any field with an 11622 // empty value appearing in NullFields will be sent to the server as 11623 // null. It is an error if a field in this list has a non-empty value. 11624 // This may be used to include null fields in Patch requests. 11625 NullFields []string `json:"-"` 11626} 11627 11628func (s *ImageAnnotationContext) MarshalJSON() ([]byte, error) { 11629 type NoMethod ImageAnnotationContext 11630 raw := NoMethod(*s) 11631 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11632} 11633 11634// ImageContext: Image context and/or feature-specific parameters. 11635type ImageContext struct { 11636 // CropHintsParams: Parameters for crop hints annotation request. 11637 CropHintsParams *CropHintsParams `json:"cropHintsParams,omitempty"` 11638 11639 // LanguageHints: List of languages to use for TEXT_DETECTION. In most 11640 // cases, an empty value yields the best results since it enables 11641 // automatic language detection. For languages based on the Latin 11642 // alphabet, setting `language_hints` is not needed. In rare cases, when 11643 // the language of the text in the image is known, setting a hint will 11644 // help get better results (although it will be a significant hindrance 11645 // if the hint is wrong). Text detection returns an error if one or more 11646 // of the specified languages is not one of the supported languages 11647 // (https://cloud.google.com/vision/docs/languages). 11648 LanguageHints []string `json:"languageHints,omitempty"` 11649 11650 // LatLongRect: Not used. 11651 LatLongRect *LatLongRect `json:"latLongRect,omitempty"` 11652 11653 // ProductSearchParams: Parameters for product search. 11654 ProductSearchParams *ProductSearchParams `json:"productSearchParams,omitempty"` 11655 11656 // TextDetectionParams: Parameters for text detection and document text 11657 // detection. 11658 TextDetectionParams *TextDetectionParams `json:"textDetectionParams,omitempty"` 11659 11660 // WebDetectionParams: Parameters for web detection. 11661 WebDetectionParams *WebDetectionParams `json:"webDetectionParams,omitempty"` 11662 11663 // ForceSendFields is a list of field names (e.g. "CropHintsParams") to 11664 // unconditionally include in API requests. By default, fields with 11665 // empty or default values are omitted from API requests. However, any 11666 // non-pointer, non-interface field appearing in ForceSendFields will be 11667 // sent to the server regardless of whether the field is empty or not. 11668 // This may be used to include empty fields in Patch requests. 11669 ForceSendFields []string `json:"-"` 11670 11671 // NullFields is a list of field names (e.g. "CropHintsParams") to 11672 // include in API requests with the JSON null value. By default, fields 11673 // with empty values are omitted from API requests. However, any field 11674 // with an empty value appearing in NullFields will be sent to the 11675 // server as null. It is an error if a field in this list has a 11676 // non-empty value. This may be used to include null fields in Patch 11677 // requests. 11678 NullFields []string `json:"-"` 11679} 11680 11681func (s *ImageContext) MarshalJSON() ([]byte, error) { 11682 type NoMethod ImageContext 11683 raw := NoMethod(*s) 11684 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11685} 11686 11687// ImageProperties: Stores image properties, such as dominant colors. 11688type ImageProperties struct { 11689 // DominantColors: If present, dominant colors completed successfully. 11690 DominantColors *DominantColorsAnnotation `json:"dominantColors,omitempty"` 11691 11692 // ForceSendFields is a list of field names (e.g. "DominantColors") to 11693 // unconditionally include in API requests. By default, fields with 11694 // empty or default values are omitted from API requests. However, any 11695 // non-pointer, non-interface field appearing in ForceSendFields will be 11696 // sent to the server regardless of whether the field is empty or not. 11697 // This may be used to include empty fields in Patch requests. 11698 ForceSendFields []string `json:"-"` 11699 11700 // NullFields is a list of field names (e.g. "DominantColors") to 11701 // include in API requests with the JSON null value. By default, fields 11702 // with empty values are omitted from API requests. However, any field 11703 // with an empty value appearing in NullFields will be sent to the 11704 // server as null. It is an error if a field in this list has a 11705 // non-empty value. This may be used to include null fields in Patch 11706 // requests. 11707 NullFields []string `json:"-"` 11708} 11709 11710func (s *ImageProperties) MarshalJSON() ([]byte, error) { 11711 type NoMethod ImageProperties 11712 raw := NoMethod(*s) 11713 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11714} 11715 11716// ImageSource: External image source (Google Cloud Storage or web URL 11717// image location). 11718type ImageSource struct { 11719 // GcsImageUri: **Use `image_uri` instead.** The Google Cloud Storage 11720 // URI of the form `gs://bucket_name/object_name`. Object versioning is 11721 // not supported. See Google Cloud Storage Request URIs 11722 // (https://cloud.google.com/storage/docs/reference-uris) for more info. 11723 GcsImageUri string `json:"gcsImageUri,omitempty"` 11724 11725 // ImageUri: The URI of the source image. Can be either: 1. A Google 11726 // Cloud Storage URI of the form `gs://bucket_name/object_name`. Object 11727 // versioning is not supported. See Google Cloud Storage Request URIs 11728 // (https://cloud.google.com/storage/docs/reference-uris) for more info. 11729 // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images 11730 // from HTTP/HTTPS URLs, Google cannot guarantee that the request will 11731 // be completed. Your request may fail if the specified host denies the 11732 // request (e.g. due to request throttling or DOS prevention), or if 11733 // Google throttles requests to the site for abuse prevention. You 11734 // should not depend on externally-hosted images for production 11735 // applications. When both `gcs_image_uri` and `image_uri` are 11736 // specified, `image_uri` takes precedence. 11737 ImageUri string `json:"imageUri,omitempty"` 11738 11739 // ForceSendFields is a list of field names (e.g. "GcsImageUri") to 11740 // unconditionally include in API requests. By default, fields with 11741 // empty or default values are omitted from API requests. However, any 11742 // non-pointer, non-interface field appearing in ForceSendFields will be 11743 // sent to the server regardless of whether the field is empty or not. 11744 // This may be used to include empty fields in Patch requests. 11745 ForceSendFields []string `json:"-"` 11746 11747 // NullFields is a list of field names (e.g. "GcsImageUri") to include 11748 // in API requests with the JSON null value. By default, fields with 11749 // empty values are omitted from API requests. However, any field with 11750 // an empty value appearing in NullFields will be sent to the server as 11751 // null. It is an error if a field in this list has a non-empty value. 11752 // This may be used to include null fields in Patch requests. 11753 NullFields []string `json:"-"` 11754} 11755 11756func (s *ImageSource) MarshalJSON() ([]byte, error) { 11757 type NoMethod ImageSource 11758 raw := NoMethod(*s) 11759 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11760} 11761 11762// ImportProductSetsGcsSource: The Google Cloud Storage location for a 11763// csv file which preserves a list of ImportProductSetRequests in each 11764// line. 11765type ImportProductSetsGcsSource struct { 11766 // CsvFileUri: The Google Cloud Storage URI of the input csv file. The 11767 // URI must start with `gs://`. The format of the input csv file should 11768 // be one image per line. In each line, there are 8 columns. 1. 11769 // image-uri 2. image-id 3. product-set-id 4. product-id 5. 11770 // product-category 6. product-display-name 7. labels 8. bounding-poly 11771 // The `image-uri`, `product-set-id`, `product-id`, and 11772 // `product-category` columns are required. All other columns are 11773 // optional. If the `ProductSet` or `Product` specified by the 11774 // `product-set-id` and `product-id` values does not exist, then the 11775 // system will create a new `ProductSet` or `Product` for the image. In 11776 // this case, the `product-display-name` column refers to display_name, 11777 // the `product-category` column refers to product_category, and the 11778 // `labels` column refers to product_labels. The `image-id` column is 11779 // optional but must be unique if provided. If it is empty, the system 11780 // will automatically assign a unique id to the image. The 11781 // `product-display-name` column is optional. If it is empty, the system 11782 // sets the display_name field for the product to a space (" "). You can 11783 // update the `display_name` later by using the API. If a `Product` with 11784 // the specified `product-id` already exists, then the system ignores 11785 // the `product-display-name`, `product-category`, and `labels` columns. 11786 // The `labels` column (optional) is a line containing a list of 11787 // comma-separated key-value pairs, in the following format: 11788 // "key_1=value_1,key_2=value_2,...,key_n=value_n" The `bounding-poly` 11789 // column (optional) identifies one region of interest from the image in 11790 // the same manner as `CreateReferenceImage`. If you do not specify the 11791 // `bounding-poly` column, then the system will try to detect regions of 11792 // interest automatically. At most one `bounding-poly` column is allowed 11793 // per line. If the image contains multiple regions of interest, add a 11794 // line to the CSV file that includes the same product information, and 11795 // the `bounding-poly` values for each region of interest. The 11796 // `bounding-poly` column must contain an even number of comma-separated 11797 // numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Use 11798 // non-negative integers for absolute bounding polygons, and float 11799 // values in [0, 1] for normalized bounding polygons. The system will 11800 // resize the image if the image resolution is too large to process 11801 // (larger than 20MP). 11802 CsvFileUri string `json:"csvFileUri,omitempty"` 11803 11804 // ForceSendFields is a list of field names (e.g. "CsvFileUri") to 11805 // unconditionally include in API requests. By default, fields with 11806 // empty or default values are omitted from API requests. However, any 11807 // non-pointer, non-interface field appearing in ForceSendFields will be 11808 // sent to the server regardless of whether the field is empty or not. 11809 // This may be used to include empty fields in Patch requests. 11810 ForceSendFields []string `json:"-"` 11811 11812 // NullFields is a list of field names (e.g. "CsvFileUri") to include in 11813 // API requests with the JSON null value. By default, fields with empty 11814 // values are omitted from API requests. However, any field with an 11815 // empty value appearing in NullFields will be sent to the server as 11816 // null. It is an error if a field in this list has a non-empty value. 11817 // This may be used to include null fields in Patch requests. 11818 NullFields []string `json:"-"` 11819} 11820 11821func (s *ImportProductSetsGcsSource) MarshalJSON() ([]byte, error) { 11822 type NoMethod ImportProductSetsGcsSource 11823 raw := NoMethod(*s) 11824 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11825} 11826 11827// ImportProductSetsInputConfig: The input content for the 11828// `ImportProductSets` method. 11829type ImportProductSetsInputConfig struct { 11830 // GcsSource: The Google Cloud Storage location for a csv file which 11831 // preserves a list of ImportProductSetRequests in each line. 11832 GcsSource *ImportProductSetsGcsSource `json:"gcsSource,omitempty"` 11833 11834 // ForceSendFields is a list of field names (e.g. "GcsSource") to 11835 // unconditionally include in API requests. By default, fields with 11836 // empty or default values are omitted from API requests. However, any 11837 // non-pointer, non-interface field appearing in ForceSendFields will be 11838 // sent to the server regardless of whether the field is empty or not. 11839 // This may be used to include empty fields in Patch requests. 11840 ForceSendFields []string `json:"-"` 11841 11842 // NullFields is a list of field names (e.g. "GcsSource") to include in 11843 // API requests with the JSON null value. By default, fields with empty 11844 // values are omitted from API requests. However, any field with an 11845 // empty value appearing in NullFields will be sent to the server as 11846 // null. It is an error if a field in this list has a non-empty value. 11847 // This may be used to include null fields in Patch requests. 11848 NullFields []string `json:"-"` 11849} 11850 11851func (s *ImportProductSetsInputConfig) MarshalJSON() ([]byte, error) { 11852 type NoMethod ImportProductSetsInputConfig 11853 raw := NoMethod(*s) 11854 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11855} 11856 11857// ImportProductSetsRequest: Request message for the `ImportProductSets` 11858// method. 11859type ImportProductSetsRequest struct { 11860 // InputConfig: Required. The input content for the list of requests. 11861 InputConfig *ImportProductSetsInputConfig `json:"inputConfig,omitempty"` 11862 11863 // ForceSendFields is a list of field names (e.g. "InputConfig") to 11864 // unconditionally include in API requests. By default, fields with 11865 // empty or default values are omitted from API requests. However, any 11866 // non-pointer, non-interface field appearing in ForceSendFields will be 11867 // sent to the server regardless of whether the field is empty or not. 11868 // This may be used to include empty fields in Patch requests. 11869 ForceSendFields []string `json:"-"` 11870 11871 // NullFields is a list of field names (e.g. "InputConfig") to include 11872 // in API requests with the JSON null value. By default, fields with 11873 // empty values are omitted from API requests. However, any field with 11874 // an empty value appearing in NullFields will be sent to the server as 11875 // null. It is an error if a field in this list has a non-empty value. 11876 // This may be used to include null fields in Patch requests. 11877 NullFields []string `json:"-"` 11878} 11879 11880func (s *ImportProductSetsRequest) MarshalJSON() ([]byte, error) { 11881 type NoMethod ImportProductSetsRequest 11882 raw := NoMethod(*s) 11883 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11884} 11885 11886// ImportProductSetsResponse: Response message for the 11887// `ImportProductSets` method. This message is returned by the 11888// google.longrunning.Operations.GetOperation method in the returned 11889// google.longrunning.Operation.response field. 11890type ImportProductSetsResponse struct { 11891 // ReferenceImages: The list of reference_images that are imported 11892 // successfully. 11893 ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"` 11894 11895 // Statuses: The rpc status for each ImportProductSet request, including 11896 // both successes and errors. The number of statuses here matches the 11897 // number of lines in the csv file, and statuses[i] stores the success 11898 // or failure status of processing the i-th line of the csv, starting 11899 // from line 0. 11900 Statuses []*Status `json:"statuses,omitempty"` 11901 11902 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 11903 // unconditionally include in API requests. By default, fields with 11904 // empty or default values are omitted from API requests. However, any 11905 // non-pointer, non-interface field appearing in ForceSendFields will be 11906 // sent to the server regardless of whether the field is empty or not. 11907 // This may be used to include empty fields in Patch requests. 11908 ForceSendFields []string `json:"-"` 11909 11910 // NullFields is a list of field names (e.g. "ReferenceImages") to 11911 // include in API requests with the JSON null value. By default, fields 11912 // with empty values are omitted from API requests. However, any field 11913 // with an empty value appearing in NullFields will be sent to the 11914 // server as null. It is an error if a field in this list has a 11915 // non-empty value. This may be used to include null fields in Patch 11916 // requests. 11917 NullFields []string `json:"-"` 11918} 11919 11920func (s *ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 11921 type NoMethod ImportProductSetsResponse 11922 raw := NoMethod(*s) 11923 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11924} 11925 11926// InputConfig: The desired input location and metadata. 11927type InputConfig struct { 11928 // Content: File content, represented as a stream of bytes. Note: As 11929 // with all `bytes` fields, protobuffers use a pure binary 11930 // representation, whereas JSON representations use base64. Currently, 11931 // this field only works for BatchAnnotateFiles requests. It does not 11932 // work for AsyncBatchAnnotateFiles requests. 11933 Content string `json:"content,omitempty"` 11934 11935 // GcsSource: The Google Cloud Storage location to read the input from. 11936 GcsSource *GcsSource `json:"gcsSource,omitempty"` 11937 11938 // MimeType: The type of the file. Currently only "application/pdf", 11939 // "image/tiff" and "image/gif" are supported. Wildcards are not 11940 // supported. 11941 MimeType string `json:"mimeType,omitempty"` 11942 11943 // ForceSendFields is a list of field names (e.g. "Content") to 11944 // unconditionally include in API requests. By default, fields with 11945 // empty or default values are omitted from API requests. However, any 11946 // non-pointer, non-interface field appearing in ForceSendFields will be 11947 // sent to the server regardless of whether the field is empty or not. 11948 // This may be used to include empty fields in Patch requests. 11949 ForceSendFields []string `json:"-"` 11950 11951 // NullFields is a list of field names (e.g. "Content") to include in 11952 // API requests with the JSON null value. By default, fields with empty 11953 // values are omitted from API requests. However, any field with an 11954 // empty value appearing in NullFields will be sent to the server as 11955 // null. It is an error if a field in this list has a non-empty value. 11956 // This may be used to include null fields in Patch requests. 11957 NullFields []string `json:"-"` 11958} 11959 11960func (s *InputConfig) MarshalJSON() ([]byte, error) { 11961 type NoMethod InputConfig 11962 raw := NoMethod(*s) 11963 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11964} 11965 11966// KeyValue: A product label represented as a key-value pair. 11967type KeyValue struct { 11968 // Key: The key of the label attached to the product. Cannot be empty 11969 // and cannot exceed 128 bytes. 11970 Key string `json:"key,omitempty"` 11971 11972 // Value: The value of the label attached to the product. Cannot be 11973 // empty and cannot exceed 128 bytes. 11974 Value string `json:"value,omitempty"` 11975 11976 // ForceSendFields is a list of field names (e.g. "Key") to 11977 // unconditionally include in API requests. By default, fields with 11978 // empty or default values are omitted from API requests. However, any 11979 // non-pointer, non-interface field appearing in ForceSendFields will be 11980 // sent to the server regardless of whether the field is empty or not. 11981 // This may be used to include empty fields in Patch requests. 11982 ForceSendFields []string `json:"-"` 11983 11984 // NullFields is a list of field names (e.g. "Key") to include in API 11985 // requests with the JSON null value. By default, fields with empty 11986 // values are omitted from API requests. However, any field with an 11987 // empty value appearing in NullFields will be sent to the server as 11988 // null. It is an error if a field in this list has a non-empty value. 11989 // This may be used to include null fields in Patch requests. 11990 NullFields []string `json:"-"` 11991} 11992 11993func (s *KeyValue) MarshalJSON() ([]byte, error) { 11994 type NoMethod KeyValue 11995 raw := NoMethod(*s) 11996 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11997} 11998 11999// Landmark: A face-specific landmark (for example, a face feature). 12000type Landmark struct { 12001 // Position: Face landmark position. 12002 Position *Position `json:"position,omitempty"` 12003 12004 // Type: Face landmark type. 12005 // 12006 // Possible values: 12007 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 12008 // filled. 12009 // "LEFT_EYE" - Left eye. 12010 // "RIGHT_EYE" - Right eye. 12011 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 12012 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 12013 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 12014 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 12015 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 12016 // "NOSE_TIP" - Nose tip. 12017 // "UPPER_LIP" - Upper lip. 12018 // "LOWER_LIP" - Lower lip. 12019 // "MOUTH_LEFT" - Mouth left. 12020 // "MOUTH_RIGHT" - Mouth right. 12021 // "MOUTH_CENTER" - Mouth center. 12022 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 12023 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 12024 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 12025 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 12026 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 12027 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 12028 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 12029 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 12030 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 12031 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 12032 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 12033 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 12034 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 12035 // "LEFT_EAR_TRAGION" - Left ear tragion. 12036 // "RIGHT_EAR_TRAGION" - Right ear tragion. 12037 // "LEFT_EYE_PUPIL" - Left eye pupil. 12038 // "RIGHT_EYE_PUPIL" - Right eye pupil. 12039 // "FOREHEAD_GLABELLA" - Forehead glabella. 12040 // "CHIN_GNATHION" - Chin gnathion. 12041 // "CHIN_LEFT_GONION" - Chin left gonion. 12042 // "CHIN_RIGHT_GONION" - Chin right gonion. 12043 // "LEFT_CHEEK_CENTER" - Left cheek center. 12044 // "RIGHT_CHEEK_CENTER" - Right cheek center. 12045 Type string `json:"type,omitempty"` 12046 12047 // ForceSendFields is a list of field names (e.g. "Position") to 12048 // unconditionally include in API requests. By default, fields with 12049 // empty or default values are omitted from API requests. However, any 12050 // non-pointer, non-interface field appearing in ForceSendFields will be 12051 // sent to the server regardless of whether the field is empty or not. 12052 // This may be used to include empty fields in Patch requests. 12053 ForceSendFields []string `json:"-"` 12054 12055 // NullFields is a list of field names (e.g. "Position") to include in 12056 // API requests with the JSON null value. By default, fields with empty 12057 // values are omitted from API requests. However, any field with an 12058 // empty value appearing in NullFields will be sent to the server as 12059 // null. It is an error if a field in this list has a non-empty value. 12060 // This may be used to include null fields in Patch requests. 12061 NullFields []string `json:"-"` 12062} 12063 12064func (s *Landmark) MarshalJSON() ([]byte, error) { 12065 type NoMethod Landmark 12066 raw := NoMethod(*s) 12067 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12068} 12069 12070// LatLng: An object that represents a latitude/longitude pair. This is 12071// expressed as a pair of doubles to represent degrees latitude and 12072// degrees longitude. Unless specified otherwise, this object must 12073// conform to the WGS84 standard. Values must be within normalized 12074// ranges. 12075type LatLng struct { 12076 // Latitude: The latitude in degrees. It must be in the range [-90.0, 12077 // +90.0]. 12078 Latitude float64 `json:"latitude,omitempty"` 12079 12080 // Longitude: The longitude in degrees. It must be in the range [-180.0, 12081 // +180.0]. 12082 Longitude float64 `json:"longitude,omitempty"` 12083 12084 // ForceSendFields is a list of field names (e.g. "Latitude") to 12085 // unconditionally include in API requests. By default, fields with 12086 // empty or default values are omitted from API requests. However, any 12087 // non-pointer, non-interface field appearing in ForceSendFields will be 12088 // sent to the server regardless of whether the field is empty or not. 12089 // This may be used to include empty fields in Patch requests. 12090 ForceSendFields []string `json:"-"` 12091 12092 // NullFields is a list of field names (e.g. "Latitude") to include in 12093 // API requests with the JSON null value. By default, fields with empty 12094 // values are omitted from API requests. However, any field with an 12095 // empty value appearing in NullFields will be sent to the server as 12096 // null. It is an error if a field in this list has a non-empty value. 12097 // This may be used to include null fields in Patch requests. 12098 NullFields []string `json:"-"` 12099} 12100 12101func (s *LatLng) MarshalJSON() ([]byte, error) { 12102 type NoMethod LatLng 12103 raw := NoMethod(*s) 12104 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12105} 12106 12107func (s *LatLng) UnmarshalJSON(data []byte) error { 12108 type NoMethod LatLng 12109 var s1 struct { 12110 Latitude gensupport.JSONFloat64 `json:"latitude"` 12111 Longitude gensupport.JSONFloat64 `json:"longitude"` 12112 *NoMethod 12113 } 12114 s1.NoMethod = (*NoMethod)(s) 12115 if err := json.Unmarshal(data, &s1); err != nil { 12116 return err 12117 } 12118 s.Latitude = float64(s1.Latitude) 12119 s.Longitude = float64(s1.Longitude) 12120 return nil 12121} 12122 12123// LatLongRect: Rectangle determined by min and max `LatLng` pairs. 12124type LatLongRect struct { 12125 // MaxLatLng: Max lat/long pair. 12126 MaxLatLng *LatLng `json:"maxLatLng,omitempty"` 12127 12128 // MinLatLng: Min lat/long pair. 12129 MinLatLng *LatLng `json:"minLatLng,omitempty"` 12130 12131 // ForceSendFields is a list of field names (e.g. "MaxLatLng") to 12132 // unconditionally include in API requests. By default, fields with 12133 // empty or default values are omitted from API requests. However, any 12134 // non-pointer, non-interface field appearing in ForceSendFields will be 12135 // sent to the server regardless of whether the field is empty or not. 12136 // This may be used to include empty fields in Patch requests. 12137 ForceSendFields []string `json:"-"` 12138 12139 // NullFields is a list of field names (e.g. "MaxLatLng") to include in 12140 // API requests with the JSON null value. By default, fields with empty 12141 // values are omitted from API requests. However, any field with an 12142 // empty value appearing in NullFields will be sent to the server as 12143 // null. It is an error if a field in this list has a non-empty value. 12144 // This may be used to include null fields in Patch requests. 12145 NullFields []string `json:"-"` 12146} 12147 12148func (s *LatLongRect) MarshalJSON() ([]byte, error) { 12149 type NoMethod LatLongRect 12150 raw := NoMethod(*s) 12151 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12152} 12153 12154// ListOperationsResponse: The response message for 12155// Operations.ListOperations. 12156type ListOperationsResponse struct { 12157 // NextPageToken: The standard List next-page token. 12158 NextPageToken string `json:"nextPageToken,omitempty"` 12159 12160 // Operations: A list of operations that matches the specified filter in 12161 // the request. 12162 Operations []*Operation `json:"operations,omitempty"` 12163 12164 // ServerResponse contains the HTTP response code and headers from the 12165 // server. 12166 googleapi.ServerResponse `json:"-"` 12167 12168 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 12169 // unconditionally include in API requests. By default, fields with 12170 // empty or default values are omitted from API requests. However, any 12171 // non-pointer, non-interface field appearing in ForceSendFields will be 12172 // sent to the server regardless of whether the field is empty or not. 12173 // This may be used to include empty fields in Patch requests. 12174 ForceSendFields []string `json:"-"` 12175 12176 // NullFields is a list of field names (e.g. "NextPageToken") to include 12177 // in API requests with the JSON null value. By default, fields with 12178 // empty values are omitted from API requests. However, any field with 12179 // an empty value appearing in NullFields will be sent to the server as 12180 // null. It is an error if a field in this list has a non-empty value. 12181 // This may be used to include null fields in Patch requests. 12182 NullFields []string `json:"-"` 12183} 12184 12185func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { 12186 type NoMethod ListOperationsResponse 12187 raw := NoMethod(*s) 12188 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12189} 12190 12191// ListProductSetsResponse: Response message for the `ListProductSets` 12192// method. 12193type ListProductSetsResponse struct { 12194 // NextPageToken: Token to retrieve the next page of results, or empty 12195 // if there are no more results in the list. 12196 NextPageToken string `json:"nextPageToken,omitempty"` 12197 12198 // ProductSets: List of ProductSets. 12199 ProductSets []*ProductSet `json:"productSets,omitempty"` 12200 12201 // ServerResponse contains the HTTP response code and headers from the 12202 // server. 12203 googleapi.ServerResponse `json:"-"` 12204 12205 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 12206 // unconditionally include in API requests. By default, fields with 12207 // empty or default values are omitted from API requests. However, any 12208 // non-pointer, non-interface field appearing in ForceSendFields will be 12209 // sent to the server regardless of whether the field is empty or not. 12210 // This may be used to include empty fields in Patch requests. 12211 ForceSendFields []string `json:"-"` 12212 12213 // NullFields is a list of field names (e.g. "NextPageToken") to include 12214 // in API requests with the JSON null value. By default, fields with 12215 // empty values are omitted from API requests. However, any field with 12216 // an empty value appearing in NullFields will be sent to the server as 12217 // null. It is an error if a field in this list has a non-empty value. 12218 // This may be used to include null fields in Patch requests. 12219 NullFields []string `json:"-"` 12220} 12221 12222func (s *ListProductSetsResponse) MarshalJSON() ([]byte, error) { 12223 type NoMethod ListProductSetsResponse 12224 raw := NoMethod(*s) 12225 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12226} 12227 12228// ListProductsInProductSetResponse: Response message for the 12229// `ListProductsInProductSet` method. 12230type ListProductsInProductSetResponse struct { 12231 // NextPageToken: Token to retrieve the next page of results, or empty 12232 // if there are no more results in the list. 12233 NextPageToken string `json:"nextPageToken,omitempty"` 12234 12235 // Products: The list of Products. 12236 Products []*Product `json:"products,omitempty"` 12237 12238 // ServerResponse contains the HTTP response code and headers from the 12239 // server. 12240 googleapi.ServerResponse `json:"-"` 12241 12242 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 12243 // unconditionally include in API requests. By default, fields with 12244 // empty or default values are omitted from API requests. However, any 12245 // non-pointer, non-interface field appearing in ForceSendFields will be 12246 // sent to the server regardless of whether the field is empty or not. 12247 // This may be used to include empty fields in Patch requests. 12248 ForceSendFields []string `json:"-"` 12249 12250 // NullFields is a list of field names (e.g. "NextPageToken") to include 12251 // in API requests with the JSON null value. By default, fields with 12252 // empty values are omitted from API requests. However, any field with 12253 // an empty value appearing in NullFields will be sent to the server as 12254 // null. It is an error if a field in this list has a non-empty value. 12255 // This may be used to include null fields in Patch requests. 12256 NullFields []string `json:"-"` 12257} 12258 12259func (s *ListProductsInProductSetResponse) MarshalJSON() ([]byte, error) { 12260 type NoMethod ListProductsInProductSetResponse 12261 raw := NoMethod(*s) 12262 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12263} 12264 12265// ListProductsResponse: Response message for the `ListProducts` method. 12266type ListProductsResponse struct { 12267 // NextPageToken: Token to retrieve the next page of results, or empty 12268 // if there are no more results in the list. 12269 NextPageToken string `json:"nextPageToken,omitempty"` 12270 12271 // Products: List of products. 12272 Products []*Product `json:"products,omitempty"` 12273 12274 // ServerResponse contains the HTTP response code and headers from the 12275 // server. 12276 googleapi.ServerResponse `json:"-"` 12277 12278 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 12279 // unconditionally include in API requests. By default, fields with 12280 // empty or default values are omitted from API requests. However, any 12281 // non-pointer, non-interface field appearing in ForceSendFields will be 12282 // sent to the server regardless of whether the field is empty or not. 12283 // This may be used to include empty fields in Patch requests. 12284 ForceSendFields []string `json:"-"` 12285 12286 // NullFields is a list of field names (e.g. "NextPageToken") to include 12287 // in API requests with the JSON null value. By default, fields with 12288 // empty values are omitted from API requests. However, any field with 12289 // an empty value appearing in NullFields will be sent to the server as 12290 // null. It is an error if a field in this list has a non-empty value. 12291 // This may be used to include null fields in Patch requests. 12292 NullFields []string `json:"-"` 12293} 12294 12295func (s *ListProductsResponse) MarshalJSON() ([]byte, error) { 12296 type NoMethod ListProductsResponse 12297 raw := NoMethod(*s) 12298 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12299} 12300 12301// ListReferenceImagesResponse: Response message for the 12302// `ListReferenceImages` method. 12303type ListReferenceImagesResponse struct { 12304 // NextPageToken: The next_page_token returned from a previous List 12305 // request, if any. 12306 NextPageToken string `json:"nextPageToken,omitempty"` 12307 12308 // PageSize: The maximum number of items to return. Default 10, maximum 12309 // 100. 12310 PageSize int64 `json:"pageSize,omitempty"` 12311 12312 // ReferenceImages: The list of reference images. 12313 ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"` 12314 12315 // ServerResponse contains the HTTP response code and headers from the 12316 // server. 12317 googleapi.ServerResponse `json:"-"` 12318 12319 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 12320 // unconditionally include in API requests. By default, fields with 12321 // empty or default values are omitted from API requests. However, any 12322 // non-pointer, non-interface field appearing in ForceSendFields will be 12323 // sent to the server regardless of whether the field is empty or not. 12324 // This may be used to include empty fields in Patch requests. 12325 ForceSendFields []string `json:"-"` 12326 12327 // NullFields is a list of field names (e.g. "NextPageToken") to include 12328 // in API requests with the JSON null value. By default, fields with 12329 // empty values are omitted from API requests. However, any field with 12330 // an empty value appearing in NullFields will be sent to the server as 12331 // null. It is an error if a field in this list has a non-empty value. 12332 // This may be used to include null fields in Patch requests. 12333 NullFields []string `json:"-"` 12334} 12335 12336func (s *ListReferenceImagesResponse) MarshalJSON() ([]byte, error) { 12337 type NoMethod ListReferenceImagesResponse 12338 raw := NoMethod(*s) 12339 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12340} 12341 12342// LocalizedObjectAnnotation: Set of detected objects with bounding 12343// boxes. 12344type LocalizedObjectAnnotation struct { 12345 // BoundingPoly: Image region to which this object belongs. This must be 12346 // populated. 12347 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 12348 12349 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 12350 // For more information, see 12351 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 12352 LanguageCode string `json:"languageCode,omitempty"` 12353 12354 // Mid: Object ID that should align with EntityAnnotation mid. 12355 Mid string `json:"mid,omitempty"` 12356 12357 // Name: Object name, expressed in its `language_code` language. 12358 Name string `json:"name,omitempty"` 12359 12360 // Score: Score of the result. Range [0, 1]. 12361 Score float64 `json:"score,omitempty"` 12362 12363 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 12364 // unconditionally include in API requests. By default, fields with 12365 // empty or default values are omitted from API requests. However, any 12366 // non-pointer, non-interface field appearing in ForceSendFields will be 12367 // sent to the server regardless of whether the field is empty or not. 12368 // This may be used to include empty fields in Patch requests. 12369 ForceSendFields []string `json:"-"` 12370 12371 // NullFields is a list of field names (e.g. "BoundingPoly") to include 12372 // in API requests with the JSON null value. By default, fields with 12373 // empty values are omitted from API requests. However, any field with 12374 // an empty value appearing in NullFields will be sent to the server as 12375 // null. It is an error if a field in this list has a non-empty value. 12376 // This may be used to include null fields in Patch requests. 12377 NullFields []string `json:"-"` 12378} 12379 12380func (s *LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 12381 type NoMethod LocalizedObjectAnnotation 12382 raw := NoMethod(*s) 12383 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12384} 12385 12386func (s *LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 12387 type NoMethod LocalizedObjectAnnotation 12388 var s1 struct { 12389 Score gensupport.JSONFloat64 `json:"score"` 12390 *NoMethod 12391 } 12392 s1.NoMethod = (*NoMethod)(s) 12393 if err := json.Unmarshal(data, &s1); err != nil { 12394 return err 12395 } 12396 s.Score = float64(s1.Score) 12397 return nil 12398} 12399 12400// LocationInfo: Detected entity location information. 12401type LocationInfo struct { 12402 // LatLng: lat/long location coordinates. 12403 LatLng *LatLng `json:"latLng,omitempty"` 12404 12405 // ForceSendFields is a list of field names (e.g. "LatLng") to 12406 // unconditionally include in API requests. By default, fields with 12407 // empty or default values are omitted from API requests. However, any 12408 // non-pointer, non-interface field appearing in ForceSendFields will be 12409 // sent to the server regardless of whether the field is empty or not. 12410 // This may be used to include empty fields in Patch requests. 12411 ForceSendFields []string `json:"-"` 12412 12413 // NullFields is a list of field names (e.g. "LatLng") to include in API 12414 // requests with the JSON null value. By default, fields with empty 12415 // values are omitted from API requests. However, any field with an 12416 // empty value appearing in NullFields will be sent to the server as 12417 // null. It is an error if a field in this list has a non-empty value. 12418 // This may be used to include null fields in Patch requests. 12419 NullFields []string `json:"-"` 12420} 12421 12422func (s *LocationInfo) MarshalJSON() ([]byte, error) { 12423 type NoMethod LocationInfo 12424 raw := NoMethod(*s) 12425 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12426} 12427 12428// NormalizedVertex: A vertex represents a 2D point in the image. NOTE: 12429// the normalized vertex coordinates are relative to the original image 12430// and range from 0 to 1. 12431type NormalizedVertex struct { 12432 // X: X coordinate. 12433 X float64 `json:"x,omitempty"` 12434 12435 // Y: Y coordinate. 12436 Y float64 `json:"y,omitempty"` 12437 12438 // ForceSendFields is a list of field names (e.g. "X") to 12439 // unconditionally include in API requests. By default, fields with 12440 // empty or default values are omitted from API requests. However, any 12441 // non-pointer, non-interface field appearing in ForceSendFields will be 12442 // sent to the server regardless of whether the field is empty or not. 12443 // This may be used to include empty fields in Patch requests. 12444 ForceSendFields []string `json:"-"` 12445 12446 // NullFields is a list of field names (e.g. "X") to include in API 12447 // requests with the JSON null value. By default, fields with empty 12448 // values are omitted from API requests. However, any field with an 12449 // empty value appearing in NullFields will be sent to the server as 12450 // null. It is an error if a field in this list has a non-empty value. 12451 // This may be used to include null fields in Patch requests. 12452 NullFields []string `json:"-"` 12453} 12454 12455func (s *NormalizedVertex) MarshalJSON() ([]byte, error) { 12456 type NoMethod NormalizedVertex 12457 raw := NoMethod(*s) 12458 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12459} 12460 12461func (s *NormalizedVertex) UnmarshalJSON(data []byte) error { 12462 type NoMethod NormalizedVertex 12463 var s1 struct { 12464 X gensupport.JSONFloat64 `json:"x"` 12465 Y gensupport.JSONFloat64 `json:"y"` 12466 *NoMethod 12467 } 12468 s1.NoMethod = (*NoMethod)(s) 12469 if err := json.Unmarshal(data, &s1); err != nil { 12470 return err 12471 } 12472 s.X = float64(s1.X) 12473 s.Y = float64(s1.Y) 12474 return nil 12475} 12476 12477// ObjectAnnotation: Prediction for what the object in the bounding box 12478// is. 12479type ObjectAnnotation struct { 12480 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 12481 // For more information, see 12482 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 12483 LanguageCode string `json:"languageCode,omitempty"` 12484 12485 // Mid: Object ID that should align with EntityAnnotation mid. 12486 Mid string `json:"mid,omitempty"` 12487 12488 // Name: Object name, expressed in its `language_code` language. 12489 Name string `json:"name,omitempty"` 12490 12491 // Score: Score of the result. Range [0, 1]. 12492 Score float64 `json:"score,omitempty"` 12493 12494 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 12495 // unconditionally include in API requests. By default, fields with 12496 // empty or default values are omitted from API requests. However, any 12497 // non-pointer, non-interface field appearing in ForceSendFields will be 12498 // sent to the server regardless of whether the field is empty or not. 12499 // This may be used to include empty fields in Patch requests. 12500 ForceSendFields []string `json:"-"` 12501 12502 // NullFields is a list of field names (e.g. "LanguageCode") to include 12503 // in API requests with the JSON null value. By default, fields with 12504 // empty values are omitted from API requests. However, any field with 12505 // an empty value appearing in NullFields will be sent to the server as 12506 // null. It is an error if a field in this list has a non-empty value. 12507 // This may be used to include null fields in Patch requests. 12508 NullFields []string `json:"-"` 12509} 12510 12511func (s *ObjectAnnotation) MarshalJSON() ([]byte, error) { 12512 type NoMethod ObjectAnnotation 12513 raw := NoMethod(*s) 12514 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12515} 12516 12517func (s *ObjectAnnotation) UnmarshalJSON(data []byte) error { 12518 type NoMethod ObjectAnnotation 12519 var s1 struct { 12520 Score gensupport.JSONFloat64 `json:"score"` 12521 *NoMethod 12522 } 12523 s1.NoMethod = (*NoMethod)(s) 12524 if err := json.Unmarshal(data, &s1); err != nil { 12525 return err 12526 } 12527 s.Score = float64(s1.Score) 12528 return nil 12529} 12530 12531// Operation: This resource represents a long-running operation that is 12532// the result of a network API call. 12533type Operation struct { 12534 // Done: If the value is `false`, it means the operation is still in 12535 // progress. If `true`, the operation is completed, and either `error` 12536 // or `response` is available. 12537 Done bool `json:"done,omitempty"` 12538 12539 // Error: The error result of the operation in case of failure or 12540 // cancellation. 12541 Error *Status `json:"error,omitempty"` 12542 12543 // Metadata: Service-specific metadata associated with the operation. It 12544 // typically contains progress information and common metadata such as 12545 // create time. Some services might not provide such metadata. Any 12546 // method that returns a long-running operation should document the 12547 // metadata type, if any. 12548 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 12549 12550 // Name: The server-assigned name, which is only unique within the same 12551 // service that originally returns it. If you use the default HTTP 12552 // mapping, the `name` should be a resource name ending with 12553 // `operations/{unique_id}`. 12554 Name string `json:"name,omitempty"` 12555 12556 // Response: The normal response of the operation in case of success. If 12557 // the original method returns no data on success, such as `Delete`, the 12558 // response is `google.protobuf.Empty`. If the original method is 12559 // standard `Get`/`Create`/`Update`, the response should be the 12560 // resource. For other methods, the response should have the type 12561 // `XxxResponse`, where `Xxx` is the original method name. For example, 12562 // if the original method name is `TakeSnapshot()`, the inferred 12563 // response type is `TakeSnapshotResponse`. 12564 Response googleapi.RawMessage `json:"response,omitempty"` 12565 12566 // ServerResponse contains the HTTP response code and headers from the 12567 // server. 12568 googleapi.ServerResponse `json:"-"` 12569 12570 // ForceSendFields is a list of field names (e.g. "Done") to 12571 // unconditionally include in API requests. By default, fields with 12572 // empty or default values are omitted from API requests. However, any 12573 // non-pointer, non-interface field appearing in ForceSendFields will be 12574 // sent to the server regardless of whether the field is empty or not. 12575 // This may be used to include empty fields in Patch requests. 12576 ForceSendFields []string `json:"-"` 12577 12578 // NullFields is a list of field names (e.g. "Done") to include in API 12579 // requests with the JSON null value. By default, fields with empty 12580 // values are omitted from API requests. However, any field with an 12581 // empty value appearing in NullFields will be sent to the server as 12582 // null. It is an error if a field in this list has a non-empty value. 12583 // This may be used to include null fields in Patch requests. 12584 NullFields []string `json:"-"` 12585} 12586 12587func (s *Operation) MarshalJSON() ([]byte, error) { 12588 type NoMethod Operation 12589 raw := NoMethod(*s) 12590 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12591} 12592 12593// OperationMetadata: Contains metadata for the BatchAnnotateImages 12594// operation. 12595type OperationMetadata struct { 12596 // CreateTime: The time when the batch request was received. 12597 CreateTime string `json:"createTime,omitempty"` 12598 12599 // State: Current state of the batch operation. 12600 // 12601 // Possible values: 12602 // "STATE_UNSPECIFIED" - Invalid. 12603 // "CREATED" - Request is received. 12604 // "RUNNING" - Request is actively being processed. 12605 // "DONE" - The batch processing is done. 12606 // "CANCELLED" - The batch processing was cancelled. 12607 State string `json:"state,omitempty"` 12608 12609 // UpdateTime: The time when the operation result was last updated. 12610 UpdateTime string `json:"updateTime,omitempty"` 12611 12612 // ForceSendFields is a list of field names (e.g. "CreateTime") to 12613 // unconditionally include in API requests. By default, fields with 12614 // empty or default values are omitted from API requests. However, any 12615 // non-pointer, non-interface field appearing in ForceSendFields will be 12616 // sent to the server regardless of whether the field is empty or not. 12617 // This may be used to include empty fields in Patch requests. 12618 ForceSendFields []string `json:"-"` 12619 12620 // NullFields is a list of field names (e.g. "CreateTime") to include in 12621 // API requests with the JSON null value. By default, fields with empty 12622 // values are omitted from API requests. However, any field with an 12623 // empty value appearing in NullFields will be sent to the server as 12624 // null. It is an error if a field in this list has a non-empty value. 12625 // This may be used to include null fields in Patch requests. 12626 NullFields []string `json:"-"` 12627} 12628 12629func (s *OperationMetadata) MarshalJSON() ([]byte, error) { 12630 type NoMethod OperationMetadata 12631 raw := NoMethod(*s) 12632 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12633} 12634 12635// OutputConfig: The desired output location and metadata. 12636type OutputConfig struct { 12637 // BatchSize: The max number of response protos to put into each output 12638 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 12639 // not specified, the default value is 20. For example, for one pdf file 12640 // with 100 pages, 100 response protos will be generated. If 12641 // `batch_size` = 20, then 5 json files each containing 20 response 12642 // protos will be written under the prefix `gcs_destination`.`uri`. 12643 // Currently, batch_size only applies to GcsDestination, with potential 12644 // future support for other output configurations. 12645 BatchSize int64 `json:"batchSize,omitempty"` 12646 12647 // GcsDestination: The Google Cloud Storage location to write the 12648 // output(s) to. 12649 GcsDestination *GcsDestination `json:"gcsDestination,omitempty"` 12650 12651 // ForceSendFields is a list of field names (e.g. "BatchSize") to 12652 // unconditionally include in API requests. By default, fields with 12653 // empty or default values are omitted from API requests. However, any 12654 // non-pointer, non-interface field appearing in ForceSendFields will be 12655 // sent to the server regardless of whether the field is empty or not. 12656 // This may be used to include empty fields in Patch requests. 12657 ForceSendFields []string `json:"-"` 12658 12659 // NullFields is a list of field names (e.g. "BatchSize") to include in 12660 // API requests with the JSON null value. By default, fields with empty 12661 // values are omitted from API requests. However, any field with an 12662 // empty value appearing in NullFields will be sent to the server as 12663 // null. It is an error if a field in this list has a non-empty value. 12664 // This may be used to include null fields in Patch requests. 12665 NullFields []string `json:"-"` 12666} 12667 12668func (s *OutputConfig) MarshalJSON() ([]byte, error) { 12669 type NoMethod OutputConfig 12670 raw := NoMethod(*s) 12671 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12672} 12673 12674// Page: Detected page from OCR. 12675type Page struct { 12676 // Blocks: List of blocks of text, images etc on this page. 12677 Blocks []*Block `json:"blocks,omitempty"` 12678 12679 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 12680 Confidence float64 `json:"confidence,omitempty"` 12681 12682 // Height: Page height. For PDFs the unit is points. For images 12683 // (including TIFFs) the unit is pixels. 12684 Height int64 `json:"height,omitempty"` 12685 12686 // Property: Additional information detected on the page. 12687 Property *TextProperty `json:"property,omitempty"` 12688 12689 // Width: Page width. For PDFs the unit is points. For images (including 12690 // TIFFs) the unit is pixels. 12691 Width int64 `json:"width,omitempty"` 12692 12693 // ForceSendFields is a list of field names (e.g. "Blocks") to 12694 // unconditionally include in API requests. By default, fields with 12695 // empty or default values are omitted from API requests. However, any 12696 // non-pointer, non-interface field appearing in ForceSendFields will be 12697 // sent to the server regardless of whether the field is empty or not. 12698 // This may be used to include empty fields in Patch requests. 12699 ForceSendFields []string `json:"-"` 12700 12701 // NullFields is a list of field names (e.g. "Blocks") to include in API 12702 // requests with the JSON null value. By default, fields with empty 12703 // values are omitted from API requests. However, any field with an 12704 // empty value appearing in NullFields will be sent to the server as 12705 // null. It is an error if a field in this list has a non-empty value. 12706 // This may be used to include null fields in Patch requests. 12707 NullFields []string `json:"-"` 12708} 12709 12710func (s *Page) MarshalJSON() ([]byte, error) { 12711 type NoMethod Page 12712 raw := NoMethod(*s) 12713 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12714} 12715 12716func (s *Page) UnmarshalJSON(data []byte) error { 12717 type NoMethod Page 12718 var s1 struct { 12719 Confidence gensupport.JSONFloat64 `json:"confidence"` 12720 *NoMethod 12721 } 12722 s1.NoMethod = (*NoMethod)(s) 12723 if err := json.Unmarshal(data, &s1); err != nil { 12724 return err 12725 } 12726 s.Confidence = float64(s1.Confidence) 12727 return nil 12728} 12729 12730// Paragraph: Structural unit of text representing a number of words in 12731// certain order. 12732type Paragraph struct { 12733 // BoundingBox: The bounding box for the paragraph. The vertices are in 12734 // the order of top-left, top-right, bottom-right, bottom-left. When a 12735 // rotation of the bounding box is detected the rotation is represented 12736 // as around the top-left corner as defined when the text is read in the 12737 // 'natural' orientation. For example: * when the text is horizontal it 12738 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 12739 // around the top-left corner it becomes: 2----3 | | 1----0 and the 12740 // vertex order will still be (0, 1, 2, 3). 12741 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 12742 12743 // Confidence: Confidence of the OCR results for the paragraph. Range 12744 // [0, 1]. 12745 Confidence float64 `json:"confidence,omitempty"` 12746 12747 // Property: Additional information detected for the paragraph. 12748 Property *TextProperty `json:"property,omitempty"` 12749 12750 // Words: List of all words in this paragraph. 12751 Words []*Word `json:"words,omitempty"` 12752 12753 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 12754 // unconditionally include in API requests. By default, fields with 12755 // empty or default values are omitted from API requests. However, any 12756 // non-pointer, non-interface field appearing in ForceSendFields will be 12757 // sent to the server regardless of whether the field is empty or not. 12758 // This may be used to include empty fields in Patch requests. 12759 ForceSendFields []string `json:"-"` 12760 12761 // NullFields is a list of field names (e.g. "BoundingBox") to include 12762 // in API requests with the JSON null value. By default, fields with 12763 // empty values are omitted from API requests. However, any field with 12764 // an empty value appearing in NullFields will be sent to the server as 12765 // null. It is an error if a field in this list has a non-empty value. 12766 // This may be used to include null fields in Patch requests. 12767 NullFields []string `json:"-"` 12768} 12769 12770func (s *Paragraph) MarshalJSON() ([]byte, error) { 12771 type NoMethod Paragraph 12772 raw := NoMethod(*s) 12773 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12774} 12775 12776func (s *Paragraph) UnmarshalJSON(data []byte) error { 12777 type NoMethod Paragraph 12778 var s1 struct { 12779 Confidence gensupport.JSONFloat64 `json:"confidence"` 12780 *NoMethod 12781 } 12782 s1.NoMethod = (*NoMethod)(s) 12783 if err := json.Unmarshal(data, &s1); err != nil { 12784 return err 12785 } 12786 s.Confidence = float64(s1.Confidence) 12787 return nil 12788} 12789 12790// Position: A 3D position in the image, used primarily for Face 12791// detection landmarks. A valid Position must have both x and y 12792// coordinates. The position coordinates are in the same scale as the 12793// original image. 12794type Position struct { 12795 // X: X coordinate. 12796 X float64 `json:"x,omitempty"` 12797 12798 // Y: Y coordinate. 12799 Y float64 `json:"y,omitempty"` 12800 12801 // Z: Z coordinate (or depth). 12802 Z float64 `json:"z,omitempty"` 12803 12804 // ForceSendFields is a list of field names (e.g. "X") to 12805 // unconditionally include in API requests. By default, fields with 12806 // empty or default values are omitted from API requests. However, any 12807 // non-pointer, non-interface field appearing in ForceSendFields will be 12808 // sent to the server regardless of whether the field is empty or not. 12809 // This may be used to include empty fields in Patch requests. 12810 ForceSendFields []string `json:"-"` 12811 12812 // NullFields is a list of field names (e.g. "X") to include in API 12813 // requests with the JSON null value. By default, fields with empty 12814 // values are omitted from API requests. However, any field with an 12815 // empty value appearing in NullFields will be sent to the server as 12816 // null. It is an error if a field in this list has a non-empty value. 12817 // This may be used to include null fields in Patch requests. 12818 NullFields []string `json:"-"` 12819} 12820 12821func (s *Position) MarshalJSON() ([]byte, error) { 12822 type NoMethod Position 12823 raw := NoMethod(*s) 12824 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12825} 12826 12827func (s *Position) UnmarshalJSON(data []byte) error { 12828 type NoMethod Position 12829 var s1 struct { 12830 X gensupport.JSONFloat64 `json:"x"` 12831 Y gensupport.JSONFloat64 `json:"y"` 12832 Z gensupport.JSONFloat64 `json:"z"` 12833 *NoMethod 12834 } 12835 s1.NoMethod = (*NoMethod)(s) 12836 if err := json.Unmarshal(data, &s1); err != nil { 12837 return err 12838 } 12839 s.X = float64(s1.X) 12840 s.Y = float64(s1.Y) 12841 s.Z = float64(s1.Z) 12842 return nil 12843} 12844 12845// Product: A Product contains ReferenceImages. 12846type Product struct { 12847 // Description: User-provided metadata to be stored with this product. 12848 // Must be at most 4096 characters long. 12849 Description string `json:"description,omitempty"` 12850 12851 // DisplayName: The user-provided name for this Product. Must not be 12852 // empty. Must be at most 4096 characters long. 12853 DisplayName string `json:"displayName,omitempty"` 12854 12855 // Name: The resource name of the product. Format is: 12856 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 12857 // field is ignored when creating a product. 12858 Name string `json:"name,omitempty"` 12859 12860 // ProductCategory: Immutable. The category for the product identified 12861 // by the reference image. This should be one of "homegoods-v2", 12862 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 12863 // legacy categories "homegoods", "apparel", and "toys" are still 12864 // supported, but these should not be used for new products. 12865 ProductCategory string `json:"productCategory,omitempty"` 12866 12867 // ProductLabels: Key-value pairs that can be attached to a product. At 12868 // query time, constraints can be specified based on the product_labels. 12869 // Note that integer values can be provided as strings, e.g. "1199". 12870 // Only strings with integer values can match a range-based restriction 12871 // which is to be supported soon. Multiple values can be assigned to the 12872 // same key. One product may have up to 500 product_labels. Notice that 12873 // the total number of distinct product_labels over all products in one 12874 // ProductSet cannot exceed 1M, otherwise the product search pipeline 12875 // will refuse to work for that ProductSet. 12876 ProductLabels []*KeyValue `json:"productLabels,omitempty"` 12877 12878 // ServerResponse contains the HTTP response code and headers from the 12879 // server. 12880 googleapi.ServerResponse `json:"-"` 12881 12882 // ForceSendFields is a list of field names (e.g. "Description") to 12883 // unconditionally include in API requests. By default, fields with 12884 // empty or default values are omitted from API requests. However, any 12885 // non-pointer, non-interface field appearing in ForceSendFields will be 12886 // sent to the server regardless of whether the field is empty or not. 12887 // This may be used to include empty fields in Patch requests. 12888 ForceSendFields []string `json:"-"` 12889 12890 // NullFields is a list of field names (e.g. "Description") to include 12891 // in API requests with the JSON null value. By default, fields with 12892 // empty values are omitted from API requests. However, any field with 12893 // an empty value appearing in NullFields will be sent to the server as 12894 // null. It is an error if a field in this list has a non-empty value. 12895 // This may be used to include null fields in Patch requests. 12896 NullFields []string `json:"-"` 12897} 12898 12899func (s *Product) MarshalJSON() ([]byte, error) { 12900 type NoMethod Product 12901 raw := NoMethod(*s) 12902 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12903} 12904 12905// ProductSearchParams: Parameters for a product search request. 12906type ProductSearchParams struct { 12907 // BoundingPoly: The bounding polygon around the area of interest in the 12908 // image. If it is not specified, system discretion will be applied. 12909 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 12910 12911 // Filter: The filtering expression. This can be used to restrict search 12912 // results based on Product labels. We currently support an AND of OR of 12913 // key-value expressions, where each expression within an OR must have 12914 // the same key. An '=' should be used to connect the key and value. For 12915 // example, "(color = red OR color = blue) AND brand = Google" is 12916 // acceptable, but "(color = red OR brand = Google)" is not acceptable. 12917 // "color: red" is not acceptable because it uses a ':' instead of an 12918 // '='. 12919 Filter string `json:"filter,omitempty"` 12920 12921 // ProductCategories: The list of product categories to search in. 12922 // Currently, we only consider the first category, and either 12923 // "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or 12924 // "general-v1" should be specified. The legacy categories "homegoods", 12925 // "apparel", and "toys" are still supported but will be deprecated. For 12926 // new products, please use "homegoods-v2", "apparel-v2", or "toys-v2" 12927 // for better product search accuracy. It is recommended to migrate 12928 // existing products to these categories as well. 12929 ProductCategories []string `json:"productCategories,omitempty"` 12930 12931 // ProductSet: The resource name of a ProductSet to be searched for 12932 // similar images. Format is: 12933 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 12934 ProductSet string `json:"productSet,omitempty"` 12935 12936 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 12937 // unconditionally include in API requests. By default, fields with 12938 // empty or default values are omitted from API requests. However, any 12939 // non-pointer, non-interface field appearing in ForceSendFields will be 12940 // sent to the server regardless of whether the field is empty or not. 12941 // This may be used to include empty fields in Patch requests. 12942 ForceSendFields []string `json:"-"` 12943 12944 // NullFields is a list of field names (e.g. "BoundingPoly") to include 12945 // in API requests with the JSON null value. By default, fields with 12946 // empty values are omitted from API requests. However, any field with 12947 // an empty value appearing in NullFields will be sent to the server as 12948 // null. It is an error if a field in this list has a non-empty value. 12949 // This may be used to include null fields in Patch requests. 12950 NullFields []string `json:"-"` 12951} 12952 12953func (s *ProductSearchParams) MarshalJSON() ([]byte, error) { 12954 type NoMethod ProductSearchParams 12955 raw := NoMethod(*s) 12956 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12957} 12958 12959// ProductSearchResults: Results for a product search request. 12960type ProductSearchResults struct { 12961 // IndexTime: Timestamp of the index which provided these results. 12962 // Products added to the product set and products removed from the 12963 // product set after this time are not reflected in the current results. 12964 IndexTime string `json:"indexTime,omitempty"` 12965 12966 // ProductGroupedResults: List of results grouped by products detected 12967 // in the query image. Each entry corresponds to one bounding polygon in 12968 // the query image, and contains the matching products specific to that 12969 // region. There may be duplicate product matches in the union of all 12970 // the per-product results. 12971 ProductGroupedResults []*GroupedResult `json:"productGroupedResults,omitempty"` 12972 12973 // Results: List of results, one for each product match. 12974 Results []*Result `json:"results,omitempty"` 12975 12976 // ForceSendFields is a list of field names (e.g. "IndexTime") to 12977 // unconditionally include in API requests. By default, fields with 12978 // empty or default values are omitted from API requests. However, any 12979 // non-pointer, non-interface field appearing in ForceSendFields will be 12980 // sent to the server regardless of whether the field is empty or not. 12981 // This may be used to include empty fields in Patch requests. 12982 ForceSendFields []string `json:"-"` 12983 12984 // NullFields is a list of field names (e.g. "IndexTime") to include in 12985 // API requests with the JSON null value. By default, fields with empty 12986 // values are omitted from API requests. However, any field with an 12987 // empty value appearing in NullFields will be sent to the server as 12988 // null. It is an error if a field in this list has a non-empty value. 12989 // This may be used to include null fields in Patch requests. 12990 NullFields []string `json:"-"` 12991} 12992 12993func (s *ProductSearchResults) MarshalJSON() ([]byte, error) { 12994 type NoMethod ProductSearchResults 12995 raw := NoMethod(*s) 12996 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12997} 12998 12999// ProductSet: A ProductSet contains Products. A ProductSet can contain 13000// a maximum of 1 million reference images. If the limit is exceeded, 13001// periodic indexing will fail. 13002type ProductSet struct { 13003 // DisplayName: The user-provided name for this ProductSet. Must not be 13004 // empty. Must be at most 4096 characters long. 13005 DisplayName string `json:"displayName,omitempty"` 13006 13007 // IndexError: Output only. If there was an error with indexing the 13008 // product set, the field is populated. This field is ignored when 13009 // creating a ProductSet. 13010 IndexError *Status `json:"indexError,omitempty"` 13011 13012 // IndexTime: Output only. The time at which this ProductSet was last 13013 // indexed. Query results will reflect all updates before this time. If 13014 // this ProductSet has never been indexed, this timestamp is the default 13015 // value "1970-01-01T00:00:00Z". This field is ignored when creating a 13016 // ProductSet. 13017 IndexTime string `json:"indexTime,omitempty"` 13018 13019 // Name: The resource name of the ProductSet. Format is: 13020 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 13021 // This field is ignored when creating a ProductSet. 13022 Name string `json:"name,omitempty"` 13023 13024 // ServerResponse contains the HTTP response code and headers from the 13025 // server. 13026 googleapi.ServerResponse `json:"-"` 13027 13028 // ForceSendFields is a list of field names (e.g. "DisplayName") to 13029 // unconditionally include in API requests. By default, fields with 13030 // empty or default values are omitted from API requests. However, any 13031 // non-pointer, non-interface field appearing in ForceSendFields will be 13032 // sent to the server regardless of whether the field is empty or not. 13033 // This may be used to include empty fields in Patch requests. 13034 ForceSendFields []string `json:"-"` 13035 13036 // NullFields is a list of field names (e.g. "DisplayName") to include 13037 // in API requests with the JSON null value. By default, fields with 13038 // empty values are omitted from API requests. However, any field with 13039 // an empty value appearing in NullFields will be sent to the server as 13040 // null. It is an error if a field in this list has a non-empty value. 13041 // This may be used to include null fields in Patch requests. 13042 NullFields []string `json:"-"` 13043} 13044 13045func (s *ProductSet) MarshalJSON() ([]byte, error) { 13046 type NoMethod ProductSet 13047 raw := NoMethod(*s) 13048 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13049} 13050 13051// ProductSetPurgeConfig: Config to control which ProductSet contains 13052// the Products to be deleted. 13053type ProductSetPurgeConfig struct { 13054 // ProductSetId: The ProductSet that contains the Products to delete. If 13055 // a Product is a member of product_set_id in addition to other 13056 // ProductSets, the Product will still be deleted. 13057 ProductSetId string `json:"productSetId,omitempty"` 13058 13059 // ForceSendFields is a list of field names (e.g. "ProductSetId") to 13060 // unconditionally include in API requests. By default, fields with 13061 // empty or default values are omitted from API requests. However, any 13062 // non-pointer, non-interface field appearing in ForceSendFields will be 13063 // sent to the server regardless of whether the field is empty or not. 13064 // This may be used to include empty fields in Patch requests. 13065 ForceSendFields []string `json:"-"` 13066 13067 // NullFields is a list of field names (e.g. "ProductSetId") to include 13068 // in API requests with the JSON null value. By default, fields with 13069 // empty values are omitted from API requests. However, any field with 13070 // an empty value appearing in NullFields will be sent to the server as 13071 // null. It is an error if a field in this list has a non-empty value. 13072 // This may be used to include null fields in Patch requests. 13073 NullFields []string `json:"-"` 13074} 13075 13076func (s *ProductSetPurgeConfig) MarshalJSON() ([]byte, error) { 13077 type NoMethod ProductSetPurgeConfig 13078 raw := NoMethod(*s) 13079 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13080} 13081 13082// Property: A `Property` consists of a user-supplied name/value pair. 13083type Property struct { 13084 // Name: Name of the property. 13085 Name string `json:"name,omitempty"` 13086 13087 // Uint64Value: Value of numeric properties. 13088 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 13089 13090 // Value: Value of the property. 13091 Value string `json:"value,omitempty"` 13092 13093 // ForceSendFields is a list of field names (e.g. "Name") to 13094 // unconditionally include in API requests. By default, fields with 13095 // empty or default values are omitted from API requests. However, any 13096 // non-pointer, non-interface field appearing in ForceSendFields will be 13097 // sent to the server regardless of whether the field is empty or not. 13098 // This may be used to include empty fields in Patch requests. 13099 ForceSendFields []string `json:"-"` 13100 13101 // NullFields is a list of field names (e.g. "Name") to include in API 13102 // requests with the JSON null value. By default, fields with empty 13103 // values are omitted from API requests. However, any field with an 13104 // empty value appearing in NullFields will be sent to the server as 13105 // null. It is an error if a field in this list has a non-empty value. 13106 // This may be used to include null fields in Patch requests. 13107 NullFields []string `json:"-"` 13108} 13109 13110func (s *Property) MarshalJSON() ([]byte, error) { 13111 type NoMethod Property 13112 raw := NoMethod(*s) 13113 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13114} 13115 13116// PurgeProductsRequest: Request message for the `PurgeProducts` method. 13117type PurgeProductsRequest struct { 13118 // DeleteOrphanProducts: If delete_orphan_products is true, all Products 13119 // that are not in any ProductSet will be deleted. 13120 DeleteOrphanProducts bool `json:"deleteOrphanProducts,omitempty"` 13121 13122 // Force: The default value is false. Override this value to true to 13123 // actually perform the purge. 13124 Force bool `json:"force,omitempty"` 13125 13126 // ProductSetPurgeConfig: Specify which ProductSet contains the Products 13127 // to be deleted. 13128 ProductSetPurgeConfig *ProductSetPurgeConfig `json:"productSetPurgeConfig,omitempty"` 13129 13130 // ForceSendFields is a list of field names (e.g. 13131 // "DeleteOrphanProducts") to unconditionally include in API requests. 13132 // By default, fields with empty or default values are omitted from API 13133 // requests. However, any non-pointer, non-interface field appearing in 13134 // ForceSendFields will be sent to the server regardless of whether the 13135 // field is empty or not. This may be used to include empty fields in 13136 // Patch requests. 13137 ForceSendFields []string `json:"-"` 13138 13139 // NullFields is a list of field names (e.g. "DeleteOrphanProducts") to 13140 // include in API requests with the JSON null value. By default, fields 13141 // with empty values are omitted from API requests. However, any field 13142 // with an empty value appearing in NullFields will be sent to the 13143 // server as null. It is an error if a field in this list has a 13144 // non-empty value. This may be used to include null fields in Patch 13145 // requests. 13146 NullFields []string `json:"-"` 13147} 13148 13149func (s *PurgeProductsRequest) MarshalJSON() ([]byte, error) { 13150 type NoMethod PurgeProductsRequest 13151 raw := NoMethod(*s) 13152 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13153} 13154 13155// ReferenceImage: A `ReferenceImage` represents a product image and its 13156// associated metadata, such as bounding boxes. 13157type ReferenceImage struct { 13158 // BoundingPolys: Optional. Bounding polygons around the areas of 13159 // interest in the reference image. If this field is empty, the system 13160 // will try to detect regions of interest. At most 10 bounding polygons 13161 // will be used. The provided shape is converted into a non-rotated 13162 // rectangle. Once converted, the small edge of the rectangle must be 13163 // greater than or equal to 300 pixels. The aspect ratio must be 1:4 or 13164 // less (i.e. 1:3 is ok; 1:5 is not). 13165 BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"` 13166 13167 // Name: The resource name of the reference image. Format is: 13168 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceIma 13169 // ges/IMAGE_ID`. This field is ignored when creating a reference image. 13170 Name string `json:"name,omitempty"` 13171 13172 // Uri: Required. The Google Cloud Storage URI of the reference image. 13173 // The URI must start with `gs://`. 13174 Uri string `json:"uri,omitempty"` 13175 13176 // ServerResponse contains the HTTP response code and headers from the 13177 // server. 13178 googleapi.ServerResponse `json:"-"` 13179 13180 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 13181 // unconditionally include in API requests. By default, fields with 13182 // empty or default values are omitted from API requests. However, any 13183 // non-pointer, non-interface field appearing in ForceSendFields will be 13184 // sent to the server regardless of whether the field is empty or not. 13185 // This may be used to include empty fields in Patch requests. 13186 ForceSendFields []string `json:"-"` 13187 13188 // NullFields is a list of field names (e.g. "BoundingPolys") to include 13189 // in API requests with the JSON null value. By default, fields with 13190 // empty values are omitted from API requests. However, any field with 13191 // an empty value appearing in NullFields will be sent to the server as 13192 // null. It is an error if a field in this list has a non-empty value. 13193 // This may be used to include null fields in Patch requests. 13194 NullFields []string `json:"-"` 13195} 13196 13197func (s *ReferenceImage) MarshalJSON() ([]byte, error) { 13198 type NoMethod ReferenceImage 13199 raw := NoMethod(*s) 13200 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13201} 13202 13203// RemoveProductFromProductSetRequest: Request message for the 13204// `RemoveProductFromProductSet` method. 13205type RemoveProductFromProductSetRequest struct { 13206 // Product: Required. The resource name for the Product to be removed 13207 // from this ProductSet. Format is: 13208 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` 13209 Product string `json:"product,omitempty"` 13210 13211 // ForceSendFields is a list of field names (e.g. "Product") to 13212 // unconditionally include in API requests. By default, fields with 13213 // empty or default values are omitted from API requests. However, any 13214 // non-pointer, non-interface field appearing in ForceSendFields will be 13215 // sent to the server regardless of whether the field is empty or not. 13216 // This may be used to include empty fields in Patch requests. 13217 ForceSendFields []string `json:"-"` 13218 13219 // NullFields is a list of field names (e.g. "Product") to include in 13220 // API requests with the JSON null value. By default, fields with empty 13221 // values are omitted from API requests. However, any field with an 13222 // empty value appearing in NullFields will be sent to the server as 13223 // null. It is an error if a field in this list has a non-empty value. 13224 // This may be used to include null fields in Patch requests. 13225 NullFields []string `json:"-"` 13226} 13227 13228func (s *RemoveProductFromProductSetRequest) MarshalJSON() ([]byte, error) { 13229 type NoMethod RemoveProductFromProductSetRequest 13230 raw := NoMethod(*s) 13231 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13232} 13233 13234// Result: Information about a product. 13235type Result struct { 13236 // Image: The resource name of the image from the product that is the 13237 // closest match to the query. 13238 Image string `json:"image,omitempty"` 13239 13240 // Product: The Product. 13241 Product *Product `json:"product,omitempty"` 13242 13243 // Score: A confidence level on the match, ranging from 0 (no 13244 // confidence) to 1 (full confidence). 13245 Score float64 `json:"score,omitempty"` 13246 13247 // ForceSendFields is a list of field names (e.g. "Image") to 13248 // unconditionally include in API requests. By default, fields with 13249 // empty or default values are omitted from API requests. However, any 13250 // non-pointer, non-interface field appearing in ForceSendFields will be 13251 // sent to the server regardless of whether the field is empty or not. 13252 // This may be used to include empty fields in Patch requests. 13253 ForceSendFields []string `json:"-"` 13254 13255 // NullFields is a list of field names (e.g. "Image") to include in API 13256 // requests with the JSON null value. By default, fields with empty 13257 // values are omitted from API requests. However, any field with an 13258 // empty value appearing in NullFields will be sent to the server as 13259 // null. It is an error if a field in this list has a non-empty value. 13260 // This may be used to include null fields in Patch requests. 13261 NullFields []string `json:"-"` 13262} 13263 13264func (s *Result) MarshalJSON() ([]byte, error) { 13265 type NoMethod Result 13266 raw := NoMethod(*s) 13267 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13268} 13269 13270func (s *Result) UnmarshalJSON(data []byte) error { 13271 type NoMethod Result 13272 var s1 struct { 13273 Score gensupport.JSONFloat64 `json:"score"` 13274 *NoMethod 13275 } 13276 s1.NoMethod = (*NoMethod)(s) 13277 if err := json.Unmarshal(data, &s1); err != nil { 13278 return err 13279 } 13280 s.Score = float64(s1.Score) 13281 return nil 13282} 13283 13284// SafeSearchAnnotation: Set of features pertaining to the image, 13285// computed by computer vision methods over safe-search verticals (for 13286// example, adult, spoof, medical, violence). 13287type SafeSearchAnnotation struct { 13288 // Adult: Represents the adult content likelihood for the image. Adult 13289 // content may contain elements such as nudity, pornographic images or 13290 // cartoons, or sexual activities. 13291 // 13292 // Possible values: 13293 // "UNKNOWN" - Unknown likelihood. 13294 // "VERY_UNLIKELY" - It is very unlikely. 13295 // "UNLIKELY" - It is unlikely. 13296 // "POSSIBLE" - It is possible. 13297 // "LIKELY" - It is likely. 13298 // "VERY_LIKELY" - It is very likely. 13299 Adult string `json:"adult,omitempty"` 13300 13301 // Medical: Likelihood that this is a medical image. 13302 // 13303 // Possible values: 13304 // "UNKNOWN" - Unknown likelihood. 13305 // "VERY_UNLIKELY" - It is very unlikely. 13306 // "UNLIKELY" - It is unlikely. 13307 // "POSSIBLE" - It is possible. 13308 // "LIKELY" - It is likely. 13309 // "VERY_LIKELY" - It is very likely. 13310 Medical string `json:"medical,omitempty"` 13311 13312 // Racy: Likelihood that the request image contains racy content. Racy 13313 // content may include (but is not limited to) skimpy or sheer clothing, 13314 // strategically covered nudity, lewd or provocative poses, or close-ups 13315 // of sensitive body areas. 13316 // 13317 // Possible values: 13318 // "UNKNOWN" - Unknown likelihood. 13319 // "VERY_UNLIKELY" - It is very unlikely. 13320 // "UNLIKELY" - It is unlikely. 13321 // "POSSIBLE" - It is possible. 13322 // "LIKELY" - It is likely. 13323 // "VERY_LIKELY" - It is very likely. 13324 Racy string `json:"racy,omitempty"` 13325 13326 // Spoof: Spoof likelihood. The likelihood that an modification was made 13327 // to the image's canonical version to make it appear funny or 13328 // offensive. 13329 // 13330 // Possible values: 13331 // "UNKNOWN" - Unknown likelihood. 13332 // "VERY_UNLIKELY" - It is very unlikely. 13333 // "UNLIKELY" - It is unlikely. 13334 // "POSSIBLE" - It is possible. 13335 // "LIKELY" - It is likely. 13336 // "VERY_LIKELY" - It is very likely. 13337 Spoof string `json:"spoof,omitempty"` 13338 13339 // Violence: Likelihood that this image contains violent content. 13340 // 13341 // Possible values: 13342 // "UNKNOWN" - Unknown likelihood. 13343 // "VERY_UNLIKELY" - It is very unlikely. 13344 // "UNLIKELY" - It is unlikely. 13345 // "POSSIBLE" - It is possible. 13346 // "LIKELY" - It is likely. 13347 // "VERY_LIKELY" - It is very likely. 13348 Violence string `json:"violence,omitempty"` 13349 13350 // ForceSendFields is a list of field names (e.g. "Adult") to 13351 // unconditionally include in API requests. By default, fields with 13352 // empty or default values are omitted from API requests. However, any 13353 // non-pointer, non-interface field appearing in ForceSendFields will be 13354 // sent to the server regardless of whether the field is empty or not. 13355 // This may be used to include empty fields in Patch requests. 13356 ForceSendFields []string `json:"-"` 13357 13358 // NullFields is a list of field names (e.g. "Adult") to include in API 13359 // requests with the JSON null value. By default, fields with empty 13360 // values are omitted from API requests. However, any field with an 13361 // empty value appearing in NullFields will be sent to the server as 13362 // null. It is an error if a field in this list has a non-empty value. 13363 // This may be used to include null fields in Patch requests. 13364 NullFields []string `json:"-"` 13365} 13366 13367func (s *SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 13368 type NoMethod SafeSearchAnnotation 13369 raw := NoMethod(*s) 13370 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13371} 13372 13373// Status: The `Status` type defines a logical error model that is 13374// suitable for different programming environments, including REST APIs 13375// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each 13376// `Status` message contains three pieces of data: error code, error 13377// message, and error details. You can find out more about this error 13378// model and how to work with it in the API Design Guide 13379// (https://cloud.google.com/apis/design/errors). 13380type Status struct { 13381 // Code: The status code, which should be an enum value of 13382 // google.rpc.Code. 13383 Code int64 `json:"code,omitempty"` 13384 13385 // Details: A list of messages that carry the error details. There is a 13386 // common set of message types for APIs to use. 13387 Details []googleapi.RawMessage `json:"details,omitempty"` 13388 13389 // Message: A developer-facing error message, which should be in 13390 // English. Any user-facing error message should be localized and sent 13391 // in the google.rpc.Status.details field, or localized by the client. 13392 Message string `json:"message,omitempty"` 13393 13394 // ForceSendFields is a list of field names (e.g. "Code") to 13395 // unconditionally include in API requests. By default, fields with 13396 // empty or default values are omitted from API requests. However, any 13397 // non-pointer, non-interface field appearing in ForceSendFields will be 13398 // sent to the server regardless of whether the field is empty or not. 13399 // This may be used to include empty fields in Patch requests. 13400 ForceSendFields []string `json:"-"` 13401 13402 // NullFields is a list of field names (e.g. "Code") to include in API 13403 // requests with the JSON null value. By default, fields with empty 13404 // values are omitted from API requests. However, any field with an 13405 // empty value appearing in NullFields will be sent to the server as 13406 // null. It is an error if a field in this list has a non-empty value. 13407 // This may be used to include null fields in Patch requests. 13408 NullFields []string `json:"-"` 13409} 13410 13411func (s *Status) MarshalJSON() ([]byte, error) { 13412 type NoMethod Status 13413 raw := NoMethod(*s) 13414 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13415} 13416 13417// Symbol: A single symbol representation. 13418type Symbol struct { 13419 // BoundingBox: The bounding box for the symbol. The vertices are in the 13420 // order of top-left, top-right, bottom-right, bottom-left. When a 13421 // rotation of the bounding box is detected the rotation is represented 13422 // as around the top-left corner as defined when the text is read in the 13423 // 'natural' orientation. For example: * when the text is horizontal it 13424 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 13425 // around the top-left corner it becomes: 2----3 | | 1----0 and the 13426 // vertex order will still be (0, 1, 2, 3). 13427 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 13428 13429 // Confidence: Confidence of the OCR results for the symbol. Range [0, 13430 // 1]. 13431 Confidence float64 `json:"confidence,omitempty"` 13432 13433 // Property: Additional information detected for the symbol. 13434 Property *TextProperty `json:"property,omitempty"` 13435 13436 // Text: The actual UTF-8 representation of the symbol. 13437 Text string `json:"text,omitempty"` 13438 13439 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 13440 // unconditionally include in API requests. By default, fields with 13441 // empty or default values are omitted from API requests. However, any 13442 // non-pointer, non-interface field appearing in ForceSendFields will be 13443 // sent to the server regardless of whether the field is empty or not. 13444 // This may be used to include empty fields in Patch requests. 13445 ForceSendFields []string `json:"-"` 13446 13447 // NullFields is a list of field names (e.g. "BoundingBox") to include 13448 // in API requests with the JSON null value. By default, fields with 13449 // empty values are omitted from API requests. However, any field with 13450 // an empty value appearing in NullFields will be sent to the server as 13451 // null. It is an error if a field in this list has a non-empty value. 13452 // This may be used to include null fields in Patch requests. 13453 NullFields []string `json:"-"` 13454} 13455 13456func (s *Symbol) MarshalJSON() ([]byte, error) { 13457 type NoMethod Symbol 13458 raw := NoMethod(*s) 13459 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13460} 13461 13462func (s *Symbol) UnmarshalJSON(data []byte) error { 13463 type NoMethod Symbol 13464 var s1 struct { 13465 Confidence gensupport.JSONFloat64 `json:"confidence"` 13466 *NoMethod 13467 } 13468 s1.NoMethod = (*NoMethod)(s) 13469 if err := json.Unmarshal(data, &s1); err != nil { 13470 return err 13471 } 13472 s.Confidence = float64(s1.Confidence) 13473 return nil 13474} 13475 13476// TextAnnotation: TextAnnotation contains a structured representation 13477// of OCR extracted text. The hierarchy of an OCR extracted text 13478// structure is like this: TextAnnotation -> Page -> Block -> Paragraph 13479// -> Word -> Symbol Each structural component, starting from Page, may 13480// further have their own properties. Properties describe detected 13481// languages, breaks etc.. Please refer to the 13482// TextAnnotation.TextProperty message definition below for more detail. 13483type TextAnnotation struct { 13484 // Pages: List of pages detected by OCR. 13485 Pages []*Page `json:"pages,omitempty"` 13486 13487 // Text: UTF-8 text detected on the pages. 13488 Text string `json:"text,omitempty"` 13489 13490 // ForceSendFields is a list of field names (e.g. "Pages") to 13491 // unconditionally include in API requests. By default, fields with 13492 // empty or default values are omitted from API requests. However, any 13493 // non-pointer, non-interface field appearing in ForceSendFields will be 13494 // sent to the server regardless of whether the field is empty or not. 13495 // This may be used to include empty fields in Patch requests. 13496 ForceSendFields []string `json:"-"` 13497 13498 // NullFields is a list of field names (e.g. "Pages") to include in API 13499 // requests with the JSON null value. By default, fields with empty 13500 // values are omitted from API requests. However, any field with an 13501 // empty value appearing in NullFields will be sent to the server as 13502 // null. It is an error if a field in this list has a non-empty value. 13503 // This may be used to include null fields in Patch requests. 13504 NullFields []string `json:"-"` 13505} 13506 13507func (s *TextAnnotation) MarshalJSON() ([]byte, error) { 13508 type NoMethod TextAnnotation 13509 raw := NoMethod(*s) 13510 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13511} 13512 13513// TextDetectionParams: Parameters for text detections. This is used to 13514// control TEXT_DETECTION and DOCUMENT_TEXT_DETECTION features. 13515type TextDetectionParams struct { 13516 // EnableTextDetectionConfidenceScore: By default, Cloud Vision API only 13517 // includes confidence score for DOCUMENT_TEXT_DETECTION result. Set the 13518 // flag to true to include confidence score for TEXT_DETECTION as well. 13519 EnableTextDetectionConfidenceScore bool `json:"enableTextDetectionConfidenceScore,omitempty"` 13520 13521 // ForceSendFields is a list of field names (e.g. 13522 // "EnableTextDetectionConfidenceScore") to unconditionally include in 13523 // API requests. By default, fields with empty or default values are 13524 // omitted from API requests. However, any non-pointer, non-interface 13525 // field appearing in ForceSendFields will be sent to the server 13526 // regardless of whether the field is empty or not. This may be used to 13527 // include empty fields in Patch requests. 13528 ForceSendFields []string `json:"-"` 13529 13530 // NullFields is a list of field names (e.g. 13531 // "EnableTextDetectionConfidenceScore") to include in API requests with 13532 // the JSON null value. By default, fields with empty values are omitted 13533 // from API requests. However, any field with an empty value appearing 13534 // in NullFields will be sent to the server as null. It is an error if a 13535 // field in this list has a non-empty value. This may be used to include 13536 // null fields in Patch requests. 13537 NullFields []string `json:"-"` 13538} 13539 13540func (s *TextDetectionParams) MarshalJSON() ([]byte, error) { 13541 type NoMethod TextDetectionParams 13542 raw := NoMethod(*s) 13543 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13544} 13545 13546// TextProperty: Additional information detected on the structural 13547// component. 13548type TextProperty struct { 13549 // DetectedBreak: Detected start or end of a text segment. 13550 DetectedBreak *DetectedBreak `json:"detectedBreak,omitempty"` 13551 13552 // DetectedLanguages: A list of detected languages together with 13553 // confidence. 13554 DetectedLanguages []*DetectedLanguage `json:"detectedLanguages,omitempty"` 13555 13556 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 13557 // unconditionally include in API requests. By default, fields with 13558 // empty or default values are omitted from API requests. However, any 13559 // non-pointer, non-interface field appearing in ForceSendFields will be 13560 // sent to the server regardless of whether the field is empty or not. 13561 // This may be used to include empty fields in Patch requests. 13562 ForceSendFields []string `json:"-"` 13563 13564 // NullFields is a list of field names (e.g. "DetectedBreak") to include 13565 // in API requests with the JSON null value. By default, fields with 13566 // empty values are omitted from API requests. However, any field with 13567 // an empty value appearing in NullFields will be sent to the server as 13568 // null. It is an error if a field in this list has a non-empty value. 13569 // This may be used to include null fields in Patch requests. 13570 NullFields []string `json:"-"` 13571} 13572 13573func (s *TextProperty) MarshalJSON() ([]byte, error) { 13574 type NoMethod TextProperty 13575 raw := NoMethod(*s) 13576 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13577} 13578 13579// Vertex: A vertex represents a 2D point in the image. NOTE: the vertex 13580// coordinates are in the same scale as the original image. 13581type Vertex struct { 13582 // X: X coordinate. 13583 X int64 `json:"x,omitempty"` 13584 13585 // Y: Y coordinate. 13586 Y int64 `json:"y,omitempty"` 13587 13588 // ForceSendFields is a list of field names (e.g. "X") to 13589 // unconditionally include in API requests. By default, fields with 13590 // empty or default values are omitted from API requests. However, any 13591 // non-pointer, non-interface field appearing in ForceSendFields will be 13592 // sent to the server regardless of whether the field is empty or not. 13593 // This may be used to include empty fields in Patch requests. 13594 ForceSendFields []string `json:"-"` 13595 13596 // NullFields is a list of field names (e.g. "X") to include in API 13597 // requests with the JSON null value. By default, fields with empty 13598 // values are omitted from API requests. However, any field with an 13599 // empty value appearing in NullFields will be sent to the server as 13600 // null. It is an error if a field in this list has a non-empty value. 13601 // This may be used to include null fields in Patch requests. 13602 NullFields []string `json:"-"` 13603} 13604 13605func (s *Vertex) MarshalJSON() ([]byte, error) { 13606 type NoMethod Vertex 13607 raw := NoMethod(*s) 13608 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13609} 13610 13611// WebDetection: Relevant information for the image from the Internet. 13612type WebDetection struct { 13613 // BestGuessLabels: The service's best guess as to the topic of the 13614 // request image. Inferred from similar images on the open web. 13615 BestGuessLabels []*WebLabel `json:"bestGuessLabels,omitempty"` 13616 13617 // FullMatchingImages: Fully matching images from the Internet. Can 13618 // include resized copies of the query image. 13619 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 13620 13621 // PagesWithMatchingImages: Web pages containing the matching images 13622 // from the Internet. 13623 PagesWithMatchingImages []*WebPage `json:"pagesWithMatchingImages,omitempty"` 13624 13625 // PartialMatchingImages: Partial matching images from the Internet. 13626 // Those images are similar enough to share some key-point features. For 13627 // example an original image will likely have partial matching for its 13628 // crops. 13629 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 13630 13631 // VisuallySimilarImages: The visually similar image results. 13632 VisuallySimilarImages []*WebImage `json:"visuallySimilarImages,omitempty"` 13633 13634 // WebEntities: Deduced entities from similar images on the Internet. 13635 WebEntities []*WebEntity `json:"webEntities,omitempty"` 13636 13637 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 13638 // unconditionally include in API requests. By default, fields with 13639 // empty or default values are omitted from API requests. However, any 13640 // non-pointer, non-interface field appearing in ForceSendFields will be 13641 // sent to the server regardless of whether the field is empty or not. 13642 // This may be used to include empty fields in Patch requests. 13643 ForceSendFields []string `json:"-"` 13644 13645 // NullFields is a list of field names (e.g. "BestGuessLabels") to 13646 // include in API requests with the JSON null value. By default, fields 13647 // with empty values are omitted from API requests. However, any field 13648 // with an empty value appearing in NullFields will be sent to the 13649 // server as null. It is an error if a field in this list has a 13650 // non-empty value. This may be used to include null fields in Patch 13651 // requests. 13652 NullFields []string `json:"-"` 13653} 13654 13655func (s *WebDetection) MarshalJSON() ([]byte, error) { 13656 type NoMethod WebDetection 13657 raw := NoMethod(*s) 13658 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13659} 13660 13661// WebDetectionParams: Parameters for web detection request. 13662type WebDetectionParams struct { 13663 // IncludeGeoResults: Whether to include results derived from the geo 13664 // information in the image. 13665 IncludeGeoResults bool `json:"includeGeoResults,omitempty"` 13666 13667 // ForceSendFields is a list of field names (e.g. "IncludeGeoResults") 13668 // to unconditionally include in API requests. By default, fields with 13669 // empty or default values are omitted from API requests. However, any 13670 // non-pointer, non-interface field appearing in ForceSendFields will be 13671 // sent to the server regardless of whether the field is empty or not. 13672 // This may be used to include empty fields in Patch requests. 13673 ForceSendFields []string `json:"-"` 13674 13675 // NullFields is a list of field names (e.g. "IncludeGeoResults") to 13676 // include in API requests with the JSON null value. By default, fields 13677 // with empty values are omitted from API requests. However, any field 13678 // with an empty value appearing in NullFields will be sent to the 13679 // server as null. It is an error if a field in this list has a 13680 // non-empty value. This may be used to include null fields in Patch 13681 // requests. 13682 NullFields []string `json:"-"` 13683} 13684 13685func (s *WebDetectionParams) MarshalJSON() ([]byte, error) { 13686 type NoMethod WebDetectionParams 13687 raw := NoMethod(*s) 13688 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13689} 13690 13691// WebEntity: Entity deduced from similar images on the Internet. 13692type WebEntity struct { 13693 // Description: Canonical description of the entity, in English. 13694 Description string `json:"description,omitempty"` 13695 13696 // EntityId: Opaque entity ID. 13697 EntityId string `json:"entityId,omitempty"` 13698 13699 // Score: Overall relevancy score for the entity. Not normalized and not 13700 // comparable across different image queries. 13701 Score float64 `json:"score,omitempty"` 13702 13703 // ForceSendFields is a list of field names (e.g. "Description") to 13704 // unconditionally include in API requests. By default, fields with 13705 // empty or default values are omitted from API requests. However, any 13706 // non-pointer, non-interface field appearing in ForceSendFields will be 13707 // sent to the server regardless of whether the field is empty or not. 13708 // This may be used to include empty fields in Patch requests. 13709 ForceSendFields []string `json:"-"` 13710 13711 // NullFields is a list of field names (e.g. "Description") to include 13712 // in API requests with the JSON null value. By default, fields with 13713 // empty values are omitted from API requests. However, any field with 13714 // an empty value appearing in NullFields will be sent to the server as 13715 // null. It is an error if a field in this list has a non-empty value. 13716 // This may be used to include null fields in Patch requests. 13717 NullFields []string `json:"-"` 13718} 13719 13720func (s *WebEntity) MarshalJSON() ([]byte, error) { 13721 type NoMethod WebEntity 13722 raw := NoMethod(*s) 13723 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13724} 13725 13726func (s *WebEntity) UnmarshalJSON(data []byte) error { 13727 type NoMethod WebEntity 13728 var s1 struct { 13729 Score gensupport.JSONFloat64 `json:"score"` 13730 *NoMethod 13731 } 13732 s1.NoMethod = (*NoMethod)(s) 13733 if err := json.Unmarshal(data, &s1); err != nil { 13734 return err 13735 } 13736 s.Score = float64(s1.Score) 13737 return nil 13738} 13739 13740// WebImage: Metadata for online images. 13741type WebImage struct { 13742 // Score: (Deprecated) Overall relevancy score for the image. 13743 Score float64 `json:"score,omitempty"` 13744 13745 // Url: The result image URL. 13746 Url string `json:"url,omitempty"` 13747 13748 // ForceSendFields is a list of field names (e.g. "Score") to 13749 // unconditionally include in API requests. By default, fields with 13750 // empty or default values are omitted from API requests. However, any 13751 // non-pointer, non-interface field appearing in ForceSendFields will be 13752 // sent to the server regardless of whether the field is empty or not. 13753 // This may be used to include empty fields in Patch requests. 13754 ForceSendFields []string `json:"-"` 13755 13756 // NullFields is a list of field names (e.g. "Score") to include in API 13757 // requests with the JSON null value. By default, fields with empty 13758 // values are omitted from API requests. However, any field with an 13759 // empty value appearing in NullFields will be sent to the server as 13760 // null. It is an error if a field in this list has a non-empty value. 13761 // This may be used to include null fields in Patch requests. 13762 NullFields []string `json:"-"` 13763} 13764 13765func (s *WebImage) MarshalJSON() ([]byte, error) { 13766 type NoMethod WebImage 13767 raw := NoMethod(*s) 13768 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13769} 13770 13771func (s *WebImage) UnmarshalJSON(data []byte) error { 13772 type NoMethod WebImage 13773 var s1 struct { 13774 Score gensupport.JSONFloat64 `json:"score"` 13775 *NoMethod 13776 } 13777 s1.NoMethod = (*NoMethod)(s) 13778 if err := json.Unmarshal(data, &s1); err != nil { 13779 return err 13780 } 13781 s.Score = float64(s1.Score) 13782 return nil 13783} 13784 13785// WebLabel: Label to provide extra metadata for the web detection. 13786type WebLabel struct { 13787 // Label: Label for extra metadata. 13788 Label string `json:"label,omitempty"` 13789 13790 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 13791 // or "sr-Latn". For more information, see 13792 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 13793 LanguageCode string `json:"languageCode,omitempty"` 13794 13795 // ForceSendFields is a list of field names (e.g. "Label") to 13796 // unconditionally include in API requests. By default, fields with 13797 // empty or default values are omitted from API requests. However, any 13798 // non-pointer, non-interface field appearing in ForceSendFields will be 13799 // sent to the server regardless of whether the field is empty or not. 13800 // This may be used to include empty fields in Patch requests. 13801 ForceSendFields []string `json:"-"` 13802 13803 // NullFields is a list of field names (e.g. "Label") to include in API 13804 // requests with the JSON null value. By default, fields with empty 13805 // values are omitted from API requests. However, any field with an 13806 // empty value appearing in NullFields will be sent to the server as 13807 // null. It is an error if a field in this list has a non-empty value. 13808 // This may be used to include null fields in Patch requests. 13809 NullFields []string `json:"-"` 13810} 13811 13812func (s *WebLabel) MarshalJSON() ([]byte, error) { 13813 type NoMethod WebLabel 13814 raw := NoMethod(*s) 13815 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13816} 13817 13818// WebPage: Metadata for web pages. 13819type WebPage struct { 13820 // FullMatchingImages: Fully matching images on the page. Can include 13821 // resized copies of the query image. 13822 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 13823 13824 // PageTitle: Title for the web page, may contain HTML markups. 13825 PageTitle string `json:"pageTitle,omitempty"` 13826 13827 // PartialMatchingImages: Partial matching images on the page. Those 13828 // images are similar enough to share some key-point features. For 13829 // example an original image will likely have partial matching for its 13830 // crops. 13831 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 13832 13833 // Score: (Deprecated) Overall relevancy score for the web page. 13834 Score float64 `json:"score,omitempty"` 13835 13836 // Url: The result web page URL. 13837 Url string `json:"url,omitempty"` 13838 13839 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 13840 // to unconditionally include in API requests. By default, fields with 13841 // empty or default values are omitted from API requests. However, any 13842 // non-pointer, non-interface field appearing in ForceSendFields will be 13843 // sent to the server regardless of whether the field is empty or not. 13844 // This may be used to include empty fields in Patch requests. 13845 ForceSendFields []string `json:"-"` 13846 13847 // NullFields is a list of field names (e.g. "FullMatchingImages") to 13848 // include in API requests with the JSON null value. By default, fields 13849 // with empty values are omitted from API requests. However, any field 13850 // with an empty value appearing in NullFields will be sent to the 13851 // server as null. It is an error if a field in this list has a 13852 // non-empty value. This may be used to include null fields in Patch 13853 // requests. 13854 NullFields []string `json:"-"` 13855} 13856 13857func (s *WebPage) MarshalJSON() ([]byte, error) { 13858 type NoMethod WebPage 13859 raw := NoMethod(*s) 13860 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13861} 13862 13863func (s *WebPage) UnmarshalJSON(data []byte) error { 13864 type NoMethod WebPage 13865 var s1 struct { 13866 Score gensupport.JSONFloat64 `json:"score"` 13867 *NoMethod 13868 } 13869 s1.NoMethod = (*NoMethod)(s) 13870 if err := json.Unmarshal(data, &s1); err != nil { 13871 return err 13872 } 13873 s.Score = float64(s1.Score) 13874 return nil 13875} 13876 13877// Word: A word representation. 13878type Word struct { 13879 // BoundingBox: The bounding box for the word. The vertices are in the 13880 // order of top-left, top-right, bottom-right, bottom-left. When a 13881 // rotation of the bounding box is detected the rotation is represented 13882 // as around the top-left corner as defined when the text is read in the 13883 // 'natural' orientation. For example: * when the text is horizontal it 13884 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 13885 // around the top-left corner it becomes: 2----3 | | 1----0 and the 13886 // vertex order will still be (0, 1, 2, 3). 13887 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 13888 13889 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 13890 Confidence float64 `json:"confidence,omitempty"` 13891 13892 // Property: Additional information detected for the word. 13893 Property *TextProperty `json:"property,omitempty"` 13894 13895 // Symbols: List of symbols in the word. The order of the symbols 13896 // follows the natural reading order. 13897 Symbols []*Symbol `json:"symbols,omitempty"` 13898 13899 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 13900 // unconditionally include in API requests. By default, fields with 13901 // empty or default values are omitted from API requests. However, any 13902 // non-pointer, non-interface field appearing in ForceSendFields will be 13903 // sent to the server regardless of whether the field is empty or not. 13904 // This may be used to include empty fields in Patch requests. 13905 ForceSendFields []string `json:"-"` 13906 13907 // NullFields is a list of field names (e.g. "BoundingBox") to include 13908 // in API requests with the JSON null value. By default, fields with 13909 // empty values are omitted from API requests. However, any field with 13910 // an empty value appearing in NullFields will be sent to the server as 13911 // null. It is an error if a field in this list has a non-empty value. 13912 // This may be used to include null fields in Patch requests. 13913 NullFields []string `json:"-"` 13914} 13915 13916func (s *Word) MarshalJSON() ([]byte, error) { 13917 type NoMethod Word 13918 raw := NoMethod(*s) 13919 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13920} 13921 13922func (s *Word) UnmarshalJSON(data []byte) error { 13923 type NoMethod Word 13924 var s1 struct { 13925 Confidence gensupport.JSONFloat64 `json:"confidence"` 13926 *NoMethod 13927 } 13928 s1.NoMethod = (*NoMethod)(s) 13929 if err := json.Unmarshal(data, &s1); err != nil { 13930 return err 13931 } 13932 s.Confidence = float64(s1.Confidence) 13933 return nil 13934} 13935 13936// method id "vision.files.annotate": 13937 13938type FilesAnnotateCall struct { 13939 s *Service 13940 batchannotatefilesrequest *BatchAnnotateFilesRequest 13941 urlParams_ gensupport.URLParams 13942 ctx_ context.Context 13943 header_ http.Header 13944} 13945 13946// Annotate: Service that performs image detection and annotation for a 13947// batch of files. Now only "application/pdf", "image/tiff" and 13948// "image/gif" are supported. This service will extract at most 5 13949// (customers can specify which 5 in AnnotateFileRequest.pages) frames 13950// (gif) or pages (pdf or tiff) from each file provided and perform 13951// detection and annotation for each image extracted. 13952func (r *FilesService) Annotate(batchannotatefilesrequest *BatchAnnotateFilesRequest) *FilesAnnotateCall { 13953 c := &FilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 13954 c.batchannotatefilesrequest = batchannotatefilesrequest 13955 return c 13956} 13957 13958// Fields allows partial responses to be retrieved. See 13959// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 13960// for more information. 13961func (c *FilesAnnotateCall) Fields(s ...googleapi.Field) *FilesAnnotateCall { 13962 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 13963 return c 13964} 13965 13966// Context sets the context to be used in this call's Do method. Any 13967// pending HTTP request will be aborted if the provided context is 13968// canceled. 13969func (c *FilesAnnotateCall) Context(ctx context.Context) *FilesAnnotateCall { 13970 c.ctx_ = ctx 13971 return c 13972} 13973 13974// Header returns an http.Header that can be modified by the caller to 13975// add HTTP headers to the request. 13976func (c *FilesAnnotateCall) Header() http.Header { 13977 if c.header_ == nil { 13978 c.header_ = make(http.Header) 13979 } 13980 return c.header_ 13981} 13982 13983func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 13984 reqHeaders := make(http.Header) 13985 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 13986 for k, v := range c.header_ { 13987 reqHeaders[k] = v 13988 } 13989 reqHeaders.Set("User-Agent", c.s.userAgent()) 13990 var body io.Reader = nil 13991 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotatefilesrequest) 13992 if err != nil { 13993 return nil, err 13994 } 13995 reqHeaders.Set("Content-Type", "application/json") 13996 c.urlParams_.Set("alt", alt) 13997 c.urlParams_.Set("prettyPrint", "false") 13998 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/files:annotate") 13999 urls += "?" + c.urlParams_.Encode() 14000 req, err := http.NewRequest("POST", urls, body) 14001 if err != nil { 14002 return nil, err 14003 } 14004 req.Header = reqHeaders 14005 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14006} 14007 14008// Do executes the "vision.files.annotate" call. 14009// Exactly one of *BatchAnnotateFilesResponse or error will be non-nil. 14010// Any non-2xx status code is an error. Response headers are in either 14011// *BatchAnnotateFilesResponse.ServerResponse.Header or (if a response 14012// was returned at all) in error.(*googleapi.Error).Header. Use 14013// googleapi.IsNotModified to check whether the returned error was 14014// because http.StatusNotModified was returned. 14015func (c *FilesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateFilesResponse, error) { 14016 gensupport.SetOptions(c.urlParams_, opts...) 14017 res, err := c.doRequest("json") 14018 if res != nil && res.StatusCode == http.StatusNotModified { 14019 if res.Body != nil { 14020 res.Body.Close() 14021 } 14022 return nil, &googleapi.Error{ 14023 Code: res.StatusCode, 14024 Header: res.Header, 14025 } 14026 } 14027 if err != nil { 14028 return nil, err 14029 } 14030 defer googleapi.CloseBody(res) 14031 if err := googleapi.CheckResponse(res); err != nil { 14032 return nil, err 14033 } 14034 ret := &BatchAnnotateFilesResponse{ 14035 ServerResponse: googleapi.ServerResponse{ 14036 Header: res.Header, 14037 HTTPStatusCode: res.StatusCode, 14038 }, 14039 } 14040 target := &ret 14041 if err := gensupport.DecodeResponse(target, res); err != nil { 14042 return nil, err 14043 } 14044 return ret, nil 14045 // { 14046 // "description": "Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", 14047 // "flatPath": "v1/files:annotate", 14048 // "httpMethod": "POST", 14049 // "id": "vision.files.annotate", 14050 // "parameterOrder": [], 14051 // "parameters": {}, 14052 // "path": "v1/files:annotate", 14053 // "request": { 14054 // "$ref": "BatchAnnotateFilesRequest" 14055 // }, 14056 // "response": { 14057 // "$ref": "BatchAnnotateFilesResponse" 14058 // }, 14059 // "scopes": [ 14060 // "https://www.googleapis.com/auth/cloud-platform", 14061 // "https://www.googleapis.com/auth/cloud-vision" 14062 // ] 14063 // } 14064 14065} 14066 14067// method id "vision.files.asyncBatchAnnotate": 14068 14069type FilesAsyncBatchAnnotateCall struct { 14070 s *Service 14071 asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest 14072 urlParams_ gensupport.URLParams 14073 ctx_ context.Context 14074 header_ http.Header 14075} 14076 14077// AsyncBatchAnnotate: Run asynchronous image detection and annotation 14078// for a list of generic files, such as PDF files, which may contain 14079// multiple pages and multiple images per page. Progress and results can 14080// be retrieved through the `google.longrunning.Operations` interface. 14081// `Operation.metadata` contains `OperationMetadata` (metadata). 14082// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 14083// (results). 14084func (r *FilesService) AsyncBatchAnnotate(asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest) *FilesAsyncBatchAnnotateCall { 14085 c := &FilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14086 c.asyncbatchannotatefilesrequest = asyncbatchannotatefilesrequest 14087 return c 14088} 14089 14090// Fields allows partial responses to be retrieved. See 14091// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14092// for more information. 14093func (c *FilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *FilesAsyncBatchAnnotateCall { 14094 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14095 return c 14096} 14097 14098// Context sets the context to be used in this call's Do method. Any 14099// pending HTTP request will be aborted if the provided context is 14100// canceled. 14101func (c *FilesAsyncBatchAnnotateCall) Context(ctx context.Context) *FilesAsyncBatchAnnotateCall { 14102 c.ctx_ = ctx 14103 return c 14104} 14105 14106// Header returns an http.Header that can be modified by the caller to 14107// add HTTP headers to the request. 14108func (c *FilesAsyncBatchAnnotateCall) Header() http.Header { 14109 if c.header_ == nil { 14110 c.header_ = make(http.Header) 14111 } 14112 return c.header_ 14113} 14114 14115func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 14116 reqHeaders := make(http.Header) 14117 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 14118 for k, v := range c.header_ { 14119 reqHeaders[k] = v 14120 } 14121 reqHeaders.Set("User-Agent", c.s.userAgent()) 14122 var body io.Reader = nil 14123 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotatefilesrequest) 14124 if err != nil { 14125 return nil, err 14126 } 14127 reqHeaders.Set("Content-Type", "application/json") 14128 c.urlParams_.Set("alt", alt) 14129 c.urlParams_.Set("prettyPrint", "false") 14130 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/files:asyncBatchAnnotate") 14131 urls += "?" + c.urlParams_.Encode() 14132 req, err := http.NewRequest("POST", urls, body) 14133 if err != nil { 14134 return nil, err 14135 } 14136 req.Header = reqHeaders 14137 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14138} 14139 14140// Do executes the "vision.files.asyncBatchAnnotate" call. 14141// Exactly one of *Operation or error will be non-nil. Any non-2xx 14142// status code is an error. Response headers are in either 14143// *Operation.ServerResponse.Header or (if a response was returned at 14144// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 14145// to check whether the returned error was because 14146// http.StatusNotModified was returned. 14147func (c *FilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 14148 gensupport.SetOptions(c.urlParams_, opts...) 14149 res, err := c.doRequest("json") 14150 if res != nil && res.StatusCode == http.StatusNotModified { 14151 if res.Body != nil { 14152 res.Body.Close() 14153 } 14154 return nil, &googleapi.Error{ 14155 Code: res.StatusCode, 14156 Header: res.Header, 14157 } 14158 } 14159 if err != nil { 14160 return nil, err 14161 } 14162 defer googleapi.CloseBody(res) 14163 if err := googleapi.CheckResponse(res); err != nil { 14164 return nil, err 14165 } 14166 ret := &Operation{ 14167 ServerResponse: googleapi.ServerResponse{ 14168 Header: res.Header, 14169 HTTPStatusCode: res.StatusCode, 14170 }, 14171 } 14172 target := &ret 14173 if err := gensupport.DecodeResponse(target, res); err != nil { 14174 return nil, err 14175 } 14176 return ret, nil 14177 // { 14178 // "description": "Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 14179 // "flatPath": "v1/files:asyncBatchAnnotate", 14180 // "httpMethod": "POST", 14181 // "id": "vision.files.asyncBatchAnnotate", 14182 // "parameterOrder": [], 14183 // "parameters": {}, 14184 // "path": "v1/files:asyncBatchAnnotate", 14185 // "request": { 14186 // "$ref": "AsyncBatchAnnotateFilesRequest" 14187 // }, 14188 // "response": { 14189 // "$ref": "Operation" 14190 // }, 14191 // "scopes": [ 14192 // "https://www.googleapis.com/auth/cloud-platform", 14193 // "https://www.googleapis.com/auth/cloud-vision" 14194 // ] 14195 // } 14196 14197} 14198 14199// method id "vision.images.annotate": 14200 14201type ImagesAnnotateCall struct { 14202 s *Service 14203 batchannotateimagesrequest *BatchAnnotateImagesRequest 14204 urlParams_ gensupport.URLParams 14205 ctx_ context.Context 14206 header_ http.Header 14207} 14208 14209// Annotate: Run image detection and annotation for a batch of images. 14210func (r *ImagesService) Annotate(batchannotateimagesrequest *BatchAnnotateImagesRequest) *ImagesAnnotateCall { 14211 c := &ImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14212 c.batchannotateimagesrequest = batchannotateimagesrequest 14213 return c 14214} 14215 14216// Fields allows partial responses to be retrieved. See 14217// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14218// for more information. 14219func (c *ImagesAnnotateCall) Fields(s ...googleapi.Field) *ImagesAnnotateCall { 14220 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14221 return c 14222} 14223 14224// Context sets the context to be used in this call's Do method. Any 14225// pending HTTP request will be aborted if the provided context is 14226// canceled. 14227func (c *ImagesAnnotateCall) Context(ctx context.Context) *ImagesAnnotateCall { 14228 c.ctx_ = ctx 14229 return c 14230} 14231 14232// Header returns an http.Header that can be modified by the caller to 14233// add HTTP headers to the request. 14234func (c *ImagesAnnotateCall) Header() http.Header { 14235 if c.header_ == nil { 14236 c.header_ = make(http.Header) 14237 } 14238 return c.header_ 14239} 14240 14241func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 14242 reqHeaders := make(http.Header) 14243 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 14244 for k, v := range c.header_ { 14245 reqHeaders[k] = v 14246 } 14247 reqHeaders.Set("User-Agent", c.s.userAgent()) 14248 var body io.Reader = nil 14249 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotateimagesrequest) 14250 if err != nil { 14251 return nil, err 14252 } 14253 reqHeaders.Set("Content-Type", "application/json") 14254 c.urlParams_.Set("alt", alt) 14255 c.urlParams_.Set("prettyPrint", "false") 14256 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/images:annotate") 14257 urls += "?" + c.urlParams_.Encode() 14258 req, err := http.NewRequest("POST", urls, body) 14259 if err != nil { 14260 return nil, err 14261 } 14262 req.Header = reqHeaders 14263 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14264} 14265 14266// Do executes the "vision.images.annotate" call. 14267// Exactly one of *BatchAnnotateImagesResponse or error will be non-nil. 14268// Any non-2xx status code is an error. Response headers are in either 14269// *BatchAnnotateImagesResponse.ServerResponse.Header or (if a response 14270// was returned at all) in error.(*googleapi.Error).Header. Use 14271// googleapi.IsNotModified to check whether the returned error was 14272// because http.StatusNotModified was returned. 14273func (c *ImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateImagesResponse, error) { 14274 gensupport.SetOptions(c.urlParams_, opts...) 14275 res, err := c.doRequest("json") 14276 if res != nil && res.StatusCode == http.StatusNotModified { 14277 if res.Body != nil { 14278 res.Body.Close() 14279 } 14280 return nil, &googleapi.Error{ 14281 Code: res.StatusCode, 14282 Header: res.Header, 14283 } 14284 } 14285 if err != nil { 14286 return nil, err 14287 } 14288 defer googleapi.CloseBody(res) 14289 if err := googleapi.CheckResponse(res); err != nil { 14290 return nil, err 14291 } 14292 ret := &BatchAnnotateImagesResponse{ 14293 ServerResponse: googleapi.ServerResponse{ 14294 Header: res.Header, 14295 HTTPStatusCode: res.StatusCode, 14296 }, 14297 } 14298 target := &ret 14299 if err := gensupport.DecodeResponse(target, res); err != nil { 14300 return nil, err 14301 } 14302 return ret, nil 14303 // { 14304 // "description": "Run image detection and annotation for a batch of images.", 14305 // "flatPath": "v1/images:annotate", 14306 // "httpMethod": "POST", 14307 // "id": "vision.images.annotate", 14308 // "parameterOrder": [], 14309 // "parameters": {}, 14310 // "path": "v1/images:annotate", 14311 // "request": { 14312 // "$ref": "BatchAnnotateImagesRequest" 14313 // }, 14314 // "response": { 14315 // "$ref": "BatchAnnotateImagesResponse" 14316 // }, 14317 // "scopes": [ 14318 // "https://www.googleapis.com/auth/cloud-platform", 14319 // "https://www.googleapis.com/auth/cloud-vision" 14320 // ] 14321 // } 14322 14323} 14324 14325// method id "vision.images.asyncBatchAnnotate": 14326 14327type ImagesAsyncBatchAnnotateCall struct { 14328 s *Service 14329 asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest 14330 urlParams_ gensupport.URLParams 14331 ctx_ context.Context 14332 header_ http.Header 14333} 14334 14335// AsyncBatchAnnotate: Run asynchronous image detection and annotation 14336// for a list of images. Progress and results can be retrieved through 14337// the `google.longrunning.Operations` interface. `Operation.metadata` 14338// contains `OperationMetadata` (metadata). `Operation.response` 14339// contains `AsyncBatchAnnotateImagesResponse` (results). This service 14340// will write image annotation outputs to json files in customer GCS 14341// bucket, each json file containing BatchAnnotateImagesResponse proto. 14342func (r *ImagesService) AsyncBatchAnnotate(asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest) *ImagesAsyncBatchAnnotateCall { 14343 c := &ImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14344 c.asyncbatchannotateimagesrequest = asyncbatchannotateimagesrequest 14345 return c 14346} 14347 14348// Fields allows partial responses to be retrieved. See 14349// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14350// for more information. 14351func (c *ImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ImagesAsyncBatchAnnotateCall { 14352 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14353 return c 14354} 14355 14356// Context sets the context to be used in this call's Do method. Any 14357// pending HTTP request will be aborted if the provided context is 14358// canceled. 14359func (c *ImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ImagesAsyncBatchAnnotateCall { 14360 c.ctx_ = ctx 14361 return c 14362} 14363 14364// Header returns an http.Header that can be modified by the caller to 14365// add HTTP headers to the request. 14366func (c *ImagesAsyncBatchAnnotateCall) Header() http.Header { 14367 if c.header_ == nil { 14368 c.header_ = make(http.Header) 14369 } 14370 return c.header_ 14371} 14372 14373func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 14374 reqHeaders := make(http.Header) 14375 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 14376 for k, v := range c.header_ { 14377 reqHeaders[k] = v 14378 } 14379 reqHeaders.Set("User-Agent", c.s.userAgent()) 14380 var body io.Reader = nil 14381 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotateimagesrequest) 14382 if err != nil { 14383 return nil, err 14384 } 14385 reqHeaders.Set("Content-Type", "application/json") 14386 c.urlParams_.Set("alt", alt) 14387 c.urlParams_.Set("prettyPrint", "false") 14388 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/images:asyncBatchAnnotate") 14389 urls += "?" + c.urlParams_.Encode() 14390 req, err := http.NewRequest("POST", urls, body) 14391 if err != nil { 14392 return nil, err 14393 } 14394 req.Header = reqHeaders 14395 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14396} 14397 14398// Do executes the "vision.images.asyncBatchAnnotate" call. 14399// Exactly one of *Operation or error will be non-nil. Any non-2xx 14400// status code is an error. Response headers are in either 14401// *Operation.ServerResponse.Header or (if a response was returned at 14402// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 14403// to check whether the returned error was because 14404// http.StatusNotModified was returned. 14405func (c *ImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 14406 gensupport.SetOptions(c.urlParams_, opts...) 14407 res, err := c.doRequest("json") 14408 if res != nil && res.StatusCode == http.StatusNotModified { 14409 if res.Body != nil { 14410 res.Body.Close() 14411 } 14412 return nil, &googleapi.Error{ 14413 Code: res.StatusCode, 14414 Header: res.Header, 14415 } 14416 } 14417 if err != nil { 14418 return nil, err 14419 } 14420 defer googleapi.CloseBody(res) 14421 if err := googleapi.CheckResponse(res); err != nil { 14422 return nil, err 14423 } 14424 ret := &Operation{ 14425 ServerResponse: googleapi.ServerResponse{ 14426 Header: res.Header, 14427 HTTPStatusCode: res.StatusCode, 14428 }, 14429 } 14430 target := &ret 14431 if err := gensupport.DecodeResponse(target, res); err != nil { 14432 return nil, err 14433 } 14434 return ret, nil 14435 // { 14436 // "description": "Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 14437 // "flatPath": "v1/images:asyncBatchAnnotate", 14438 // "httpMethod": "POST", 14439 // "id": "vision.images.asyncBatchAnnotate", 14440 // "parameterOrder": [], 14441 // "parameters": {}, 14442 // "path": "v1/images:asyncBatchAnnotate", 14443 // "request": { 14444 // "$ref": "AsyncBatchAnnotateImagesRequest" 14445 // }, 14446 // "response": { 14447 // "$ref": "Operation" 14448 // }, 14449 // "scopes": [ 14450 // "https://www.googleapis.com/auth/cloud-platform", 14451 // "https://www.googleapis.com/auth/cloud-vision" 14452 // ] 14453 // } 14454 14455} 14456 14457// method id "vision.locations.operations.get": 14458 14459type LocationsOperationsGetCall struct { 14460 s *Service 14461 name string 14462 urlParams_ gensupport.URLParams 14463 ifNoneMatch_ string 14464 ctx_ context.Context 14465 header_ http.Header 14466} 14467 14468// Get: Gets the latest state of a long-running operation. Clients can 14469// use this method to poll the operation result at intervals as 14470// recommended by the API service. 14471// 14472// - name: The name of the operation resource. 14473func (r *LocationsOperationsService) Get(name string) *LocationsOperationsGetCall { 14474 c := &LocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14475 c.name = name 14476 return c 14477} 14478 14479// Fields allows partial responses to be retrieved. See 14480// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14481// for more information. 14482func (c *LocationsOperationsGetCall) Fields(s ...googleapi.Field) *LocationsOperationsGetCall { 14483 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14484 return c 14485} 14486 14487// IfNoneMatch sets the optional parameter which makes the operation 14488// fail if the object's ETag matches the given value. This is useful for 14489// getting updates only after the object has changed since the last 14490// request. Use googleapi.IsNotModified to check whether the response 14491// error from Do is the result of In-None-Match. 14492func (c *LocationsOperationsGetCall) IfNoneMatch(entityTag string) *LocationsOperationsGetCall { 14493 c.ifNoneMatch_ = entityTag 14494 return c 14495} 14496 14497// Context sets the context to be used in this call's Do method. Any 14498// pending HTTP request will be aborted if the provided context is 14499// canceled. 14500func (c *LocationsOperationsGetCall) Context(ctx context.Context) *LocationsOperationsGetCall { 14501 c.ctx_ = ctx 14502 return c 14503} 14504 14505// Header returns an http.Header that can be modified by the caller to 14506// add HTTP headers to the request. 14507func (c *LocationsOperationsGetCall) Header() http.Header { 14508 if c.header_ == nil { 14509 c.header_ = make(http.Header) 14510 } 14511 return c.header_ 14512} 14513 14514func (c *LocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 14515 reqHeaders := make(http.Header) 14516 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 14517 for k, v := range c.header_ { 14518 reqHeaders[k] = v 14519 } 14520 reqHeaders.Set("User-Agent", c.s.userAgent()) 14521 if c.ifNoneMatch_ != "" { 14522 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 14523 } 14524 var body io.Reader = nil 14525 c.urlParams_.Set("alt", alt) 14526 c.urlParams_.Set("prettyPrint", "false") 14527 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 14528 urls += "?" + c.urlParams_.Encode() 14529 req, err := http.NewRequest("GET", urls, body) 14530 if err != nil { 14531 return nil, err 14532 } 14533 req.Header = reqHeaders 14534 googleapi.Expand(req.URL, map[string]string{ 14535 "name": c.name, 14536 }) 14537 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14538} 14539 14540// Do executes the "vision.locations.operations.get" call. 14541// Exactly one of *Operation or error will be non-nil. Any non-2xx 14542// status code is an error. Response headers are in either 14543// *Operation.ServerResponse.Header or (if a response was returned at 14544// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 14545// to check whether the returned error was because 14546// http.StatusNotModified was returned. 14547func (c *LocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 14548 gensupport.SetOptions(c.urlParams_, opts...) 14549 res, err := c.doRequest("json") 14550 if res != nil && res.StatusCode == http.StatusNotModified { 14551 if res.Body != nil { 14552 res.Body.Close() 14553 } 14554 return nil, &googleapi.Error{ 14555 Code: res.StatusCode, 14556 Header: res.Header, 14557 } 14558 } 14559 if err != nil { 14560 return nil, err 14561 } 14562 defer googleapi.CloseBody(res) 14563 if err := googleapi.CheckResponse(res); err != nil { 14564 return nil, err 14565 } 14566 ret := &Operation{ 14567 ServerResponse: googleapi.ServerResponse{ 14568 Header: res.Header, 14569 HTTPStatusCode: res.StatusCode, 14570 }, 14571 } 14572 target := &ret 14573 if err := gensupport.DecodeResponse(target, res); err != nil { 14574 return nil, err 14575 } 14576 return ret, nil 14577 // { 14578 // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", 14579 // "flatPath": "v1/locations/{locationsId}/operations/{operationsId}", 14580 // "httpMethod": "GET", 14581 // "id": "vision.locations.operations.get", 14582 // "parameterOrder": [ 14583 // "name" 14584 // ], 14585 // "parameters": { 14586 // "name": { 14587 // "description": "The name of the operation resource.", 14588 // "location": "path", 14589 // "pattern": "^locations/[^/]+/operations/[^/]+$", 14590 // "required": true, 14591 // "type": "string" 14592 // } 14593 // }, 14594 // "path": "v1/{+name}", 14595 // "response": { 14596 // "$ref": "Operation" 14597 // }, 14598 // "scopes": [ 14599 // "https://www.googleapis.com/auth/cloud-platform", 14600 // "https://www.googleapis.com/auth/cloud-vision" 14601 // ] 14602 // } 14603 14604} 14605 14606// method id "vision.operations.cancel": 14607 14608type OperationsCancelCall struct { 14609 s *Service 14610 name string 14611 canceloperationrequest *CancelOperationRequest 14612 urlParams_ gensupport.URLParams 14613 ctx_ context.Context 14614 header_ http.Header 14615} 14616 14617// Cancel: Starts asynchronous cancellation on a long-running operation. 14618// The server makes a best effort to cancel the operation, but success 14619// is not guaranteed. If the server doesn't support this method, it 14620// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use 14621// Operations.GetOperation or other methods to check whether the 14622// cancellation succeeded or whether the operation completed despite 14623// cancellation. On successful cancellation, the operation is not 14624// deleted; instead, it becomes an operation with an Operation.error 14625// value with a google.rpc.Status.code of 1, corresponding to 14626// `Code.CANCELLED`. 14627// 14628// - name: The name of the operation resource to be cancelled. 14629func (r *OperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *OperationsCancelCall { 14630 c := &OperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14631 c.name = name 14632 c.canceloperationrequest = canceloperationrequest 14633 return c 14634} 14635 14636// Fields allows partial responses to be retrieved. See 14637// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14638// for more information. 14639func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall { 14640 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14641 return c 14642} 14643 14644// Context sets the context to be used in this call's Do method. Any 14645// pending HTTP request will be aborted if the provided context is 14646// canceled. 14647func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall { 14648 c.ctx_ = ctx 14649 return c 14650} 14651 14652// Header returns an http.Header that can be modified by the caller to 14653// add HTTP headers to the request. 14654func (c *OperationsCancelCall) Header() http.Header { 14655 if c.header_ == nil { 14656 c.header_ = make(http.Header) 14657 } 14658 return c.header_ 14659} 14660 14661func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) { 14662 reqHeaders := make(http.Header) 14663 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 14664 for k, v := range c.header_ { 14665 reqHeaders[k] = v 14666 } 14667 reqHeaders.Set("User-Agent", c.s.userAgent()) 14668 var body io.Reader = nil 14669 body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) 14670 if err != nil { 14671 return nil, err 14672 } 14673 reqHeaders.Set("Content-Type", "application/json") 14674 c.urlParams_.Set("alt", alt) 14675 c.urlParams_.Set("prettyPrint", "false") 14676 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") 14677 urls += "?" + c.urlParams_.Encode() 14678 req, err := http.NewRequest("POST", urls, body) 14679 if err != nil { 14680 return nil, err 14681 } 14682 req.Header = reqHeaders 14683 googleapi.Expand(req.URL, map[string]string{ 14684 "name": c.name, 14685 }) 14686 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14687} 14688 14689// Do executes the "vision.operations.cancel" call. 14690// Exactly one of *Empty or error will be non-nil. Any non-2xx status 14691// code is an error. Response headers are in either 14692// *Empty.ServerResponse.Header or (if a response was returned at all) 14693// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 14694// check whether the returned error was because http.StatusNotModified 14695// was returned. 14696func (c *OperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 14697 gensupport.SetOptions(c.urlParams_, opts...) 14698 res, err := c.doRequest("json") 14699 if res != nil && res.StatusCode == http.StatusNotModified { 14700 if res.Body != nil { 14701 res.Body.Close() 14702 } 14703 return nil, &googleapi.Error{ 14704 Code: res.StatusCode, 14705 Header: res.Header, 14706 } 14707 } 14708 if err != nil { 14709 return nil, err 14710 } 14711 defer googleapi.CloseBody(res) 14712 if err := googleapi.CheckResponse(res); err != nil { 14713 return nil, err 14714 } 14715 ret := &Empty{ 14716 ServerResponse: googleapi.ServerResponse{ 14717 Header: res.Header, 14718 HTTPStatusCode: res.StatusCode, 14719 }, 14720 } 14721 target := &ret 14722 if err := gensupport.DecodeResponse(target, res); err != nil { 14723 return nil, err 14724 } 14725 return ret, nil 14726 // { 14727 // "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", 14728 // "flatPath": "v1/operations/{operationsId}:cancel", 14729 // "httpMethod": "POST", 14730 // "id": "vision.operations.cancel", 14731 // "parameterOrder": [ 14732 // "name" 14733 // ], 14734 // "parameters": { 14735 // "name": { 14736 // "description": "The name of the operation resource to be cancelled.", 14737 // "location": "path", 14738 // "pattern": "^operations/.*$", 14739 // "required": true, 14740 // "type": "string" 14741 // } 14742 // }, 14743 // "path": "v1/{+name}:cancel", 14744 // "request": { 14745 // "$ref": "CancelOperationRequest" 14746 // }, 14747 // "response": { 14748 // "$ref": "Empty" 14749 // }, 14750 // "scopes": [ 14751 // "https://www.googleapis.com/auth/cloud-platform", 14752 // "https://www.googleapis.com/auth/cloud-vision" 14753 // ] 14754 // } 14755 14756} 14757 14758// method id "vision.operations.delete": 14759 14760type OperationsDeleteCall struct { 14761 s *Service 14762 name string 14763 urlParams_ gensupport.URLParams 14764 ctx_ context.Context 14765 header_ http.Header 14766} 14767 14768// Delete: Deletes a long-running operation. This method indicates that 14769// the client is no longer interested in the operation result. It does 14770// not cancel the operation. If the server doesn't support this method, 14771// it returns `google.rpc.Code.UNIMPLEMENTED`. 14772// 14773// - name: The name of the operation resource to be deleted. 14774func (r *OperationsService) Delete(name string) *OperationsDeleteCall { 14775 c := &OperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14776 c.name = name 14777 return c 14778} 14779 14780// Fields allows partial responses to be retrieved. See 14781// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14782// for more information. 14783func (c *OperationsDeleteCall) Fields(s ...googleapi.Field) *OperationsDeleteCall { 14784 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14785 return c 14786} 14787 14788// Context sets the context to be used in this call's Do method. Any 14789// pending HTTP request will be aborted if the provided context is 14790// canceled. 14791func (c *OperationsDeleteCall) Context(ctx context.Context) *OperationsDeleteCall { 14792 c.ctx_ = ctx 14793 return c 14794} 14795 14796// Header returns an http.Header that can be modified by the caller to 14797// add HTTP headers to the request. 14798func (c *OperationsDeleteCall) Header() http.Header { 14799 if c.header_ == nil { 14800 c.header_ = make(http.Header) 14801 } 14802 return c.header_ 14803} 14804 14805func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) { 14806 reqHeaders := make(http.Header) 14807 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 14808 for k, v := range c.header_ { 14809 reqHeaders[k] = v 14810 } 14811 reqHeaders.Set("User-Agent", c.s.userAgent()) 14812 var body io.Reader = nil 14813 c.urlParams_.Set("alt", alt) 14814 c.urlParams_.Set("prettyPrint", "false") 14815 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 14816 urls += "?" + c.urlParams_.Encode() 14817 req, err := http.NewRequest("DELETE", urls, body) 14818 if err != nil { 14819 return nil, err 14820 } 14821 req.Header = reqHeaders 14822 googleapi.Expand(req.URL, map[string]string{ 14823 "name": c.name, 14824 }) 14825 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14826} 14827 14828// Do executes the "vision.operations.delete" call. 14829// Exactly one of *Empty or error will be non-nil. Any non-2xx status 14830// code is an error. Response headers are in either 14831// *Empty.ServerResponse.Header or (if a response was returned at all) 14832// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 14833// check whether the returned error was because http.StatusNotModified 14834// was returned. 14835func (c *OperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 14836 gensupport.SetOptions(c.urlParams_, opts...) 14837 res, err := c.doRequest("json") 14838 if res != nil && res.StatusCode == http.StatusNotModified { 14839 if res.Body != nil { 14840 res.Body.Close() 14841 } 14842 return nil, &googleapi.Error{ 14843 Code: res.StatusCode, 14844 Header: res.Header, 14845 } 14846 } 14847 if err != nil { 14848 return nil, err 14849 } 14850 defer googleapi.CloseBody(res) 14851 if err := googleapi.CheckResponse(res); err != nil { 14852 return nil, err 14853 } 14854 ret := &Empty{ 14855 ServerResponse: googleapi.ServerResponse{ 14856 Header: res.Header, 14857 HTTPStatusCode: res.StatusCode, 14858 }, 14859 } 14860 target := &ret 14861 if err := gensupport.DecodeResponse(target, res); err != nil { 14862 return nil, err 14863 } 14864 return ret, nil 14865 // { 14866 // "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", 14867 // "flatPath": "v1/operations/{operationsId}", 14868 // "httpMethod": "DELETE", 14869 // "id": "vision.operations.delete", 14870 // "parameterOrder": [ 14871 // "name" 14872 // ], 14873 // "parameters": { 14874 // "name": { 14875 // "description": "The name of the operation resource to be deleted.", 14876 // "location": "path", 14877 // "pattern": "^operations/.*$", 14878 // "required": true, 14879 // "type": "string" 14880 // } 14881 // }, 14882 // "path": "v1/{+name}", 14883 // "response": { 14884 // "$ref": "Empty" 14885 // }, 14886 // "scopes": [ 14887 // "https://www.googleapis.com/auth/cloud-platform", 14888 // "https://www.googleapis.com/auth/cloud-vision" 14889 // ] 14890 // } 14891 14892} 14893 14894// method id "vision.operations.get": 14895 14896type OperationsGetCall struct { 14897 s *Service 14898 name string 14899 urlParams_ gensupport.URLParams 14900 ifNoneMatch_ string 14901 ctx_ context.Context 14902 header_ http.Header 14903} 14904 14905// Get: Gets the latest state of a long-running operation. Clients can 14906// use this method to poll the operation result at intervals as 14907// recommended by the API service. 14908// 14909// - name: The name of the operation resource. 14910func (r *OperationsService) Get(name string) *OperationsGetCall { 14911 c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14912 c.name = name 14913 return c 14914} 14915 14916// Fields allows partial responses to be retrieved. See 14917// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14918// for more information. 14919func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { 14920 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14921 return c 14922} 14923 14924// IfNoneMatch sets the optional parameter which makes the operation 14925// fail if the object's ETag matches the given value. This is useful for 14926// getting updates only after the object has changed since the last 14927// request. Use googleapi.IsNotModified to check whether the response 14928// error from Do is the result of In-None-Match. 14929func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { 14930 c.ifNoneMatch_ = entityTag 14931 return c 14932} 14933 14934// Context sets the context to be used in this call's Do method. Any 14935// pending HTTP request will be aborted if the provided context is 14936// canceled. 14937func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { 14938 c.ctx_ = ctx 14939 return c 14940} 14941 14942// Header returns an http.Header that can be modified by the caller to 14943// add HTTP headers to the request. 14944func (c *OperationsGetCall) Header() http.Header { 14945 if c.header_ == nil { 14946 c.header_ = make(http.Header) 14947 } 14948 return c.header_ 14949} 14950 14951func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) { 14952 reqHeaders := make(http.Header) 14953 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 14954 for k, v := range c.header_ { 14955 reqHeaders[k] = v 14956 } 14957 reqHeaders.Set("User-Agent", c.s.userAgent()) 14958 if c.ifNoneMatch_ != "" { 14959 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 14960 } 14961 var body io.Reader = nil 14962 c.urlParams_.Set("alt", alt) 14963 c.urlParams_.Set("prettyPrint", "false") 14964 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 14965 urls += "?" + c.urlParams_.Encode() 14966 req, err := http.NewRequest("GET", urls, body) 14967 if err != nil { 14968 return nil, err 14969 } 14970 req.Header = reqHeaders 14971 googleapi.Expand(req.URL, map[string]string{ 14972 "name": c.name, 14973 }) 14974 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14975} 14976 14977// Do executes the "vision.operations.get" call. 14978// Exactly one of *Operation or error will be non-nil. Any non-2xx 14979// status code is an error. Response headers are in either 14980// *Operation.ServerResponse.Header or (if a response was returned at 14981// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 14982// to check whether the returned error was because 14983// http.StatusNotModified was returned. 14984func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 14985 gensupport.SetOptions(c.urlParams_, opts...) 14986 res, err := c.doRequest("json") 14987 if res != nil && res.StatusCode == http.StatusNotModified { 14988 if res.Body != nil { 14989 res.Body.Close() 14990 } 14991 return nil, &googleapi.Error{ 14992 Code: res.StatusCode, 14993 Header: res.Header, 14994 } 14995 } 14996 if err != nil { 14997 return nil, err 14998 } 14999 defer googleapi.CloseBody(res) 15000 if err := googleapi.CheckResponse(res); err != nil { 15001 return nil, err 15002 } 15003 ret := &Operation{ 15004 ServerResponse: googleapi.ServerResponse{ 15005 Header: res.Header, 15006 HTTPStatusCode: res.StatusCode, 15007 }, 15008 } 15009 target := &ret 15010 if err := gensupport.DecodeResponse(target, res); err != nil { 15011 return nil, err 15012 } 15013 return ret, nil 15014 // { 15015 // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", 15016 // "flatPath": "v1/operations/{operationsId}", 15017 // "httpMethod": "GET", 15018 // "id": "vision.operations.get", 15019 // "parameterOrder": [ 15020 // "name" 15021 // ], 15022 // "parameters": { 15023 // "name": { 15024 // "description": "The name of the operation resource.", 15025 // "location": "path", 15026 // "pattern": "^operations/[^/]+$", 15027 // "required": true, 15028 // "type": "string" 15029 // } 15030 // }, 15031 // "path": "v1/{+name}", 15032 // "response": { 15033 // "$ref": "Operation" 15034 // }, 15035 // "scopes": [ 15036 // "https://www.googleapis.com/auth/cloud-platform", 15037 // "https://www.googleapis.com/auth/cloud-vision" 15038 // ] 15039 // } 15040 15041} 15042 15043// method id "vision.operations.list": 15044 15045type OperationsListCall struct { 15046 s *Service 15047 name string 15048 urlParams_ gensupport.URLParams 15049 ifNoneMatch_ string 15050 ctx_ context.Context 15051 header_ http.Header 15052} 15053 15054// List: Lists operations that match the specified filter in the 15055// request. If the server doesn't support this method, it returns 15056// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to 15057// override the binding to use different resource name schemes, such as 15058// `users/*/operations`. To override the binding, API services can add a 15059// binding such as "/v1/{name=users/*}/operations" to their service 15060// configuration. For backwards compatibility, the default name includes 15061// the operations collection id, however overriding users must ensure 15062// the name binding is the parent resource, without the operations 15063// collection id. 15064// 15065// - name: The name of the operation's parent resource. 15066func (r *OperationsService) List(name string) *OperationsListCall { 15067 c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15068 c.name = name 15069 return c 15070} 15071 15072// Filter sets the optional parameter "filter": The standard list 15073// filter. 15074func (c *OperationsListCall) Filter(filter string) *OperationsListCall { 15075 c.urlParams_.Set("filter", filter) 15076 return c 15077} 15078 15079// PageSize sets the optional parameter "pageSize": The standard list 15080// page size. 15081func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall { 15082 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 15083 return c 15084} 15085 15086// PageToken sets the optional parameter "pageToken": The standard list 15087// page token. 15088func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall { 15089 c.urlParams_.Set("pageToken", pageToken) 15090 return c 15091} 15092 15093// Fields allows partial responses to be retrieved. See 15094// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15095// for more information. 15096func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall { 15097 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15098 return c 15099} 15100 15101// IfNoneMatch sets the optional parameter which makes the operation 15102// fail if the object's ETag matches the given value. This is useful for 15103// getting updates only after the object has changed since the last 15104// request. Use googleapi.IsNotModified to check whether the response 15105// error from Do is the result of In-None-Match. 15106func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall { 15107 c.ifNoneMatch_ = entityTag 15108 return c 15109} 15110 15111// Context sets the context to be used in this call's Do method. Any 15112// pending HTTP request will be aborted if the provided context is 15113// canceled. 15114func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall { 15115 c.ctx_ = ctx 15116 return c 15117} 15118 15119// Header returns an http.Header that can be modified by the caller to 15120// add HTTP headers to the request. 15121func (c *OperationsListCall) Header() http.Header { 15122 if c.header_ == nil { 15123 c.header_ = make(http.Header) 15124 } 15125 return c.header_ 15126} 15127 15128func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) { 15129 reqHeaders := make(http.Header) 15130 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 15131 for k, v := range c.header_ { 15132 reqHeaders[k] = v 15133 } 15134 reqHeaders.Set("User-Agent", c.s.userAgent()) 15135 if c.ifNoneMatch_ != "" { 15136 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 15137 } 15138 var body io.Reader = nil 15139 c.urlParams_.Set("alt", alt) 15140 c.urlParams_.Set("prettyPrint", "false") 15141 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 15142 urls += "?" + c.urlParams_.Encode() 15143 req, err := http.NewRequest("GET", urls, body) 15144 if err != nil { 15145 return nil, err 15146 } 15147 req.Header = reqHeaders 15148 googleapi.Expand(req.URL, map[string]string{ 15149 "name": c.name, 15150 }) 15151 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15152} 15153 15154// Do executes the "vision.operations.list" call. 15155// Exactly one of *ListOperationsResponse or error will be non-nil. Any 15156// non-2xx status code is an error. Response headers are in either 15157// *ListOperationsResponse.ServerResponse.Header or (if a response was 15158// returned at all) in error.(*googleapi.Error).Header. Use 15159// googleapi.IsNotModified to check whether the returned error was 15160// because http.StatusNotModified was returned. 15161func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { 15162 gensupport.SetOptions(c.urlParams_, opts...) 15163 res, err := c.doRequest("json") 15164 if res != nil && res.StatusCode == http.StatusNotModified { 15165 if res.Body != nil { 15166 res.Body.Close() 15167 } 15168 return nil, &googleapi.Error{ 15169 Code: res.StatusCode, 15170 Header: res.Header, 15171 } 15172 } 15173 if err != nil { 15174 return nil, err 15175 } 15176 defer googleapi.CloseBody(res) 15177 if err := googleapi.CheckResponse(res); err != nil { 15178 return nil, err 15179 } 15180 ret := &ListOperationsResponse{ 15181 ServerResponse: googleapi.ServerResponse{ 15182 Header: res.Header, 15183 HTTPStatusCode: res.StatusCode, 15184 }, 15185 } 15186 target := &ret 15187 if err := gensupport.DecodeResponse(target, res); err != nil { 15188 return nil, err 15189 } 15190 return ret, nil 15191 // { 15192 // "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", 15193 // "flatPath": "v1/operations", 15194 // "httpMethod": "GET", 15195 // "id": "vision.operations.list", 15196 // "parameterOrder": [ 15197 // "name" 15198 // ], 15199 // "parameters": { 15200 // "filter": { 15201 // "description": "The standard list filter.", 15202 // "location": "query", 15203 // "type": "string" 15204 // }, 15205 // "name": { 15206 // "description": "The name of the operation's parent resource.", 15207 // "location": "path", 15208 // "pattern": "^operations$", 15209 // "required": true, 15210 // "type": "string" 15211 // }, 15212 // "pageSize": { 15213 // "description": "The standard list page size.", 15214 // "format": "int32", 15215 // "location": "query", 15216 // "type": "integer" 15217 // }, 15218 // "pageToken": { 15219 // "description": "The standard list page token.", 15220 // "location": "query", 15221 // "type": "string" 15222 // } 15223 // }, 15224 // "path": "v1/{+name}", 15225 // "response": { 15226 // "$ref": "ListOperationsResponse" 15227 // }, 15228 // "scopes": [ 15229 // "https://www.googleapis.com/auth/cloud-platform", 15230 // "https://www.googleapis.com/auth/cloud-vision" 15231 // ] 15232 // } 15233 15234} 15235 15236// Pages invokes f for each page of results. 15237// A non-nil error returned from f will halt the iteration. 15238// The provided context supersedes any context provided to the Context method. 15239func (c *OperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { 15240 c.ctx_ = ctx 15241 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 15242 for { 15243 x, err := c.Do() 15244 if err != nil { 15245 return err 15246 } 15247 if err := f(x); err != nil { 15248 return err 15249 } 15250 if x.NextPageToken == "" { 15251 return nil 15252 } 15253 c.PageToken(x.NextPageToken) 15254 } 15255} 15256 15257// method id "vision.projects.files.annotate": 15258 15259type ProjectsFilesAnnotateCall struct { 15260 s *Service 15261 parent string 15262 batchannotatefilesrequest *BatchAnnotateFilesRequest 15263 urlParams_ gensupport.URLParams 15264 ctx_ context.Context 15265 header_ http.Header 15266} 15267 15268// Annotate: Service that performs image detection and annotation for a 15269// batch of files. Now only "application/pdf", "image/tiff" and 15270// "image/gif" are supported. This service will extract at most 5 15271// (customers can specify which 5 in AnnotateFileRequest.pages) frames 15272// (gif) or pages (pdf or tiff) from each file provided and perform 15273// detection and annotation for each image extracted. 15274// 15275// - parent: Optional. Target project and location to make a call. 15276// Format: `projects/{project-id}/locations/{location-id}`. If no 15277// parent is specified, a region will be chosen automatically. 15278// Supported location-ids: `us`: USA country only, `asia`: East asia 15279// areas, like Japan, Taiwan, `eu`: The European Union. Example: 15280// `projects/project-A/locations/eu`. 15281func (r *ProjectsFilesService) Annotate(parent string, batchannotatefilesrequest *BatchAnnotateFilesRequest) *ProjectsFilesAnnotateCall { 15282 c := &ProjectsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15283 c.parent = parent 15284 c.batchannotatefilesrequest = batchannotatefilesrequest 15285 return c 15286} 15287 15288// Fields allows partial responses to be retrieved. See 15289// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15290// for more information. 15291func (c *ProjectsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAnnotateCall { 15292 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15293 return c 15294} 15295 15296// Context sets the context to be used in this call's Do method. Any 15297// pending HTTP request will be aborted if the provided context is 15298// canceled. 15299func (c *ProjectsFilesAnnotateCall) Context(ctx context.Context) *ProjectsFilesAnnotateCall { 15300 c.ctx_ = ctx 15301 return c 15302} 15303 15304// Header returns an http.Header that can be modified by the caller to 15305// add HTTP headers to the request. 15306func (c *ProjectsFilesAnnotateCall) Header() http.Header { 15307 if c.header_ == nil { 15308 c.header_ = make(http.Header) 15309 } 15310 return c.header_ 15311} 15312 15313func (c *ProjectsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 15314 reqHeaders := make(http.Header) 15315 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 15316 for k, v := range c.header_ { 15317 reqHeaders[k] = v 15318 } 15319 reqHeaders.Set("User-Agent", c.s.userAgent()) 15320 var body io.Reader = nil 15321 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotatefilesrequest) 15322 if err != nil { 15323 return nil, err 15324 } 15325 reqHeaders.Set("Content-Type", "application/json") 15326 c.urlParams_.Set("alt", alt) 15327 c.urlParams_.Set("prettyPrint", "false") 15328 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:annotate") 15329 urls += "?" + c.urlParams_.Encode() 15330 req, err := http.NewRequest("POST", urls, body) 15331 if err != nil { 15332 return nil, err 15333 } 15334 req.Header = reqHeaders 15335 googleapi.Expand(req.URL, map[string]string{ 15336 "parent": c.parent, 15337 }) 15338 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15339} 15340 15341// Do executes the "vision.projects.files.annotate" call. 15342// Exactly one of *BatchAnnotateFilesResponse or error will be non-nil. 15343// Any non-2xx status code is an error. Response headers are in either 15344// *BatchAnnotateFilesResponse.ServerResponse.Header or (if a response 15345// was returned at all) in error.(*googleapi.Error).Header. Use 15346// googleapi.IsNotModified to check whether the returned error was 15347// because http.StatusNotModified was returned. 15348func (c *ProjectsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateFilesResponse, error) { 15349 gensupport.SetOptions(c.urlParams_, opts...) 15350 res, err := c.doRequest("json") 15351 if res != nil && res.StatusCode == http.StatusNotModified { 15352 if res.Body != nil { 15353 res.Body.Close() 15354 } 15355 return nil, &googleapi.Error{ 15356 Code: res.StatusCode, 15357 Header: res.Header, 15358 } 15359 } 15360 if err != nil { 15361 return nil, err 15362 } 15363 defer googleapi.CloseBody(res) 15364 if err := googleapi.CheckResponse(res); err != nil { 15365 return nil, err 15366 } 15367 ret := &BatchAnnotateFilesResponse{ 15368 ServerResponse: googleapi.ServerResponse{ 15369 Header: res.Header, 15370 HTTPStatusCode: res.StatusCode, 15371 }, 15372 } 15373 target := &ret 15374 if err := gensupport.DecodeResponse(target, res); err != nil { 15375 return nil, err 15376 } 15377 return ret, nil 15378 // { 15379 // "description": "Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", 15380 // "flatPath": "v1/projects/{projectsId}/files:annotate", 15381 // "httpMethod": "POST", 15382 // "id": "vision.projects.files.annotate", 15383 // "parameterOrder": [ 15384 // "parent" 15385 // ], 15386 // "parameters": { 15387 // "parent": { 15388 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 15389 // "location": "path", 15390 // "pattern": "^projects/[^/]+$", 15391 // "required": true, 15392 // "type": "string" 15393 // } 15394 // }, 15395 // "path": "v1/{+parent}/files:annotate", 15396 // "request": { 15397 // "$ref": "BatchAnnotateFilesRequest" 15398 // }, 15399 // "response": { 15400 // "$ref": "BatchAnnotateFilesResponse" 15401 // }, 15402 // "scopes": [ 15403 // "https://www.googleapis.com/auth/cloud-platform", 15404 // "https://www.googleapis.com/auth/cloud-vision" 15405 // ] 15406 // } 15407 15408} 15409 15410// method id "vision.projects.files.asyncBatchAnnotate": 15411 15412type ProjectsFilesAsyncBatchAnnotateCall struct { 15413 s *Service 15414 parent string 15415 asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest 15416 urlParams_ gensupport.URLParams 15417 ctx_ context.Context 15418 header_ http.Header 15419} 15420 15421// AsyncBatchAnnotate: Run asynchronous image detection and annotation 15422// for a list of generic files, such as PDF files, which may contain 15423// multiple pages and multiple images per page. Progress and results can 15424// be retrieved through the `google.longrunning.Operations` interface. 15425// `Operation.metadata` contains `OperationMetadata` (metadata). 15426// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 15427// (results). 15428// 15429// - parent: Optional. Target project and location to make a call. 15430// Format: `projects/{project-id}/locations/{location-id}`. If no 15431// parent is specified, a region will be chosen automatically. 15432// Supported location-ids: `us`: USA country only, `asia`: East asia 15433// areas, like Japan, Taiwan, `eu`: The European Union. Example: 15434// `projects/project-A/locations/eu`. 15435func (r *ProjectsFilesService) AsyncBatchAnnotate(parent string, asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest) *ProjectsFilesAsyncBatchAnnotateCall { 15436 c := &ProjectsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15437 c.parent = parent 15438 c.asyncbatchannotatefilesrequest = asyncbatchannotatefilesrequest 15439 return c 15440} 15441 15442// Fields allows partial responses to be retrieved. See 15443// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15444// for more information. 15445func (c *ProjectsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAsyncBatchAnnotateCall { 15446 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15447 return c 15448} 15449 15450// Context sets the context to be used in this call's Do method. Any 15451// pending HTTP request will be aborted if the provided context is 15452// canceled. 15453func (c *ProjectsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsFilesAsyncBatchAnnotateCall { 15454 c.ctx_ = ctx 15455 return c 15456} 15457 15458// Header returns an http.Header that can be modified by the caller to 15459// add HTTP headers to the request. 15460func (c *ProjectsFilesAsyncBatchAnnotateCall) Header() http.Header { 15461 if c.header_ == nil { 15462 c.header_ = make(http.Header) 15463 } 15464 return c.header_ 15465} 15466 15467func (c *ProjectsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 15468 reqHeaders := make(http.Header) 15469 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 15470 for k, v := range c.header_ { 15471 reqHeaders[k] = v 15472 } 15473 reqHeaders.Set("User-Agent", c.s.userAgent()) 15474 var body io.Reader = nil 15475 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotatefilesrequest) 15476 if err != nil { 15477 return nil, err 15478 } 15479 reqHeaders.Set("Content-Type", "application/json") 15480 c.urlParams_.Set("alt", alt) 15481 c.urlParams_.Set("prettyPrint", "false") 15482 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:asyncBatchAnnotate") 15483 urls += "?" + c.urlParams_.Encode() 15484 req, err := http.NewRequest("POST", urls, body) 15485 if err != nil { 15486 return nil, err 15487 } 15488 req.Header = reqHeaders 15489 googleapi.Expand(req.URL, map[string]string{ 15490 "parent": c.parent, 15491 }) 15492 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15493} 15494 15495// Do executes the "vision.projects.files.asyncBatchAnnotate" call. 15496// Exactly one of *Operation or error will be non-nil. Any non-2xx 15497// status code is an error. Response headers are in either 15498// *Operation.ServerResponse.Header or (if a response was returned at 15499// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 15500// to check whether the returned error was because 15501// http.StatusNotModified was returned. 15502func (c *ProjectsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 15503 gensupport.SetOptions(c.urlParams_, opts...) 15504 res, err := c.doRequest("json") 15505 if res != nil && res.StatusCode == http.StatusNotModified { 15506 if res.Body != nil { 15507 res.Body.Close() 15508 } 15509 return nil, &googleapi.Error{ 15510 Code: res.StatusCode, 15511 Header: res.Header, 15512 } 15513 } 15514 if err != nil { 15515 return nil, err 15516 } 15517 defer googleapi.CloseBody(res) 15518 if err := googleapi.CheckResponse(res); err != nil { 15519 return nil, err 15520 } 15521 ret := &Operation{ 15522 ServerResponse: googleapi.ServerResponse{ 15523 Header: res.Header, 15524 HTTPStatusCode: res.StatusCode, 15525 }, 15526 } 15527 target := &ret 15528 if err := gensupport.DecodeResponse(target, res); err != nil { 15529 return nil, err 15530 } 15531 return ret, nil 15532 // { 15533 // "description": "Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 15534 // "flatPath": "v1/projects/{projectsId}/files:asyncBatchAnnotate", 15535 // "httpMethod": "POST", 15536 // "id": "vision.projects.files.asyncBatchAnnotate", 15537 // "parameterOrder": [ 15538 // "parent" 15539 // ], 15540 // "parameters": { 15541 // "parent": { 15542 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 15543 // "location": "path", 15544 // "pattern": "^projects/[^/]+$", 15545 // "required": true, 15546 // "type": "string" 15547 // } 15548 // }, 15549 // "path": "v1/{+parent}/files:asyncBatchAnnotate", 15550 // "request": { 15551 // "$ref": "AsyncBatchAnnotateFilesRequest" 15552 // }, 15553 // "response": { 15554 // "$ref": "Operation" 15555 // }, 15556 // "scopes": [ 15557 // "https://www.googleapis.com/auth/cloud-platform", 15558 // "https://www.googleapis.com/auth/cloud-vision" 15559 // ] 15560 // } 15561 15562} 15563 15564// method id "vision.projects.images.annotate": 15565 15566type ProjectsImagesAnnotateCall struct { 15567 s *Service 15568 parent string 15569 batchannotateimagesrequest *BatchAnnotateImagesRequest 15570 urlParams_ gensupport.URLParams 15571 ctx_ context.Context 15572 header_ http.Header 15573} 15574 15575// Annotate: Run image detection and annotation for a batch of images. 15576// 15577// - parent: Optional. Target project and location to make a call. 15578// Format: `projects/{project-id}/locations/{location-id}`. If no 15579// parent is specified, a region will be chosen automatically. 15580// Supported location-ids: `us`: USA country only, `asia`: East asia 15581// areas, like Japan, Taiwan, `eu`: The European Union. Example: 15582// `projects/project-A/locations/eu`. 15583func (r *ProjectsImagesService) Annotate(parent string, batchannotateimagesrequest *BatchAnnotateImagesRequest) *ProjectsImagesAnnotateCall { 15584 c := &ProjectsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15585 c.parent = parent 15586 c.batchannotateimagesrequest = batchannotateimagesrequest 15587 return c 15588} 15589 15590// Fields allows partial responses to be retrieved. See 15591// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15592// for more information. 15593func (c *ProjectsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAnnotateCall { 15594 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15595 return c 15596} 15597 15598// Context sets the context to be used in this call's Do method. Any 15599// pending HTTP request will be aborted if the provided context is 15600// canceled. 15601func (c *ProjectsImagesAnnotateCall) Context(ctx context.Context) *ProjectsImagesAnnotateCall { 15602 c.ctx_ = ctx 15603 return c 15604} 15605 15606// Header returns an http.Header that can be modified by the caller to 15607// add HTTP headers to the request. 15608func (c *ProjectsImagesAnnotateCall) Header() http.Header { 15609 if c.header_ == nil { 15610 c.header_ = make(http.Header) 15611 } 15612 return c.header_ 15613} 15614 15615func (c *ProjectsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 15616 reqHeaders := make(http.Header) 15617 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 15618 for k, v := range c.header_ { 15619 reqHeaders[k] = v 15620 } 15621 reqHeaders.Set("User-Agent", c.s.userAgent()) 15622 var body io.Reader = nil 15623 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotateimagesrequest) 15624 if err != nil { 15625 return nil, err 15626 } 15627 reqHeaders.Set("Content-Type", "application/json") 15628 c.urlParams_.Set("alt", alt) 15629 c.urlParams_.Set("prettyPrint", "false") 15630 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:annotate") 15631 urls += "?" + c.urlParams_.Encode() 15632 req, err := http.NewRequest("POST", urls, body) 15633 if err != nil { 15634 return nil, err 15635 } 15636 req.Header = reqHeaders 15637 googleapi.Expand(req.URL, map[string]string{ 15638 "parent": c.parent, 15639 }) 15640 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15641} 15642 15643// Do executes the "vision.projects.images.annotate" call. 15644// Exactly one of *BatchAnnotateImagesResponse or error will be non-nil. 15645// Any non-2xx status code is an error. Response headers are in either 15646// *BatchAnnotateImagesResponse.ServerResponse.Header or (if a response 15647// was returned at all) in error.(*googleapi.Error).Header. Use 15648// googleapi.IsNotModified to check whether the returned error was 15649// because http.StatusNotModified was returned. 15650func (c *ProjectsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateImagesResponse, error) { 15651 gensupport.SetOptions(c.urlParams_, opts...) 15652 res, err := c.doRequest("json") 15653 if res != nil && res.StatusCode == http.StatusNotModified { 15654 if res.Body != nil { 15655 res.Body.Close() 15656 } 15657 return nil, &googleapi.Error{ 15658 Code: res.StatusCode, 15659 Header: res.Header, 15660 } 15661 } 15662 if err != nil { 15663 return nil, err 15664 } 15665 defer googleapi.CloseBody(res) 15666 if err := googleapi.CheckResponse(res); err != nil { 15667 return nil, err 15668 } 15669 ret := &BatchAnnotateImagesResponse{ 15670 ServerResponse: googleapi.ServerResponse{ 15671 Header: res.Header, 15672 HTTPStatusCode: res.StatusCode, 15673 }, 15674 } 15675 target := &ret 15676 if err := gensupport.DecodeResponse(target, res); err != nil { 15677 return nil, err 15678 } 15679 return ret, nil 15680 // { 15681 // "description": "Run image detection and annotation for a batch of images.", 15682 // "flatPath": "v1/projects/{projectsId}/images:annotate", 15683 // "httpMethod": "POST", 15684 // "id": "vision.projects.images.annotate", 15685 // "parameterOrder": [ 15686 // "parent" 15687 // ], 15688 // "parameters": { 15689 // "parent": { 15690 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 15691 // "location": "path", 15692 // "pattern": "^projects/[^/]+$", 15693 // "required": true, 15694 // "type": "string" 15695 // } 15696 // }, 15697 // "path": "v1/{+parent}/images:annotate", 15698 // "request": { 15699 // "$ref": "BatchAnnotateImagesRequest" 15700 // }, 15701 // "response": { 15702 // "$ref": "BatchAnnotateImagesResponse" 15703 // }, 15704 // "scopes": [ 15705 // "https://www.googleapis.com/auth/cloud-platform", 15706 // "https://www.googleapis.com/auth/cloud-vision" 15707 // ] 15708 // } 15709 15710} 15711 15712// method id "vision.projects.images.asyncBatchAnnotate": 15713 15714type ProjectsImagesAsyncBatchAnnotateCall struct { 15715 s *Service 15716 parent string 15717 asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest 15718 urlParams_ gensupport.URLParams 15719 ctx_ context.Context 15720 header_ http.Header 15721} 15722 15723// AsyncBatchAnnotate: Run asynchronous image detection and annotation 15724// for a list of images. Progress and results can be retrieved through 15725// the `google.longrunning.Operations` interface. `Operation.metadata` 15726// contains `OperationMetadata` (metadata). `Operation.response` 15727// contains `AsyncBatchAnnotateImagesResponse` (results). This service 15728// will write image annotation outputs to json files in customer GCS 15729// bucket, each json file containing BatchAnnotateImagesResponse proto. 15730// 15731// - parent: Optional. Target project and location to make a call. 15732// Format: `projects/{project-id}/locations/{location-id}`. If no 15733// parent is specified, a region will be chosen automatically. 15734// Supported location-ids: `us`: USA country only, `asia`: East asia 15735// areas, like Japan, Taiwan, `eu`: The European Union. Example: 15736// `projects/project-A/locations/eu`. 15737func (r *ProjectsImagesService) AsyncBatchAnnotate(parent string, asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest) *ProjectsImagesAsyncBatchAnnotateCall { 15738 c := &ProjectsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15739 c.parent = parent 15740 c.asyncbatchannotateimagesrequest = asyncbatchannotateimagesrequest 15741 return c 15742} 15743 15744// Fields allows partial responses to be retrieved. See 15745// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15746// for more information. 15747func (c *ProjectsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAsyncBatchAnnotateCall { 15748 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15749 return c 15750} 15751 15752// Context sets the context to be used in this call's Do method. Any 15753// pending HTTP request will be aborted if the provided context is 15754// canceled. 15755func (c *ProjectsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsImagesAsyncBatchAnnotateCall { 15756 c.ctx_ = ctx 15757 return c 15758} 15759 15760// Header returns an http.Header that can be modified by the caller to 15761// add HTTP headers to the request. 15762func (c *ProjectsImagesAsyncBatchAnnotateCall) Header() http.Header { 15763 if c.header_ == nil { 15764 c.header_ = make(http.Header) 15765 } 15766 return c.header_ 15767} 15768 15769func (c *ProjectsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 15770 reqHeaders := make(http.Header) 15771 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 15772 for k, v := range c.header_ { 15773 reqHeaders[k] = v 15774 } 15775 reqHeaders.Set("User-Agent", c.s.userAgent()) 15776 var body io.Reader = nil 15777 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotateimagesrequest) 15778 if err != nil { 15779 return nil, err 15780 } 15781 reqHeaders.Set("Content-Type", "application/json") 15782 c.urlParams_.Set("alt", alt) 15783 c.urlParams_.Set("prettyPrint", "false") 15784 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:asyncBatchAnnotate") 15785 urls += "?" + c.urlParams_.Encode() 15786 req, err := http.NewRequest("POST", urls, body) 15787 if err != nil { 15788 return nil, err 15789 } 15790 req.Header = reqHeaders 15791 googleapi.Expand(req.URL, map[string]string{ 15792 "parent": c.parent, 15793 }) 15794 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15795} 15796 15797// Do executes the "vision.projects.images.asyncBatchAnnotate" call. 15798// Exactly one of *Operation or error will be non-nil. Any non-2xx 15799// status code is an error. Response headers are in either 15800// *Operation.ServerResponse.Header or (if a response was returned at 15801// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 15802// to check whether the returned error was because 15803// http.StatusNotModified was returned. 15804func (c *ProjectsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 15805 gensupport.SetOptions(c.urlParams_, opts...) 15806 res, err := c.doRequest("json") 15807 if res != nil && res.StatusCode == http.StatusNotModified { 15808 if res.Body != nil { 15809 res.Body.Close() 15810 } 15811 return nil, &googleapi.Error{ 15812 Code: res.StatusCode, 15813 Header: res.Header, 15814 } 15815 } 15816 if err != nil { 15817 return nil, err 15818 } 15819 defer googleapi.CloseBody(res) 15820 if err := googleapi.CheckResponse(res); err != nil { 15821 return nil, err 15822 } 15823 ret := &Operation{ 15824 ServerResponse: googleapi.ServerResponse{ 15825 Header: res.Header, 15826 HTTPStatusCode: res.StatusCode, 15827 }, 15828 } 15829 target := &ret 15830 if err := gensupport.DecodeResponse(target, res); err != nil { 15831 return nil, err 15832 } 15833 return ret, nil 15834 // { 15835 // "description": "Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 15836 // "flatPath": "v1/projects/{projectsId}/images:asyncBatchAnnotate", 15837 // "httpMethod": "POST", 15838 // "id": "vision.projects.images.asyncBatchAnnotate", 15839 // "parameterOrder": [ 15840 // "parent" 15841 // ], 15842 // "parameters": { 15843 // "parent": { 15844 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 15845 // "location": "path", 15846 // "pattern": "^projects/[^/]+$", 15847 // "required": true, 15848 // "type": "string" 15849 // } 15850 // }, 15851 // "path": "v1/{+parent}/images:asyncBatchAnnotate", 15852 // "request": { 15853 // "$ref": "AsyncBatchAnnotateImagesRequest" 15854 // }, 15855 // "response": { 15856 // "$ref": "Operation" 15857 // }, 15858 // "scopes": [ 15859 // "https://www.googleapis.com/auth/cloud-platform", 15860 // "https://www.googleapis.com/auth/cloud-vision" 15861 // ] 15862 // } 15863 15864} 15865 15866// method id "vision.projects.locations.files.annotate": 15867 15868type ProjectsLocationsFilesAnnotateCall struct { 15869 s *Service 15870 parent string 15871 batchannotatefilesrequest *BatchAnnotateFilesRequest 15872 urlParams_ gensupport.URLParams 15873 ctx_ context.Context 15874 header_ http.Header 15875} 15876 15877// Annotate: Service that performs image detection and annotation for a 15878// batch of files. Now only "application/pdf", "image/tiff" and 15879// "image/gif" are supported. This service will extract at most 5 15880// (customers can specify which 5 in AnnotateFileRequest.pages) frames 15881// (gif) or pages (pdf or tiff) from each file provided and perform 15882// detection and annotation for each image extracted. 15883// 15884// - parent: Optional. Target project and location to make a call. 15885// Format: `projects/{project-id}/locations/{location-id}`. If no 15886// parent is specified, a region will be chosen automatically. 15887// Supported location-ids: `us`: USA country only, `asia`: East asia 15888// areas, like Japan, Taiwan, `eu`: The European Union. Example: 15889// `projects/project-A/locations/eu`. 15890func (r *ProjectsLocationsFilesService) Annotate(parent string, batchannotatefilesrequest *BatchAnnotateFilesRequest) *ProjectsLocationsFilesAnnotateCall { 15891 c := &ProjectsLocationsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15892 c.parent = parent 15893 c.batchannotatefilesrequest = batchannotatefilesrequest 15894 return c 15895} 15896 15897// Fields allows partial responses to be retrieved. See 15898// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15899// for more information. 15900func (c *ProjectsLocationsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAnnotateCall { 15901 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15902 return c 15903} 15904 15905// Context sets the context to be used in this call's Do method. Any 15906// pending HTTP request will be aborted if the provided context is 15907// canceled. 15908func (c *ProjectsLocationsFilesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAnnotateCall { 15909 c.ctx_ = ctx 15910 return c 15911} 15912 15913// Header returns an http.Header that can be modified by the caller to 15914// add HTTP headers to the request. 15915func (c *ProjectsLocationsFilesAnnotateCall) Header() http.Header { 15916 if c.header_ == nil { 15917 c.header_ = make(http.Header) 15918 } 15919 return c.header_ 15920} 15921 15922func (c *ProjectsLocationsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 15923 reqHeaders := make(http.Header) 15924 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 15925 for k, v := range c.header_ { 15926 reqHeaders[k] = v 15927 } 15928 reqHeaders.Set("User-Agent", c.s.userAgent()) 15929 var body io.Reader = nil 15930 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotatefilesrequest) 15931 if err != nil { 15932 return nil, err 15933 } 15934 reqHeaders.Set("Content-Type", "application/json") 15935 c.urlParams_.Set("alt", alt) 15936 c.urlParams_.Set("prettyPrint", "false") 15937 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:annotate") 15938 urls += "?" + c.urlParams_.Encode() 15939 req, err := http.NewRequest("POST", urls, body) 15940 if err != nil { 15941 return nil, err 15942 } 15943 req.Header = reqHeaders 15944 googleapi.Expand(req.URL, map[string]string{ 15945 "parent": c.parent, 15946 }) 15947 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15948} 15949 15950// Do executes the "vision.projects.locations.files.annotate" call. 15951// Exactly one of *BatchAnnotateFilesResponse or error will be non-nil. 15952// Any non-2xx status code is an error. Response headers are in either 15953// *BatchAnnotateFilesResponse.ServerResponse.Header or (if a response 15954// was returned at all) in error.(*googleapi.Error).Header. Use 15955// googleapi.IsNotModified to check whether the returned error was 15956// because http.StatusNotModified was returned. 15957func (c *ProjectsLocationsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateFilesResponse, error) { 15958 gensupport.SetOptions(c.urlParams_, opts...) 15959 res, err := c.doRequest("json") 15960 if res != nil && res.StatusCode == http.StatusNotModified { 15961 if res.Body != nil { 15962 res.Body.Close() 15963 } 15964 return nil, &googleapi.Error{ 15965 Code: res.StatusCode, 15966 Header: res.Header, 15967 } 15968 } 15969 if err != nil { 15970 return nil, err 15971 } 15972 defer googleapi.CloseBody(res) 15973 if err := googleapi.CheckResponse(res); err != nil { 15974 return nil, err 15975 } 15976 ret := &BatchAnnotateFilesResponse{ 15977 ServerResponse: googleapi.ServerResponse{ 15978 Header: res.Header, 15979 HTTPStatusCode: res.StatusCode, 15980 }, 15981 } 15982 target := &ret 15983 if err := gensupport.DecodeResponse(target, res); err != nil { 15984 return nil, err 15985 } 15986 return ret, nil 15987 // { 15988 // "description": "Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", 15989 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/files:annotate", 15990 // "httpMethod": "POST", 15991 // "id": "vision.projects.locations.files.annotate", 15992 // "parameterOrder": [ 15993 // "parent" 15994 // ], 15995 // "parameters": { 15996 // "parent": { 15997 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 15998 // "location": "path", 15999 // "pattern": "^projects/[^/]+/locations/[^/]+$", 16000 // "required": true, 16001 // "type": "string" 16002 // } 16003 // }, 16004 // "path": "v1/{+parent}/files:annotate", 16005 // "request": { 16006 // "$ref": "BatchAnnotateFilesRequest" 16007 // }, 16008 // "response": { 16009 // "$ref": "BatchAnnotateFilesResponse" 16010 // }, 16011 // "scopes": [ 16012 // "https://www.googleapis.com/auth/cloud-platform", 16013 // "https://www.googleapis.com/auth/cloud-vision" 16014 // ] 16015 // } 16016 16017} 16018 16019// method id "vision.projects.locations.files.asyncBatchAnnotate": 16020 16021type ProjectsLocationsFilesAsyncBatchAnnotateCall struct { 16022 s *Service 16023 parent string 16024 asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest 16025 urlParams_ gensupport.URLParams 16026 ctx_ context.Context 16027 header_ http.Header 16028} 16029 16030// AsyncBatchAnnotate: Run asynchronous image detection and annotation 16031// for a list of generic files, such as PDF files, which may contain 16032// multiple pages and multiple images per page. Progress and results can 16033// be retrieved through the `google.longrunning.Operations` interface. 16034// `Operation.metadata` contains `OperationMetadata` (metadata). 16035// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 16036// (results). 16037// 16038// - parent: Optional. Target project and location to make a call. 16039// Format: `projects/{project-id}/locations/{location-id}`. If no 16040// parent is specified, a region will be chosen automatically. 16041// Supported location-ids: `us`: USA country only, `asia`: East asia 16042// areas, like Japan, Taiwan, `eu`: The European Union. Example: 16043// `projects/project-A/locations/eu`. 16044func (r *ProjectsLocationsFilesService) AsyncBatchAnnotate(parent string, asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 16045 c := &ProjectsLocationsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16046 c.parent = parent 16047 c.asyncbatchannotatefilesrequest = asyncbatchannotatefilesrequest 16048 return c 16049} 16050 16051// Fields allows partial responses to be retrieved. See 16052// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16053// for more information. 16054func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 16055 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16056 return c 16057} 16058 16059// Context sets the context to be used in this call's Do method. Any 16060// pending HTTP request will be aborted if the provided context is 16061// canceled. 16062func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 16063 c.ctx_ = ctx 16064 return c 16065} 16066 16067// Header returns an http.Header that can be modified by the caller to 16068// add HTTP headers to the request. 16069func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Header() http.Header { 16070 if c.header_ == nil { 16071 c.header_ = make(http.Header) 16072 } 16073 return c.header_ 16074} 16075 16076func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 16077 reqHeaders := make(http.Header) 16078 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 16079 for k, v := range c.header_ { 16080 reqHeaders[k] = v 16081 } 16082 reqHeaders.Set("User-Agent", c.s.userAgent()) 16083 var body io.Reader = nil 16084 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotatefilesrequest) 16085 if err != nil { 16086 return nil, err 16087 } 16088 reqHeaders.Set("Content-Type", "application/json") 16089 c.urlParams_.Set("alt", alt) 16090 c.urlParams_.Set("prettyPrint", "false") 16091 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:asyncBatchAnnotate") 16092 urls += "?" + c.urlParams_.Encode() 16093 req, err := http.NewRequest("POST", urls, body) 16094 if err != nil { 16095 return nil, err 16096 } 16097 req.Header = reqHeaders 16098 googleapi.Expand(req.URL, map[string]string{ 16099 "parent": c.parent, 16100 }) 16101 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16102} 16103 16104// Do executes the "vision.projects.locations.files.asyncBatchAnnotate" call. 16105// Exactly one of *Operation or error will be non-nil. Any non-2xx 16106// status code is an error. Response headers are in either 16107// *Operation.ServerResponse.Header or (if a response was returned at 16108// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 16109// to check whether the returned error was because 16110// http.StatusNotModified was returned. 16111func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 16112 gensupport.SetOptions(c.urlParams_, opts...) 16113 res, err := c.doRequest("json") 16114 if res != nil && res.StatusCode == http.StatusNotModified { 16115 if res.Body != nil { 16116 res.Body.Close() 16117 } 16118 return nil, &googleapi.Error{ 16119 Code: res.StatusCode, 16120 Header: res.Header, 16121 } 16122 } 16123 if err != nil { 16124 return nil, err 16125 } 16126 defer googleapi.CloseBody(res) 16127 if err := googleapi.CheckResponse(res); err != nil { 16128 return nil, err 16129 } 16130 ret := &Operation{ 16131 ServerResponse: googleapi.ServerResponse{ 16132 Header: res.Header, 16133 HTTPStatusCode: res.StatusCode, 16134 }, 16135 } 16136 target := &ret 16137 if err := gensupport.DecodeResponse(target, res); err != nil { 16138 return nil, err 16139 } 16140 return ret, nil 16141 // { 16142 // "description": "Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 16143 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/files:asyncBatchAnnotate", 16144 // "httpMethod": "POST", 16145 // "id": "vision.projects.locations.files.asyncBatchAnnotate", 16146 // "parameterOrder": [ 16147 // "parent" 16148 // ], 16149 // "parameters": { 16150 // "parent": { 16151 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 16152 // "location": "path", 16153 // "pattern": "^projects/[^/]+/locations/[^/]+$", 16154 // "required": true, 16155 // "type": "string" 16156 // } 16157 // }, 16158 // "path": "v1/{+parent}/files:asyncBatchAnnotate", 16159 // "request": { 16160 // "$ref": "AsyncBatchAnnotateFilesRequest" 16161 // }, 16162 // "response": { 16163 // "$ref": "Operation" 16164 // }, 16165 // "scopes": [ 16166 // "https://www.googleapis.com/auth/cloud-platform", 16167 // "https://www.googleapis.com/auth/cloud-vision" 16168 // ] 16169 // } 16170 16171} 16172 16173// method id "vision.projects.locations.images.annotate": 16174 16175type ProjectsLocationsImagesAnnotateCall struct { 16176 s *Service 16177 parent string 16178 batchannotateimagesrequest *BatchAnnotateImagesRequest 16179 urlParams_ gensupport.URLParams 16180 ctx_ context.Context 16181 header_ http.Header 16182} 16183 16184// Annotate: Run image detection and annotation for a batch of images. 16185// 16186// - parent: Optional. Target project and location to make a call. 16187// Format: `projects/{project-id}/locations/{location-id}`. If no 16188// parent is specified, a region will be chosen automatically. 16189// Supported location-ids: `us`: USA country only, `asia`: East asia 16190// areas, like Japan, Taiwan, `eu`: The European Union. Example: 16191// `projects/project-A/locations/eu`. 16192func (r *ProjectsLocationsImagesService) Annotate(parent string, batchannotateimagesrequest *BatchAnnotateImagesRequest) *ProjectsLocationsImagesAnnotateCall { 16193 c := &ProjectsLocationsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16194 c.parent = parent 16195 c.batchannotateimagesrequest = batchannotateimagesrequest 16196 return c 16197} 16198 16199// Fields allows partial responses to be retrieved. See 16200// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16201// for more information. 16202func (c *ProjectsLocationsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAnnotateCall { 16203 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16204 return c 16205} 16206 16207// Context sets the context to be used in this call's Do method. Any 16208// pending HTTP request will be aborted if the provided context is 16209// canceled. 16210func (c *ProjectsLocationsImagesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAnnotateCall { 16211 c.ctx_ = ctx 16212 return c 16213} 16214 16215// Header returns an http.Header that can be modified by the caller to 16216// add HTTP headers to the request. 16217func (c *ProjectsLocationsImagesAnnotateCall) Header() http.Header { 16218 if c.header_ == nil { 16219 c.header_ = make(http.Header) 16220 } 16221 return c.header_ 16222} 16223 16224func (c *ProjectsLocationsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 16225 reqHeaders := make(http.Header) 16226 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 16227 for k, v := range c.header_ { 16228 reqHeaders[k] = v 16229 } 16230 reqHeaders.Set("User-Agent", c.s.userAgent()) 16231 var body io.Reader = nil 16232 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotateimagesrequest) 16233 if err != nil { 16234 return nil, err 16235 } 16236 reqHeaders.Set("Content-Type", "application/json") 16237 c.urlParams_.Set("alt", alt) 16238 c.urlParams_.Set("prettyPrint", "false") 16239 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:annotate") 16240 urls += "?" + c.urlParams_.Encode() 16241 req, err := http.NewRequest("POST", urls, body) 16242 if err != nil { 16243 return nil, err 16244 } 16245 req.Header = reqHeaders 16246 googleapi.Expand(req.URL, map[string]string{ 16247 "parent": c.parent, 16248 }) 16249 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16250} 16251 16252// Do executes the "vision.projects.locations.images.annotate" call. 16253// Exactly one of *BatchAnnotateImagesResponse or error will be non-nil. 16254// Any non-2xx status code is an error. Response headers are in either 16255// *BatchAnnotateImagesResponse.ServerResponse.Header or (if a response 16256// was returned at all) in error.(*googleapi.Error).Header. Use 16257// googleapi.IsNotModified to check whether the returned error was 16258// because http.StatusNotModified was returned. 16259func (c *ProjectsLocationsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateImagesResponse, error) { 16260 gensupport.SetOptions(c.urlParams_, opts...) 16261 res, err := c.doRequest("json") 16262 if res != nil && res.StatusCode == http.StatusNotModified { 16263 if res.Body != nil { 16264 res.Body.Close() 16265 } 16266 return nil, &googleapi.Error{ 16267 Code: res.StatusCode, 16268 Header: res.Header, 16269 } 16270 } 16271 if err != nil { 16272 return nil, err 16273 } 16274 defer googleapi.CloseBody(res) 16275 if err := googleapi.CheckResponse(res); err != nil { 16276 return nil, err 16277 } 16278 ret := &BatchAnnotateImagesResponse{ 16279 ServerResponse: googleapi.ServerResponse{ 16280 Header: res.Header, 16281 HTTPStatusCode: res.StatusCode, 16282 }, 16283 } 16284 target := &ret 16285 if err := gensupport.DecodeResponse(target, res); err != nil { 16286 return nil, err 16287 } 16288 return ret, nil 16289 // { 16290 // "description": "Run image detection and annotation for a batch of images.", 16291 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/images:annotate", 16292 // "httpMethod": "POST", 16293 // "id": "vision.projects.locations.images.annotate", 16294 // "parameterOrder": [ 16295 // "parent" 16296 // ], 16297 // "parameters": { 16298 // "parent": { 16299 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 16300 // "location": "path", 16301 // "pattern": "^projects/[^/]+/locations/[^/]+$", 16302 // "required": true, 16303 // "type": "string" 16304 // } 16305 // }, 16306 // "path": "v1/{+parent}/images:annotate", 16307 // "request": { 16308 // "$ref": "BatchAnnotateImagesRequest" 16309 // }, 16310 // "response": { 16311 // "$ref": "BatchAnnotateImagesResponse" 16312 // }, 16313 // "scopes": [ 16314 // "https://www.googleapis.com/auth/cloud-platform", 16315 // "https://www.googleapis.com/auth/cloud-vision" 16316 // ] 16317 // } 16318 16319} 16320 16321// method id "vision.projects.locations.images.asyncBatchAnnotate": 16322 16323type ProjectsLocationsImagesAsyncBatchAnnotateCall struct { 16324 s *Service 16325 parent string 16326 asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest 16327 urlParams_ gensupport.URLParams 16328 ctx_ context.Context 16329 header_ http.Header 16330} 16331 16332// AsyncBatchAnnotate: Run asynchronous image detection and annotation 16333// for a list of images. Progress and results can be retrieved through 16334// the `google.longrunning.Operations` interface. `Operation.metadata` 16335// contains `OperationMetadata` (metadata). `Operation.response` 16336// contains `AsyncBatchAnnotateImagesResponse` (results). This service 16337// will write image annotation outputs to json files in customer GCS 16338// bucket, each json file containing BatchAnnotateImagesResponse proto. 16339// 16340// - parent: Optional. Target project and location to make a call. 16341// Format: `projects/{project-id}/locations/{location-id}`. If no 16342// parent is specified, a region will be chosen automatically. 16343// Supported location-ids: `us`: USA country only, `asia`: East asia 16344// areas, like Japan, Taiwan, `eu`: The European Union. Example: 16345// `projects/project-A/locations/eu`. 16346func (r *ProjectsLocationsImagesService) AsyncBatchAnnotate(parent string, asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 16347 c := &ProjectsLocationsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16348 c.parent = parent 16349 c.asyncbatchannotateimagesrequest = asyncbatchannotateimagesrequest 16350 return c 16351} 16352 16353// Fields allows partial responses to be retrieved. See 16354// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16355// for more information. 16356func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 16357 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16358 return c 16359} 16360 16361// Context sets the context to be used in this call's Do method. Any 16362// pending HTTP request will be aborted if the provided context is 16363// canceled. 16364func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 16365 c.ctx_ = ctx 16366 return c 16367} 16368 16369// Header returns an http.Header that can be modified by the caller to 16370// add HTTP headers to the request. 16371func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Header() http.Header { 16372 if c.header_ == nil { 16373 c.header_ = make(http.Header) 16374 } 16375 return c.header_ 16376} 16377 16378func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 16379 reqHeaders := make(http.Header) 16380 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 16381 for k, v := range c.header_ { 16382 reqHeaders[k] = v 16383 } 16384 reqHeaders.Set("User-Agent", c.s.userAgent()) 16385 var body io.Reader = nil 16386 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotateimagesrequest) 16387 if err != nil { 16388 return nil, err 16389 } 16390 reqHeaders.Set("Content-Type", "application/json") 16391 c.urlParams_.Set("alt", alt) 16392 c.urlParams_.Set("prettyPrint", "false") 16393 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:asyncBatchAnnotate") 16394 urls += "?" + c.urlParams_.Encode() 16395 req, err := http.NewRequest("POST", urls, body) 16396 if err != nil { 16397 return nil, err 16398 } 16399 req.Header = reqHeaders 16400 googleapi.Expand(req.URL, map[string]string{ 16401 "parent": c.parent, 16402 }) 16403 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16404} 16405 16406// Do executes the "vision.projects.locations.images.asyncBatchAnnotate" call. 16407// Exactly one of *Operation or error will be non-nil. Any non-2xx 16408// status code is an error. Response headers are in either 16409// *Operation.ServerResponse.Header or (if a response was returned at 16410// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 16411// to check whether the returned error was because 16412// http.StatusNotModified was returned. 16413func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 16414 gensupport.SetOptions(c.urlParams_, opts...) 16415 res, err := c.doRequest("json") 16416 if res != nil && res.StatusCode == http.StatusNotModified { 16417 if res.Body != nil { 16418 res.Body.Close() 16419 } 16420 return nil, &googleapi.Error{ 16421 Code: res.StatusCode, 16422 Header: res.Header, 16423 } 16424 } 16425 if err != nil { 16426 return nil, err 16427 } 16428 defer googleapi.CloseBody(res) 16429 if err := googleapi.CheckResponse(res); err != nil { 16430 return nil, err 16431 } 16432 ret := &Operation{ 16433 ServerResponse: googleapi.ServerResponse{ 16434 Header: res.Header, 16435 HTTPStatusCode: res.StatusCode, 16436 }, 16437 } 16438 target := &ret 16439 if err := gensupport.DecodeResponse(target, res); err != nil { 16440 return nil, err 16441 } 16442 return ret, nil 16443 // { 16444 // "description": "Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 16445 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/images:asyncBatchAnnotate", 16446 // "httpMethod": "POST", 16447 // "id": "vision.projects.locations.images.asyncBatchAnnotate", 16448 // "parameterOrder": [ 16449 // "parent" 16450 // ], 16451 // "parameters": { 16452 // "parent": { 16453 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 16454 // "location": "path", 16455 // "pattern": "^projects/[^/]+/locations/[^/]+$", 16456 // "required": true, 16457 // "type": "string" 16458 // } 16459 // }, 16460 // "path": "v1/{+parent}/images:asyncBatchAnnotate", 16461 // "request": { 16462 // "$ref": "AsyncBatchAnnotateImagesRequest" 16463 // }, 16464 // "response": { 16465 // "$ref": "Operation" 16466 // }, 16467 // "scopes": [ 16468 // "https://www.googleapis.com/auth/cloud-platform", 16469 // "https://www.googleapis.com/auth/cloud-vision" 16470 // ] 16471 // } 16472 16473} 16474 16475// method id "vision.projects.locations.operations.get": 16476 16477type ProjectsLocationsOperationsGetCall struct { 16478 s *Service 16479 name string 16480 urlParams_ gensupport.URLParams 16481 ifNoneMatch_ string 16482 ctx_ context.Context 16483 header_ http.Header 16484} 16485 16486// Get: Gets the latest state of a long-running operation. Clients can 16487// use this method to poll the operation result at intervals as 16488// recommended by the API service. 16489// 16490// - name: The name of the operation resource. 16491func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { 16492 c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16493 c.name = name 16494 return c 16495} 16496 16497// Fields allows partial responses to be retrieved. See 16498// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16499// for more information. 16500func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { 16501 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16502 return c 16503} 16504 16505// IfNoneMatch sets the optional parameter which makes the operation 16506// fail if the object's ETag matches the given value. This is useful for 16507// getting updates only after the object has changed since the last 16508// request. Use googleapi.IsNotModified to check whether the response 16509// error from Do is the result of In-None-Match. 16510func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { 16511 c.ifNoneMatch_ = entityTag 16512 return c 16513} 16514 16515// Context sets the context to be used in this call's Do method. Any 16516// pending HTTP request will be aborted if the provided context is 16517// canceled. 16518func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { 16519 c.ctx_ = ctx 16520 return c 16521} 16522 16523// Header returns an http.Header that can be modified by the caller to 16524// add HTTP headers to the request. 16525func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { 16526 if c.header_ == nil { 16527 c.header_ = make(http.Header) 16528 } 16529 return c.header_ 16530} 16531 16532func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 16533 reqHeaders := make(http.Header) 16534 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 16535 for k, v := range c.header_ { 16536 reqHeaders[k] = v 16537 } 16538 reqHeaders.Set("User-Agent", c.s.userAgent()) 16539 if c.ifNoneMatch_ != "" { 16540 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 16541 } 16542 var body io.Reader = nil 16543 c.urlParams_.Set("alt", alt) 16544 c.urlParams_.Set("prettyPrint", "false") 16545 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 16546 urls += "?" + c.urlParams_.Encode() 16547 req, err := http.NewRequest("GET", urls, body) 16548 if err != nil { 16549 return nil, err 16550 } 16551 req.Header = reqHeaders 16552 googleapi.Expand(req.URL, map[string]string{ 16553 "name": c.name, 16554 }) 16555 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16556} 16557 16558// Do executes the "vision.projects.locations.operations.get" call. 16559// Exactly one of *Operation or error will be non-nil. Any non-2xx 16560// status code is an error. Response headers are in either 16561// *Operation.ServerResponse.Header or (if a response was returned at 16562// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 16563// to check whether the returned error was because 16564// http.StatusNotModified was returned. 16565func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 16566 gensupport.SetOptions(c.urlParams_, opts...) 16567 res, err := c.doRequest("json") 16568 if res != nil && res.StatusCode == http.StatusNotModified { 16569 if res.Body != nil { 16570 res.Body.Close() 16571 } 16572 return nil, &googleapi.Error{ 16573 Code: res.StatusCode, 16574 Header: res.Header, 16575 } 16576 } 16577 if err != nil { 16578 return nil, err 16579 } 16580 defer googleapi.CloseBody(res) 16581 if err := googleapi.CheckResponse(res); err != nil { 16582 return nil, err 16583 } 16584 ret := &Operation{ 16585 ServerResponse: googleapi.ServerResponse{ 16586 Header: res.Header, 16587 HTTPStatusCode: res.StatusCode, 16588 }, 16589 } 16590 target := &ret 16591 if err := gensupport.DecodeResponse(target, res); err != nil { 16592 return nil, err 16593 } 16594 return ret, nil 16595 // { 16596 // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", 16597 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", 16598 // "httpMethod": "GET", 16599 // "id": "vision.projects.locations.operations.get", 16600 // "parameterOrder": [ 16601 // "name" 16602 // ], 16603 // "parameters": { 16604 // "name": { 16605 // "description": "The name of the operation resource.", 16606 // "location": "path", 16607 // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", 16608 // "required": true, 16609 // "type": "string" 16610 // } 16611 // }, 16612 // "path": "v1/{+name}", 16613 // "response": { 16614 // "$ref": "Operation" 16615 // }, 16616 // "scopes": [ 16617 // "https://www.googleapis.com/auth/cloud-platform", 16618 // "https://www.googleapis.com/auth/cloud-vision" 16619 // ] 16620 // } 16621 16622} 16623 16624// method id "vision.projects.locations.productSets.addProduct": 16625 16626type ProjectsLocationsProductSetsAddProductCall struct { 16627 s *Service 16628 name string 16629 addproducttoproductsetrequest *AddProductToProductSetRequest 16630 urlParams_ gensupport.URLParams 16631 ctx_ context.Context 16632 header_ http.Header 16633} 16634 16635// AddProduct: Adds a Product to the specified ProductSet. If the 16636// Product is already present, no change is made. One Product can be 16637// added to at most 100 ProductSets. Possible errors: * Returns 16638// NOT_FOUND if the Product or the ProductSet doesn't exist. 16639// 16640// - name: The resource name for the ProductSet to modify. Format is: 16641// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 16642func (r *ProjectsLocationsProductSetsService) AddProduct(name string, addproducttoproductsetrequest *AddProductToProductSetRequest) *ProjectsLocationsProductSetsAddProductCall { 16643 c := &ProjectsLocationsProductSetsAddProductCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16644 c.name = name 16645 c.addproducttoproductsetrequest = addproducttoproductsetrequest 16646 return c 16647} 16648 16649// Fields allows partial responses to be retrieved. See 16650// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16651// for more information. 16652func (c *ProjectsLocationsProductSetsAddProductCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsAddProductCall { 16653 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16654 return c 16655} 16656 16657// Context sets the context to be used in this call's Do method. Any 16658// pending HTTP request will be aborted if the provided context is 16659// canceled. 16660func (c *ProjectsLocationsProductSetsAddProductCall) Context(ctx context.Context) *ProjectsLocationsProductSetsAddProductCall { 16661 c.ctx_ = ctx 16662 return c 16663} 16664 16665// Header returns an http.Header that can be modified by the caller to 16666// add HTTP headers to the request. 16667func (c *ProjectsLocationsProductSetsAddProductCall) Header() http.Header { 16668 if c.header_ == nil { 16669 c.header_ = make(http.Header) 16670 } 16671 return c.header_ 16672} 16673 16674func (c *ProjectsLocationsProductSetsAddProductCall) doRequest(alt string) (*http.Response, error) { 16675 reqHeaders := make(http.Header) 16676 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 16677 for k, v := range c.header_ { 16678 reqHeaders[k] = v 16679 } 16680 reqHeaders.Set("User-Agent", c.s.userAgent()) 16681 var body io.Reader = nil 16682 body, err := googleapi.WithoutDataWrapper.JSONReader(c.addproducttoproductsetrequest) 16683 if err != nil { 16684 return nil, err 16685 } 16686 reqHeaders.Set("Content-Type", "application/json") 16687 c.urlParams_.Set("alt", alt) 16688 c.urlParams_.Set("prettyPrint", "false") 16689 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:addProduct") 16690 urls += "?" + c.urlParams_.Encode() 16691 req, err := http.NewRequest("POST", urls, body) 16692 if err != nil { 16693 return nil, err 16694 } 16695 req.Header = reqHeaders 16696 googleapi.Expand(req.URL, map[string]string{ 16697 "name": c.name, 16698 }) 16699 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16700} 16701 16702// Do executes the "vision.projects.locations.productSets.addProduct" call. 16703// Exactly one of *Empty or error will be non-nil. Any non-2xx status 16704// code is an error. Response headers are in either 16705// *Empty.ServerResponse.Header or (if a response was returned at all) 16706// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 16707// check whether the returned error was because http.StatusNotModified 16708// was returned. 16709func (c *ProjectsLocationsProductSetsAddProductCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 16710 gensupport.SetOptions(c.urlParams_, opts...) 16711 res, err := c.doRequest("json") 16712 if res != nil && res.StatusCode == http.StatusNotModified { 16713 if res.Body != nil { 16714 res.Body.Close() 16715 } 16716 return nil, &googleapi.Error{ 16717 Code: res.StatusCode, 16718 Header: res.Header, 16719 } 16720 } 16721 if err != nil { 16722 return nil, err 16723 } 16724 defer googleapi.CloseBody(res) 16725 if err := googleapi.CheckResponse(res); err != nil { 16726 return nil, err 16727 } 16728 ret := &Empty{ 16729 ServerResponse: googleapi.ServerResponse{ 16730 Header: res.Header, 16731 HTTPStatusCode: res.StatusCode, 16732 }, 16733 } 16734 target := &ret 16735 if err := gensupport.DecodeResponse(target, res); err != nil { 16736 return nil, err 16737 } 16738 return ret, nil 16739 // { 16740 // "description": "Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", 16741 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}:addProduct", 16742 // "httpMethod": "POST", 16743 // "id": "vision.projects.locations.productSets.addProduct", 16744 // "parameterOrder": [ 16745 // "name" 16746 // ], 16747 // "parameters": { 16748 // "name": { 16749 // "description": "Required. The resource name for the ProductSet to modify. Format is: `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 16750 // "location": "path", 16751 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 16752 // "required": true, 16753 // "type": "string" 16754 // } 16755 // }, 16756 // "path": "v1/{+name}:addProduct", 16757 // "request": { 16758 // "$ref": "AddProductToProductSetRequest" 16759 // }, 16760 // "response": { 16761 // "$ref": "Empty" 16762 // }, 16763 // "scopes": [ 16764 // "https://www.googleapis.com/auth/cloud-platform", 16765 // "https://www.googleapis.com/auth/cloud-vision" 16766 // ] 16767 // } 16768 16769} 16770 16771// method id "vision.projects.locations.productSets.create": 16772 16773type ProjectsLocationsProductSetsCreateCall struct { 16774 s *Service 16775 parent string 16776 productset *ProductSet 16777 urlParams_ gensupport.URLParams 16778 ctx_ context.Context 16779 header_ http.Header 16780} 16781 16782// Create: Creates and returns a new ProductSet resource. Possible 16783// errors: * Returns INVALID_ARGUMENT if display_name is missing, or is 16784// longer than 4096 characters. 16785// 16786// - parent: The project in which the ProductSet should be created. 16787// Format is `projects/PROJECT_ID/locations/LOC_ID`. 16788func (r *ProjectsLocationsProductSetsService) Create(parent string, productset *ProductSet) *ProjectsLocationsProductSetsCreateCall { 16789 c := &ProjectsLocationsProductSetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16790 c.parent = parent 16791 c.productset = productset 16792 return c 16793} 16794 16795// ProductSetId sets the optional parameter "productSetId": A 16796// user-supplied resource id for this ProductSet. If set, the server 16797// will attempt to use this value as the resource id. If it is already 16798// in use, an error is returned with code ALREADY_EXISTS. Must be at 16799// most 128 characters long. It cannot contain the character `/`. 16800func (c *ProjectsLocationsProductSetsCreateCall) ProductSetId(productSetId string) *ProjectsLocationsProductSetsCreateCall { 16801 c.urlParams_.Set("productSetId", productSetId) 16802 return c 16803} 16804 16805// Fields allows partial responses to be retrieved. See 16806// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16807// for more information. 16808func (c *ProjectsLocationsProductSetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsCreateCall { 16809 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16810 return c 16811} 16812 16813// Context sets the context to be used in this call's Do method. Any 16814// pending HTTP request will be aborted if the provided context is 16815// canceled. 16816func (c *ProjectsLocationsProductSetsCreateCall) Context(ctx context.Context) *ProjectsLocationsProductSetsCreateCall { 16817 c.ctx_ = ctx 16818 return c 16819} 16820 16821// Header returns an http.Header that can be modified by the caller to 16822// add HTTP headers to the request. 16823func (c *ProjectsLocationsProductSetsCreateCall) Header() http.Header { 16824 if c.header_ == nil { 16825 c.header_ = make(http.Header) 16826 } 16827 return c.header_ 16828} 16829 16830func (c *ProjectsLocationsProductSetsCreateCall) doRequest(alt string) (*http.Response, error) { 16831 reqHeaders := make(http.Header) 16832 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 16833 for k, v := range c.header_ { 16834 reqHeaders[k] = v 16835 } 16836 reqHeaders.Set("User-Agent", c.s.userAgent()) 16837 var body io.Reader = nil 16838 body, err := googleapi.WithoutDataWrapper.JSONReader(c.productset) 16839 if err != nil { 16840 return nil, err 16841 } 16842 reqHeaders.Set("Content-Type", "application/json") 16843 c.urlParams_.Set("alt", alt) 16844 c.urlParams_.Set("prettyPrint", "false") 16845 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productSets") 16846 urls += "?" + c.urlParams_.Encode() 16847 req, err := http.NewRequest("POST", urls, body) 16848 if err != nil { 16849 return nil, err 16850 } 16851 req.Header = reqHeaders 16852 googleapi.Expand(req.URL, map[string]string{ 16853 "parent": c.parent, 16854 }) 16855 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16856} 16857 16858// Do executes the "vision.projects.locations.productSets.create" call. 16859// Exactly one of *ProductSet or error will be non-nil. Any non-2xx 16860// status code is an error. Response headers are in either 16861// *ProductSet.ServerResponse.Header or (if a response was returned at 16862// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 16863// to check whether the returned error was because 16864// http.StatusNotModified was returned. 16865func (c *ProjectsLocationsProductSetsCreateCall) Do(opts ...googleapi.CallOption) (*ProductSet, error) { 16866 gensupport.SetOptions(c.urlParams_, opts...) 16867 res, err := c.doRequest("json") 16868 if res != nil && res.StatusCode == http.StatusNotModified { 16869 if res.Body != nil { 16870 res.Body.Close() 16871 } 16872 return nil, &googleapi.Error{ 16873 Code: res.StatusCode, 16874 Header: res.Header, 16875 } 16876 } 16877 if err != nil { 16878 return nil, err 16879 } 16880 defer googleapi.CloseBody(res) 16881 if err := googleapi.CheckResponse(res); err != nil { 16882 return nil, err 16883 } 16884 ret := &ProductSet{ 16885 ServerResponse: googleapi.ServerResponse{ 16886 Header: res.Header, 16887 HTTPStatusCode: res.StatusCode, 16888 }, 16889 } 16890 target := &ret 16891 if err := gensupport.DecodeResponse(target, res); err != nil { 16892 return nil, err 16893 } 16894 return ret, nil 16895 // { 16896 // "description": "Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", 16897 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets", 16898 // "httpMethod": "POST", 16899 // "id": "vision.projects.locations.productSets.create", 16900 // "parameterOrder": [ 16901 // "parent" 16902 // ], 16903 // "parameters": { 16904 // "parent": { 16905 // "description": "Required. The project in which the ProductSet should be created. Format is `projects/PROJECT_ID/locations/LOC_ID`.", 16906 // "location": "path", 16907 // "pattern": "^projects/[^/]+/locations/[^/]+$", 16908 // "required": true, 16909 // "type": "string" 16910 // }, 16911 // "productSetId": { 16912 // "description": "A user-supplied resource id for this ProductSet. If set, the server will attempt to use this value as the resource id. If it is already in use, an error is returned with code ALREADY_EXISTS. Must be at most 128 characters long. It cannot contain the character `/`.", 16913 // "location": "query", 16914 // "type": "string" 16915 // } 16916 // }, 16917 // "path": "v1/{+parent}/productSets", 16918 // "request": { 16919 // "$ref": "ProductSet" 16920 // }, 16921 // "response": { 16922 // "$ref": "ProductSet" 16923 // }, 16924 // "scopes": [ 16925 // "https://www.googleapis.com/auth/cloud-platform", 16926 // "https://www.googleapis.com/auth/cloud-vision" 16927 // ] 16928 // } 16929 16930} 16931 16932// method id "vision.projects.locations.productSets.delete": 16933 16934type ProjectsLocationsProductSetsDeleteCall struct { 16935 s *Service 16936 name string 16937 urlParams_ gensupport.URLParams 16938 ctx_ context.Context 16939 header_ http.Header 16940} 16941 16942// Delete: Permanently deletes a ProductSet. Products and 16943// ReferenceImages in the ProductSet are not deleted. The actual image 16944// files are not deleted from Google Cloud Storage. 16945// 16946// - name: Resource name of the ProductSet to delete. Format is: 16947// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 16948func (r *ProjectsLocationsProductSetsService) Delete(name string) *ProjectsLocationsProductSetsDeleteCall { 16949 c := &ProjectsLocationsProductSetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16950 c.name = name 16951 return c 16952} 16953 16954// Fields allows partial responses to be retrieved. See 16955// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16956// for more information. 16957func (c *ProjectsLocationsProductSetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsDeleteCall { 16958 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16959 return c 16960} 16961 16962// Context sets the context to be used in this call's Do method. Any 16963// pending HTTP request will be aborted if the provided context is 16964// canceled. 16965func (c *ProjectsLocationsProductSetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsProductSetsDeleteCall { 16966 c.ctx_ = ctx 16967 return c 16968} 16969 16970// Header returns an http.Header that can be modified by the caller to 16971// add HTTP headers to the request. 16972func (c *ProjectsLocationsProductSetsDeleteCall) Header() http.Header { 16973 if c.header_ == nil { 16974 c.header_ = make(http.Header) 16975 } 16976 return c.header_ 16977} 16978 16979func (c *ProjectsLocationsProductSetsDeleteCall) doRequest(alt string) (*http.Response, error) { 16980 reqHeaders := make(http.Header) 16981 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 16982 for k, v := range c.header_ { 16983 reqHeaders[k] = v 16984 } 16985 reqHeaders.Set("User-Agent", c.s.userAgent()) 16986 var body io.Reader = nil 16987 c.urlParams_.Set("alt", alt) 16988 c.urlParams_.Set("prettyPrint", "false") 16989 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 16990 urls += "?" + c.urlParams_.Encode() 16991 req, err := http.NewRequest("DELETE", urls, body) 16992 if err != nil { 16993 return nil, err 16994 } 16995 req.Header = reqHeaders 16996 googleapi.Expand(req.URL, map[string]string{ 16997 "name": c.name, 16998 }) 16999 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17000} 17001 17002// Do executes the "vision.projects.locations.productSets.delete" call. 17003// Exactly one of *Empty or error will be non-nil. Any non-2xx status 17004// code is an error. Response headers are in either 17005// *Empty.ServerResponse.Header or (if a response was returned at all) 17006// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 17007// check whether the returned error was because http.StatusNotModified 17008// was returned. 17009func (c *ProjectsLocationsProductSetsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 17010 gensupport.SetOptions(c.urlParams_, opts...) 17011 res, err := c.doRequest("json") 17012 if res != nil && res.StatusCode == http.StatusNotModified { 17013 if res.Body != nil { 17014 res.Body.Close() 17015 } 17016 return nil, &googleapi.Error{ 17017 Code: res.StatusCode, 17018 Header: res.Header, 17019 } 17020 } 17021 if err != nil { 17022 return nil, err 17023 } 17024 defer googleapi.CloseBody(res) 17025 if err := googleapi.CheckResponse(res); err != nil { 17026 return nil, err 17027 } 17028 ret := &Empty{ 17029 ServerResponse: googleapi.ServerResponse{ 17030 Header: res.Header, 17031 HTTPStatusCode: res.StatusCode, 17032 }, 17033 } 17034 target := &ret 17035 if err := gensupport.DecodeResponse(target, res); err != nil { 17036 return nil, err 17037 } 17038 return ret, nil 17039 // { 17040 // "description": "Permanently deletes a ProductSet. Products and ReferenceImages in the ProductSet are not deleted. The actual image files are not deleted from Google Cloud Storage.", 17041 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}", 17042 // "httpMethod": "DELETE", 17043 // "id": "vision.projects.locations.productSets.delete", 17044 // "parameterOrder": [ 17045 // "name" 17046 // ], 17047 // "parameters": { 17048 // "name": { 17049 // "description": "Required. Resource name of the ProductSet to delete. Format is: `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 17050 // "location": "path", 17051 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 17052 // "required": true, 17053 // "type": "string" 17054 // } 17055 // }, 17056 // "path": "v1/{+name}", 17057 // "response": { 17058 // "$ref": "Empty" 17059 // }, 17060 // "scopes": [ 17061 // "https://www.googleapis.com/auth/cloud-platform", 17062 // "https://www.googleapis.com/auth/cloud-vision" 17063 // ] 17064 // } 17065 17066} 17067 17068// method id "vision.projects.locations.productSets.get": 17069 17070type ProjectsLocationsProductSetsGetCall struct { 17071 s *Service 17072 name string 17073 urlParams_ gensupport.URLParams 17074 ifNoneMatch_ string 17075 ctx_ context.Context 17076 header_ http.Header 17077} 17078 17079// Get: Gets information associated with a ProductSet. Possible errors: 17080// * Returns NOT_FOUND if the ProductSet does not exist. 17081// 17082// - name: Resource name of the ProductSet to get. Format is: 17083// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 17084func (r *ProjectsLocationsProductSetsService) Get(name string) *ProjectsLocationsProductSetsGetCall { 17085 c := &ProjectsLocationsProductSetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17086 c.name = name 17087 return c 17088} 17089 17090// Fields allows partial responses to be retrieved. See 17091// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17092// for more information. 17093func (c *ProjectsLocationsProductSetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsGetCall { 17094 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17095 return c 17096} 17097 17098// IfNoneMatch sets the optional parameter which makes the operation 17099// fail if the object's ETag matches the given value. This is useful for 17100// getting updates only after the object has changed since the last 17101// request. Use googleapi.IsNotModified to check whether the response 17102// error from Do is the result of In-None-Match. 17103func (c *ProjectsLocationsProductSetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductSetsGetCall { 17104 c.ifNoneMatch_ = entityTag 17105 return c 17106} 17107 17108// Context sets the context to be used in this call's Do method. Any 17109// pending HTTP request will be aborted if the provided context is 17110// canceled. 17111func (c *ProjectsLocationsProductSetsGetCall) Context(ctx context.Context) *ProjectsLocationsProductSetsGetCall { 17112 c.ctx_ = ctx 17113 return c 17114} 17115 17116// Header returns an http.Header that can be modified by the caller to 17117// add HTTP headers to the request. 17118func (c *ProjectsLocationsProductSetsGetCall) Header() http.Header { 17119 if c.header_ == nil { 17120 c.header_ = make(http.Header) 17121 } 17122 return c.header_ 17123} 17124 17125func (c *ProjectsLocationsProductSetsGetCall) doRequest(alt string) (*http.Response, error) { 17126 reqHeaders := make(http.Header) 17127 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 17128 for k, v := range c.header_ { 17129 reqHeaders[k] = v 17130 } 17131 reqHeaders.Set("User-Agent", c.s.userAgent()) 17132 if c.ifNoneMatch_ != "" { 17133 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 17134 } 17135 var body io.Reader = nil 17136 c.urlParams_.Set("alt", alt) 17137 c.urlParams_.Set("prettyPrint", "false") 17138 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 17139 urls += "?" + c.urlParams_.Encode() 17140 req, err := http.NewRequest("GET", urls, body) 17141 if err != nil { 17142 return nil, err 17143 } 17144 req.Header = reqHeaders 17145 googleapi.Expand(req.URL, map[string]string{ 17146 "name": c.name, 17147 }) 17148 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17149} 17150 17151// Do executes the "vision.projects.locations.productSets.get" call. 17152// Exactly one of *ProductSet or error will be non-nil. Any non-2xx 17153// status code is an error. Response headers are in either 17154// *ProductSet.ServerResponse.Header or (if a response was returned at 17155// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17156// to check whether the returned error was because 17157// http.StatusNotModified was returned. 17158func (c *ProjectsLocationsProductSetsGetCall) Do(opts ...googleapi.CallOption) (*ProductSet, error) { 17159 gensupport.SetOptions(c.urlParams_, opts...) 17160 res, err := c.doRequest("json") 17161 if res != nil && res.StatusCode == http.StatusNotModified { 17162 if res.Body != nil { 17163 res.Body.Close() 17164 } 17165 return nil, &googleapi.Error{ 17166 Code: res.StatusCode, 17167 Header: res.Header, 17168 } 17169 } 17170 if err != nil { 17171 return nil, err 17172 } 17173 defer googleapi.CloseBody(res) 17174 if err := googleapi.CheckResponse(res); err != nil { 17175 return nil, err 17176 } 17177 ret := &ProductSet{ 17178 ServerResponse: googleapi.ServerResponse{ 17179 Header: res.Header, 17180 HTTPStatusCode: res.StatusCode, 17181 }, 17182 } 17183 target := &ret 17184 if err := gensupport.DecodeResponse(target, res); err != nil { 17185 return nil, err 17186 } 17187 return ret, nil 17188 // { 17189 // "description": "Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", 17190 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}", 17191 // "httpMethod": "GET", 17192 // "id": "vision.projects.locations.productSets.get", 17193 // "parameterOrder": [ 17194 // "name" 17195 // ], 17196 // "parameters": { 17197 // "name": { 17198 // "description": "Required. Resource name of the ProductSet to get. Format is: `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 17199 // "location": "path", 17200 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 17201 // "required": true, 17202 // "type": "string" 17203 // } 17204 // }, 17205 // "path": "v1/{+name}", 17206 // "response": { 17207 // "$ref": "ProductSet" 17208 // }, 17209 // "scopes": [ 17210 // "https://www.googleapis.com/auth/cloud-platform", 17211 // "https://www.googleapis.com/auth/cloud-vision" 17212 // ] 17213 // } 17214 17215} 17216 17217// method id "vision.projects.locations.productSets.import": 17218 17219type ProjectsLocationsProductSetsImportCall struct { 17220 s *Service 17221 parent string 17222 importproductsetsrequest *ImportProductSetsRequest 17223 urlParams_ gensupport.URLParams 17224 ctx_ context.Context 17225 header_ http.Header 17226} 17227 17228// Import: Asynchronous API that imports a list of reference images to 17229// specified product sets based on a list of image information. The 17230// google.longrunning.Operation API can be used to keep track of the 17231// progress and results of the request. `Operation.metadata` contains 17232// `BatchOperationMetadata`. (progress) `Operation.response` contains 17233// `ImportProductSetsResponse`. (results) The input source of this 17234// method is a csv file on Google Cloud Storage. For the format of the 17235// csv file please see ImportProductSetsGcsSource.csv_file_uri. 17236// 17237// - parent: The project in which the ProductSets should be imported. 17238// Format is `projects/PROJECT_ID/locations/LOC_ID`. 17239func (r *ProjectsLocationsProductSetsService) Import(parent string, importproductsetsrequest *ImportProductSetsRequest) *ProjectsLocationsProductSetsImportCall { 17240 c := &ProjectsLocationsProductSetsImportCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17241 c.parent = parent 17242 c.importproductsetsrequest = importproductsetsrequest 17243 return c 17244} 17245 17246// Fields allows partial responses to be retrieved. See 17247// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17248// for more information. 17249func (c *ProjectsLocationsProductSetsImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsImportCall { 17250 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17251 return c 17252} 17253 17254// Context sets the context to be used in this call's Do method. Any 17255// pending HTTP request will be aborted if the provided context is 17256// canceled. 17257func (c *ProjectsLocationsProductSetsImportCall) Context(ctx context.Context) *ProjectsLocationsProductSetsImportCall { 17258 c.ctx_ = ctx 17259 return c 17260} 17261 17262// Header returns an http.Header that can be modified by the caller to 17263// add HTTP headers to the request. 17264func (c *ProjectsLocationsProductSetsImportCall) Header() http.Header { 17265 if c.header_ == nil { 17266 c.header_ = make(http.Header) 17267 } 17268 return c.header_ 17269} 17270 17271func (c *ProjectsLocationsProductSetsImportCall) doRequest(alt string) (*http.Response, error) { 17272 reqHeaders := make(http.Header) 17273 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 17274 for k, v := range c.header_ { 17275 reqHeaders[k] = v 17276 } 17277 reqHeaders.Set("User-Agent", c.s.userAgent()) 17278 var body io.Reader = nil 17279 body, err := googleapi.WithoutDataWrapper.JSONReader(c.importproductsetsrequest) 17280 if err != nil { 17281 return nil, err 17282 } 17283 reqHeaders.Set("Content-Type", "application/json") 17284 c.urlParams_.Set("alt", alt) 17285 c.urlParams_.Set("prettyPrint", "false") 17286 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productSets:import") 17287 urls += "?" + c.urlParams_.Encode() 17288 req, err := http.NewRequest("POST", urls, body) 17289 if err != nil { 17290 return nil, err 17291 } 17292 req.Header = reqHeaders 17293 googleapi.Expand(req.URL, map[string]string{ 17294 "parent": c.parent, 17295 }) 17296 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17297} 17298 17299// Do executes the "vision.projects.locations.productSets.import" call. 17300// Exactly one of *Operation or error will be non-nil. Any non-2xx 17301// status code is an error. Response headers are in either 17302// *Operation.ServerResponse.Header or (if a response was returned at 17303// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17304// to check whether the returned error was because 17305// http.StatusNotModified was returned. 17306func (c *ProjectsLocationsProductSetsImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17307 gensupport.SetOptions(c.urlParams_, opts...) 17308 res, err := c.doRequest("json") 17309 if res != nil && res.StatusCode == http.StatusNotModified { 17310 if res.Body != nil { 17311 res.Body.Close() 17312 } 17313 return nil, &googleapi.Error{ 17314 Code: res.StatusCode, 17315 Header: res.Header, 17316 } 17317 } 17318 if err != nil { 17319 return nil, err 17320 } 17321 defer googleapi.CloseBody(res) 17322 if err := googleapi.CheckResponse(res); err != nil { 17323 return nil, err 17324 } 17325 ret := &Operation{ 17326 ServerResponse: googleapi.ServerResponse{ 17327 Header: res.Header, 17328 HTTPStatusCode: res.StatusCode, 17329 }, 17330 } 17331 target := &ret 17332 if err := gensupport.DecodeResponse(target, res); err != nil { 17333 return nil, err 17334 } 17335 return ret, nil 17336 // { 17337 // "description": "Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The google.longrunning.Operation API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see ImportProductSetsGcsSource.csv_file_uri.", 17338 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets:import", 17339 // "httpMethod": "POST", 17340 // "id": "vision.projects.locations.productSets.import", 17341 // "parameterOrder": [ 17342 // "parent" 17343 // ], 17344 // "parameters": { 17345 // "parent": { 17346 // "description": "Required. The project in which the ProductSets should be imported. Format is `projects/PROJECT_ID/locations/LOC_ID`.", 17347 // "location": "path", 17348 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17349 // "required": true, 17350 // "type": "string" 17351 // } 17352 // }, 17353 // "path": "v1/{+parent}/productSets:import", 17354 // "request": { 17355 // "$ref": "ImportProductSetsRequest" 17356 // }, 17357 // "response": { 17358 // "$ref": "Operation" 17359 // }, 17360 // "scopes": [ 17361 // "https://www.googleapis.com/auth/cloud-platform", 17362 // "https://www.googleapis.com/auth/cloud-vision" 17363 // ] 17364 // } 17365 17366} 17367 17368// method id "vision.projects.locations.productSets.list": 17369 17370type ProjectsLocationsProductSetsListCall struct { 17371 s *Service 17372 parent string 17373 urlParams_ gensupport.URLParams 17374 ifNoneMatch_ string 17375 ctx_ context.Context 17376 header_ http.Header 17377} 17378 17379// List: Lists ProductSets in an unspecified order. Possible errors: * 17380// Returns INVALID_ARGUMENT if page_size is greater than 100, or less 17381// than 1. 17382// 17383// - parent: The project from which ProductSets should be listed. Format 17384// is `projects/PROJECT_ID/locations/LOC_ID`. 17385func (r *ProjectsLocationsProductSetsService) List(parent string) *ProjectsLocationsProductSetsListCall { 17386 c := &ProjectsLocationsProductSetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17387 c.parent = parent 17388 return c 17389} 17390 17391// PageSize sets the optional parameter "pageSize": The maximum number 17392// of items to return. Default 10, maximum 100. 17393func (c *ProjectsLocationsProductSetsListCall) PageSize(pageSize int64) *ProjectsLocationsProductSetsListCall { 17394 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 17395 return c 17396} 17397 17398// PageToken sets the optional parameter "pageToken": The 17399// next_page_token returned from a previous List request, if any. 17400func (c *ProjectsLocationsProductSetsListCall) PageToken(pageToken string) *ProjectsLocationsProductSetsListCall { 17401 c.urlParams_.Set("pageToken", pageToken) 17402 return c 17403} 17404 17405// Fields allows partial responses to be retrieved. See 17406// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17407// for more information. 17408func (c *ProjectsLocationsProductSetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsListCall { 17409 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17410 return c 17411} 17412 17413// IfNoneMatch sets the optional parameter which makes the operation 17414// fail if the object's ETag matches the given value. This is useful for 17415// getting updates only after the object has changed since the last 17416// request. Use googleapi.IsNotModified to check whether the response 17417// error from Do is the result of In-None-Match. 17418func (c *ProjectsLocationsProductSetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductSetsListCall { 17419 c.ifNoneMatch_ = entityTag 17420 return c 17421} 17422 17423// Context sets the context to be used in this call's Do method. Any 17424// pending HTTP request will be aborted if the provided context is 17425// canceled. 17426func (c *ProjectsLocationsProductSetsListCall) Context(ctx context.Context) *ProjectsLocationsProductSetsListCall { 17427 c.ctx_ = ctx 17428 return c 17429} 17430 17431// Header returns an http.Header that can be modified by the caller to 17432// add HTTP headers to the request. 17433func (c *ProjectsLocationsProductSetsListCall) Header() http.Header { 17434 if c.header_ == nil { 17435 c.header_ = make(http.Header) 17436 } 17437 return c.header_ 17438} 17439 17440func (c *ProjectsLocationsProductSetsListCall) doRequest(alt string) (*http.Response, error) { 17441 reqHeaders := make(http.Header) 17442 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 17443 for k, v := range c.header_ { 17444 reqHeaders[k] = v 17445 } 17446 reqHeaders.Set("User-Agent", c.s.userAgent()) 17447 if c.ifNoneMatch_ != "" { 17448 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 17449 } 17450 var body io.Reader = nil 17451 c.urlParams_.Set("alt", alt) 17452 c.urlParams_.Set("prettyPrint", "false") 17453 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productSets") 17454 urls += "?" + c.urlParams_.Encode() 17455 req, err := http.NewRequest("GET", urls, body) 17456 if err != nil { 17457 return nil, err 17458 } 17459 req.Header = reqHeaders 17460 googleapi.Expand(req.URL, map[string]string{ 17461 "parent": c.parent, 17462 }) 17463 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17464} 17465 17466// Do executes the "vision.projects.locations.productSets.list" call. 17467// Exactly one of *ListProductSetsResponse or error will be non-nil. Any 17468// non-2xx status code is an error. Response headers are in either 17469// *ListProductSetsResponse.ServerResponse.Header or (if a response was 17470// returned at all) in error.(*googleapi.Error).Header. Use 17471// googleapi.IsNotModified to check whether the returned error was 17472// because http.StatusNotModified was returned. 17473func (c *ProjectsLocationsProductSetsListCall) Do(opts ...googleapi.CallOption) (*ListProductSetsResponse, error) { 17474 gensupport.SetOptions(c.urlParams_, opts...) 17475 res, err := c.doRequest("json") 17476 if res != nil && res.StatusCode == http.StatusNotModified { 17477 if res.Body != nil { 17478 res.Body.Close() 17479 } 17480 return nil, &googleapi.Error{ 17481 Code: res.StatusCode, 17482 Header: res.Header, 17483 } 17484 } 17485 if err != nil { 17486 return nil, err 17487 } 17488 defer googleapi.CloseBody(res) 17489 if err := googleapi.CheckResponse(res); err != nil { 17490 return nil, err 17491 } 17492 ret := &ListProductSetsResponse{ 17493 ServerResponse: googleapi.ServerResponse{ 17494 Header: res.Header, 17495 HTTPStatusCode: res.StatusCode, 17496 }, 17497 } 17498 target := &ret 17499 if err := gensupport.DecodeResponse(target, res); err != nil { 17500 return nil, err 17501 } 17502 return ret, nil 17503 // { 17504 // "description": "Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", 17505 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets", 17506 // "httpMethod": "GET", 17507 // "id": "vision.projects.locations.productSets.list", 17508 // "parameterOrder": [ 17509 // "parent" 17510 // ], 17511 // "parameters": { 17512 // "pageSize": { 17513 // "description": "The maximum number of items to return. Default 10, maximum 100.", 17514 // "format": "int32", 17515 // "location": "query", 17516 // "type": "integer" 17517 // }, 17518 // "pageToken": { 17519 // "description": "The next_page_token returned from a previous List request, if any.", 17520 // "location": "query", 17521 // "type": "string" 17522 // }, 17523 // "parent": { 17524 // "description": "Required. The project from which ProductSets should be listed. Format is `projects/PROJECT_ID/locations/LOC_ID`.", 17525 // "location": "path", 17526 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17527 // "required": true, 17528 // "type": "string" 17529 // } 17530 // }, 17531 // "path": "v1/{+parent}/productSets", 17532 // "response": { 17533 // "$ref": "ListProductSetsResponse" 17534 // }, 17535 // "scopes": [ 17536 // "https://www.googleapis.com/auth/cloud-platform", 17537 // "https://www.googleapis.com/auth/cloud-vision" 17538 // ] 17539 // } 17540 17541} 17542 17543// Pages invokes f for each page of results. 17544// A non-nil error returned from f will halt the iteration. 17545// The provided context supersedes any context provided to the Context method. 17546func (c *ProjectsLocationsProductSetsListCall) Pages(ctx context.Context, f func(*ListProductSetsResponse) error) error { 17547 c.ctx_ = ctx 17548 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 17549 for { 17550 x, err := c.Do() 17551 if err != nil { 17552 return err 17553 } 17554 if err := f(x); err != nil { 17555 return err 17556 } 17557 if x.NextPageToken == "" { 17558 return nil 17559 } 17560 c.PageToken(x.NextPageToken) 17561 } 17562} 17563 17564// method id "vision.projects.locations.productSets.patch": 17565 17566type ProjectsLocationsProductSetsPatchCall struct { 17567 s *Service 17568 name string 17569 productset *ProductSet 17570 urlParams_ gensupport.URLParams 17571 ctx_ context.Context 17572 header_ http.Header 17573} 17574 17575// Patch: Makes changes to a ProductSet resource. Only display_name can 17576// be updated currently. Possible errors: * Returns NOT_FOUND if the 17577// ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name 17578// is present in update_mask but missing from the request or longer than 17579// 4096 characters. 17580// 17581// - name: The resource name of the ProductSet. Format is: 17582// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 17583// This field is ignored when creating a ProductSet. 17584func (r *ProjectsLocationsProductSetsService) Patch(name string, productset *ProductSet) *ProjectsLocationsProductSetsPatchCall { 17585 c := &ProjectsLocationsProductSetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17586 c.name = name 17587 c.productset = productset 17588 return c 17589} 17590 17591// UpdateMask sets the optional parameter "updateMask": The FieldMask 17592// that specifies which fields to update. If update_mask isn't 17593// specified, all mutable fields are to be updated. Valid mask path is 17594// `display_name`. 17595func (c *ProjectsLocationsProductSetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsProductSetsPatchCall { 17596 c.urlParams_.Set("updateMask", updateMask) 17597 return c 17598} 17599 17600// Fields allows partial responses to be retrieved. See 17601// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17602// for more information. 17603func (c *ProjectsLocationsProductSetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsPatchCall { 17604 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17605 return c 17606} 17607 17608// Context sets the context to be used in this call's Do method. Any 17609// pending HTTP request will be aborted if the provided context is 17610// canceled. 17611func (c *ProjectsLocationsProductSetsPatchCall) Context(ctx context.Context) *ProjectsLocationsProductSetsPatchCall { 17612 c.ctx_ = ctx 17613 return c 17614} 17615 17616// Header returns an http.Header that can be modified by the caller to 17617// add HTTP headers to the request. 17618func (c *ProjectsLocationsProductSetsPatchCall) Header() http.Header { 17619 if c.header_ == nil { 17620 c.header_ = make(http.Header) 17621 } 17622 return c.header_ 17623} 17624 17625func (c *ProjectsLocationsProductSetsPatchCall) doRequest(alt string) (*http.Response, error) { 17626 reqHeaders := make(http.Header) 17627 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 17628 for k, v := range c.header_ { 17629 reqHeaders[k] = v 17630 } 17631 reqHeaders.Set("User-Agent", c.s.userAgent()) 17632 var body io.Reader = nil 17633 body, err := googleapi.WithoutDataWrapper.JSONReader(c.productset) 17634 if err != nil { 17635 return nil, err 17636 } 17637 reqHeaders.Set("Content-Type", "application/json") 17638 c.urlParams_.Set("alt", alt) 17639 c.urlParams_.Set("prettyPrint", "false") 17640 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 17641 urls += "?" + c.urlParams_.Encode() 17642 req, err := http.NewRequest("PATCH", urls, body) 17643 if err != nil { 17644 return nil, err 17645 } 17646 req.Header = reqHeaders 17647 googleapi.Expand(req.URL, map[string]string{ 17648 "name": c.name, 17649 }) 17650 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17651} 17652 17653// Do executes the "vision.projects.locations.productSets.patch" call. 17654// Exactly one of *ProductSet or error will be non-nil. Any non-2xx 17655// status code is an error. Response headers are in either 17656// *ProductSet.ServerResponse.Header or (if a response was returned at 17657// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17658// to check whether the returned error was because 17659// http.StatusNotModified was returned. 17660func (c *ProjectsLocationsProductSetsPatchCall) Do(opts ...googleapi.CallOption) (*ProductSet, error) { 17661 gensupport.SetOptions(c.urlParams_, opts...) 17662 res, err := c.doRequest("json") 17663 if res != nil && res.StatusCode == http.StatusNotModified { 17664 if res.Body != nil { 17665 res.Body.Close() 17666 } 17667 return nil, &googleapi.Error{ 17668 Code: res.StatusCode, 17669 Header: res.Header, 17670 } 17671 } 17672 if err != nil { 17673 return nil, err 17674 } 17675 defer googleapi.CloseBody(res) 17676 if err := googleapi.CheckResponse(res); err != nil { 17677 return nil, err 17678 } 17679 ret := &ProductSet{ 17680 ServerResponse: googleapi.ServerResponse{ 17681 Header: res.Header, 17682 HTTPStatusCode: res.StatusCode, 17683 }, 17684 } 17685 target := &ret 17686 if err := gensupport.DecodeResponse(target, res); err != nil { 17687 return nil, err 17688 } 17689 return ret, nil 17690 // { 17691 // "description": "Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", 17692 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}", 17693 // "httpMethod": "PATCH", 17694 // "id": "vision.projects.locations.productSets.patch", 17695 // "parameterOrder": [ 17696 // "name" 17697 // ], 17698 // "parameters": { 17699 // "name": { 17700 // "description": "The resource name of the ProductSet. Format is: `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. This field is ignored when creating a ProductSet.", 17701 // "location": "path", 17702 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 17703 // "required": true, 17704 // "type": "string" 17705 // }, 17706 // "updateMask": { 17707 // "description": "The FieldMask that specifies which fields to update. If update_mask isn't specified, all mutable fields are to be updated. Valid mask path is `display_name`.", 17708 // "format": "google-fieldmask", 17709 // "location": "query", 17710 // "type": "string" 17711 // } 17712 // }, 17713 // "path": "v1/{+name}", 17714 // "request": { 17715 // "$ref": "ProductSet" 17716 // }, 17717 // "response": { 17718 // "$ref": "ProductSet" 17719 // }, 17720 // "scopes": [ 17721 // "https://www.googleapis.com/auth/cloud-platform", 17722 // "https://www.googleapis.com/auth/cloud-vision" 17723 // ] 17724 // } 17725 17726} 17727 17728// method id "vision.projects.locations.productSets.removeProduct": 17729 17730type ProjectsLocationsProductSetsRemoveProductCall struct { 17731 s *Service 17732 name string 17733 removeproductfromproductsetrequest *RemoveProductFromProductSetRequest 17734 urlParams_ gensupport.URLParams 17735 ctx_ context.Context 17736 header_ http.Header 17737} 17738 17739// RemoveProduct: Removes a Product from the specified ProductSet. 17740// 17741// - name: The resource name for the ProductSet to modify. Format is: 17742// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 17743func (r *ProjectsLocationsProductSetsService) RemoveProduct(name string, removeproductfromproductsetrequest *RemoveProductFromProductSetRequest) *ProjectsLocationsProductSetsRemoveProductCall { 17744 c := &ProjectsLocationsProductSetsRemoveProductCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17745 c.name = name 17746 c.removeproductfromproductsetrequest = removeproductfromproductsetrequest 17747 return c 17748} 17749 17750// Fields allows partial responses to be retrieved. See 17751// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17752// for more information. 17753func (c *ProjectsLocationsProductSetsRemoveProductCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsRemoveProductCall { 17754 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17755 return c 17756} 17757 17758// Context sets the context to be used in this call's Do method. Any 17759// pending HTTP request will be aborted if the provided context is 17760// canceled. 17761func (c *ProjectsLocationsProductSetsRemoveProductCall) Context(ctx context.Context) *ProjectsLocationsProductSetsRemoveProductCall { 17762 c.ctx_ = ctx 17763 return c 17764} 17765 17766// Header returns an http.Header that can be modified by the caller to 17767// add HTTP headers to the request. 17768func (c *ProjectsLocationsProductSetsRemoveProductCall) Header() http.Header { 17769 if c.header_ == nil { 17770 c.header_ = make(http.Header) 17771 } 17772 return c.header_ 17773} 17774 17775func (c *ProjectsLocationsProductSetsRemoveProductCall) doRequest(alt string) (*http.Response, error) { 17776 reqHeaders := make(http.Header) 17777 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 17778 for k, v := range c.header_ { 17779 reqHeaders[k] = v 17780 } 17781 reqHeaders.Set("User-Agent", c.s.userAgent()) 17782 var body io.Reader = nil 17783 body, err := googleapi.WithoutDataWrapper.JSONReader(c.removeproductfromproductsetrequest) 17784 if err != nil { 17785 return nil, err 17786 } 17787 reqHeaders.Set("Content-Type", "application/json") 17788 c.urlParams_.Set("alt", alt) 17789 c.urlParams_.Set("prettyPrint", "false") 17790 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:removeProduct") 17791 urls += "?" + c.urlParams_.Encode() 17792 req, err := http.NewRequest("POST", urls, body) 17793 if err != nil { 17794 return nil, err 17795 } 17796 req.Header = reqHeaders 17797 googleapi.Expand(req.URL, map[string]string{ 17798 "name": c.name, 17799 }) 17800 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17801} 17802 17803// Do executes the "vision.projects.locations.productSets.removeProduct" call. 17804// Exactly one of *Empty or error will be non-nil. Any non-2xx status 17805// code is an error. Response headers are in either 17806// *Empty.ServerResponse.Header or (if a response was returned at all) 17807// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 17808// check whether the returned error was because http.StatusNotModified 17809// was returned. 17810func (c *ProjectsLocationsProductSetsRemoveProductCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 17811 gensupport.SetOptions(c.urlParams_, opts...) 17812 res, err := c.doRequest("json") 17813 if res != nil && res.StatusCode == http.StatusNotModified { 17814 if res.Body != nil { 17815 res.Body.Close() 17816 } 17817 return nil, &googleapi.Error{ 17818 Code: res.StatusCode, 17819 Header: res.Header, 17820 } 17821 } 17822 if err != nil { 17823 return nil, err 17824 } 17825 defer googleapi.CloseBody(res) 17826 if err := googleapi.CheckResponse(res); err != nil { 17827 return nil, err 17828 } 17829 ret := &Empty{ 17830 ServerResponse: googleapi.ServerResponse{ 17831 Header: res.Header, 17832 HTTPStatusCode: res.StatusCode, 17833 }, 17834 } 17835 target := &ret 17836 if err := gensupport.DecodeResponse(target, res); err != nil { 17837 return nil, err 17838 } 17839 return ret, nil 17840 // { 17841 // "description": "Removes a Product from the specified ProductSet.", 17842 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}:removeProduct", 17843 // "httpMethod": "POST", 17844 // "id": "vision.projects.locations.productSets.removeProduct", 17845 // "parameterOrder": [ 17846 // "name" 17847 // ], 17848 // "parameters": { 17849 // "name": { 17850 // "description": "Required. The resource name for the ProductSet to modify. Format is: `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 17851 // "location": "path", 17852 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 17853 // "required": true, 17854 // "type": "string" 17855 // } 17856 // }, 17857 // "path": "v1/{+name}:removeProduct", 17858 // "request": { 17859 // "$ref": "RemoveProductFromProductSetRequest" 17860 // }, 17861 // "response": { 17862 // "$ref": "Empty" 17863 // }, 17864 // "scopes": [ 17865 // "https://www.googleapis.com/auth/cloud-platform", 17866 // "https://www.googleapis.com/auth/cloud-vision" 17867 // ] 17868 // } 17869 17870} 17871 17872// method id "vision.projects.locations.productSets.products.list": 17873 17874type ProjectsLocationsProductSetsProductsListCall struct { 17875 s *Service 17876 name string 17877 urlParams_ gensupport.URLParams 17878 ifNoneMatch_ string 17879 ctx_ context.Context 17880 header_ http.Header 17881} 17882 17883// List: Lists the Products in a ProductSet, in an unspecified order. If 17884// the ProductSet does not exist, the products field of the response 17885// will be empty. Possible errors: * Returns INVALID_ARGUMENT if 17886// page_size is greater than 100 or less than 1. 17887// 17888// - name: The ProductSet resource for which to retrieve Products. 17889// Format is: 17890// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 17891func (r *ProjectsLocationsProductSetsProductsService) List(name string) *ProjectsLocationsProductSetsProductsListCall { 17892 c := &ProjectsLocationsProductSetsProductsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17893 c.name = name 17894 return c 17895} 17896 17897// PageSize sets the optional parameter "pageSize": The maximum number 17898// of items to return. Default 10, maximum 100. 17899func (c *ProjectsLocationsProductSetsProductsListCall) PageSize(pageSize int64) *ProjectsLocationsProductSetsProductsListCall { 17900 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 17901 return c 17902} 17903 17904// PageToken sets the optional parameter "pageToken": The 17905// next_page_token returned from a previous List request, if any. 17906func (c *ProjectsLocationsProductSetsProductsListCall) PageToken(pageToken string) *ProjectsLocationsProductSetsProductsListCall { 17907 c.urlParams_.Set("pageToken", pageToken) 17908 return c 17909} 17910 17911// Fields allows partial responses to be retrieved. See 17912// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17913// for more information. 17914func (c *ProjectsLocationsProductSetsProductsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsProductsListCall { 17915 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17916 return c 17917} 17918 17919// IfNoneMatch sets the optional parameter which makes the operation 17920// fail if the object's ETag matches the given value. This is useful for 17921// getting updates only after the object has changed since the last 17922// request. Use googleapi.IsNotModified to check whether the response 17923// error from Do is the result of In-None-Match. 17924func (c *ProjectsLocationsProductSetsProductsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductSetsProductsListCall { 17925 c.ifNoneMatch_ = entityTag 17926 return c 17927} 17928 17929// Context sets the context to be used in this call's Do method. Any 17930// pending HTTP request will be aborted if the provided context is 17931// canceled. 17932func (c *ProjectsLocationsProductSetsProductsListCall) Context(ctx context.Context) *ProjectsLocationsProductSetsProductsListCall { 17933 c.ctx_ = ctx 17934 return c 17935} 17936 17937// Header returns an http.Header that can be modified by the caller to 17938// add HTTP headers to the request. 17939func (c *ProjectsLocationsProductSetsProductsListCall) Header() http.Header { 17940 if c.header_ == nil { 17941 c.header_ = make(http.Header) 17942 } 17943 return c.header_ 17944} 17945 17946func (c *ProjectsLocationsProductSetsProductsListCall) doRequest(alt string) (*http.Response, error) { 17947 reqHeaders := make(http.Header) 17948 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 17949 for k, v := range c.header_ { 17950 reqHeaders[k] = v 17951 } 17952 reqHeaders.Set("User-Agent", c.s.userAgent()) 17953 if c.ifNoneMatch_ != "" { 17954 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 17955 } 17956 var body io.Reader = nil 17957 c.urlParams_.Set("alt", alt) 17958 c.urlParams_.Set("prettyPrint", "false") 17959 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/products") 17960 urls += "?" + c.urlParams_.Encode() 17961 req, err := http.NewRequest("GET", urls, body) 17962 if err != nil { 17963 return nil, err 17964 } 17965 req.Header = reqHeaders 17966 googleapi.Expand(req.URL, map[string]string{ 17967 "name": c.name, 17968 }) 17969 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17970} 17971 17972// Do executes the "vision.projects.locations.productSets.products.list" call. 17973// Exactly one of *ListProductsInProductSetResponse or error will be 17974// non-nil. Any non-2xx status code is an error. Response headers are in 17975// either *ListProductsInProductSetResponse.ServerResponse.Header or (if 17976// a response was returned at all) in error.(*googleapi.Error).Header. 17977// Use googleapi.IsNotModified to check whether the returned error was 17978// because http.StatusNotModified was returned. 17979func (c *ProjectsLocationsProductSetsProductsListCall) Do(opts ...googleapi.CallOption) (*ListProductsInProductSetResponse, error) { 17980 gensupport.SetOptions(c.urlParams_, opts...) 17981 res, err := c.doRequest("json") 17982 if res != nil && res.StatusCode == http.StatusNotModified { 17983 if res.Body != nil { 17984 res.Body.Close() 17985 } 17986 return nil, &googleapi.Error{ 17987 Code: res.StatusCode, 17988 Header: res.Header, 17989 } 17990 } 17991 if err != nil { 17992 return nil, err 17993 } 17994 defer googleapi.CloseBody(res) 17995 if err := googleapi.CheckResponse(res); err != nil { 17996 return nil, err 17997 } 17998 ret := &ListProductsInProductSetResponse{ 17999 ServerResponse: googleapi.ServerResponse{ 18000 Header: res.Header, 18001 HTTPStatusCode: res.StatusCode, 18002 }, 18003 } 18004 target := &ret 18005 if err := gensupport.DecodeResponse(target, res); err != nil { 18006 return nil, err 18007 } 18008 return ret, nil 18009 // { 18010 // "description": "Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", 18011 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}/products", 18012 // "httpMethod": "GET", 18013 // "id": "vision.projects.locations.productSets.products.list", 18014 // "parameterOrder": [ 18015 // "name" 18016 // ], 18017 // "parameters": { 18018 // "name": { 18019 // "description": "Required. The ProductSet resource for which to retrieve Products. Format is: `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 18020 // "location": "path", 18021 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 18022 // "required": true, 18023 // "type": "string" 18024 // }, 18025 // "pageSize": { 18026 // "description": "The maximum number of items to return. Default 10, maximum 100.", 18027 // "format": "int32", 18028 // "location": "query", 18029 // "type": "integer" 18030 // }, 18031 // "pageToken": { 18032 // "description": "The next_page_token returned from a previous List request, if any.", 18033 // "location": "query", 18034 // "type": "string" 18035 // } 18036 // }, 18037 // "path": "v1/{+name}/products", 18038 // "response": { 18039 // "$ref": "ListProductsInProductSetResponse" 18040 // }, 18041 // "scopes": [ 18042 // "https://www.googleapis.com/auth/cloud-platform", 18043 // "https://www.googleapis.com/auth/cloud-vision" 18044 // ] 18045 // } 18046 18047} 18048 18049// Pages invokes f for each page of results. 18050// A non-nil error returned from f will halt the iteration. 18051// The provided context supersedes any context provided to the Context method. 18052func (c *ProjectsLocationsProductSetsProductsListCall) Pages(ctx context.Context, f func(*ListProductsInProductSetResponse) error) error { 18053 c.ctx_ = ctx 18054 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 18055 for { 18056 x, err := c.Do() 18057 if err != nil { 18058 return err 18059 } 18060 if err := f(x); err != nil { 18061 return err 18062 } 18063 if x.NextPageToken == "" { 18064 return nil 18065 } 18066 c.PageToken(x.NextPageToken) 18067 } 18068} 18069 18070// method id "vision.projects.locations.products.create": 18071 18072type ProjectsLocationsProductsCreateCall struct { 18073 s *Service 18074 parent string 18075 product *Product 18076 urlParams_ gensupport.URLParams 18077 ctx_ context.Context 18078 header_ http.Header 18079} 18080 18081// Create: Creates and returns a new product resource. Possible errors: 18082// * Returns INVALID_ARGUMENT if display_name is missing or longer than 18083// 4096 characters. * Returns INVALID_ARGUMENT if description is longer 18084// than 4096 characters. * Returns INVALID_ARGUMENT if product_category 18085// is missing or invalid. 18086// 18087// - parent: The project in which the Product should be created. Format 18088// is `projects/PROJECT_ID/locations/LOC_ID`. 18089func (r *ProjectsLocationsProductsService) Create(parent string, product *Product) *ProjectsLocationsProductsCreateCall { 18090 c := &ProjectsLocationsProductsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18091 c.parent = parent 18092 c.product = product 18093 return c 18094} 18095 18096// ProductId sets the optional parameter "productId": A user-supplied 18097// resource id for this Product. If set, the server will attempt to use 18098// this value as the resource id. If it is already in use, an error is 18099// returned with code ALREADY_EXISTS. Must be at most 128 characters 18100// long. It cannot contain the character `/`. 18101func (c *ProjectsLocationsProductsCreateCall) ProductId(productId string) *ProjectsLocationsProductsCreateCall { 18102 c.urlParams_.Set("productId", productId) 18103 return c 18104} 18105 18106// Fields allows partial responses to be retrieved. See 18107// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18108// for more information. 18109func (c *ProjectsLocationsProductsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsCreateCall { 18110 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18111 return c 18112} 18113 18114// Context sets the context to be used in this call's Do method. Any 18115// pending HTTP request will be aborted if the provided context is 18116// canceled. 18117func (c *ProjectsLocationsProductsCreateCall) Context(ctx context.Context) *ProjectsLocationsProductsCreateCall { 18118 c.ctx_ = ctx 18119 return c 18120} 18121 18122// Header returns an http.Header that can be modified by the caller to 18123// add HTTP headers to the request. 18124func (c *ProjectsLocationsProductsCreateCall) Header() http.Header { 18125 if c.header_ == nil { 18126 c.header_ = make(http.Header) 18127 } 18128 return c.header_ 18129} 18130 18131func (c *ProjectsLocationsProductsCreateCall) doRequest(alt string) (*http.Response, error) { 18132 reqHeaders := make(http.Header) 18133 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 18134 for k, v := range c.header_ { 18135 reqHeaders[k] = v 18136 } 18137 reqHeaders.Set("User-Agent", c.s.userAgent()) 18138 var body io.Reader = nil 18139 body, err := googleapi.WithoutDataWrapper.JSONReader(c.product) 18140 if err != nil { 18141 return nil, err 18142 } 18143 reqHeaders.Set("Content-Type", "application/json") 18144 c.urlParams_.Set("alt", alt) 18145 c.urlParams_.Set("prettyPrint", "false") 18146 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products") 18147 urls += "?" + c.urlParams_.Encode() 18148 req, err := http.NewRequest("POST", urls, body) 18149 if err != nil { 18150 return nil, err 18151 } 18152 req.Header = reqHeaders 18153 googleapi.Expand(req.URL, map[string]string{ 18154 "parent": c.parent, 18155 }) 18156 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18157} 18158 18159// Do executes the "vision.projects.locations.products.create" call. 18160// Exactly one of *Product or error will be non-nil. Any non-2xx status 18161// code is an error. Response headers are in either 18162// *Product.ServerResponse.Header or (if a response was returned at all) 18163// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 18164// check whether the returned error was because http.StatusNotModified 18165// was returned. 18166func (c *ProjectsLocationsProductsCreateCall) Do(opts ...googleapi.CallOption) (*Product, error) { 18167 gensupport.SetOptions(c.urlParams_, opts...) 18168 res, err := c.doRequest("json") 18169 if res != nil && res.StatusCode == http.StatusNotModified { 18170 if res.Body != nil { 18171 res.Body.Close() 18172 } 18173 return nil, &googleapi.Error{ 18174 Code: res.StatusCode, 18175 Header: res.Header, 18176 } 18177 } 18178 if err != nil { 18179 return nil, err 18180 } 18181 defer googleapi.CloseBody(res) 18182 if err := googleapi.CheckResponse(res); err != nil { 18183 return nil, err 18184 } 18185 ret := &Product{ 18186 ServerResponse: googleapi.ServerResponse{ 18187 Header: res.Header, 18188 HTTPStatusCode: res.StatusCode, 18189 }, 18190 } 18191 target := &ret 18192 if err := gensupport.DecodeResponse(target, res); err != nil { 18193 return nil, err 18194 } 18195 return ret, nil 18196 // { 18197 // "description": "Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", 18198 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products", 18199 // "httpMethod": "POST", 18200 // "id": "vision.projects.locations.products.create", 18201 // "parameterOrder": [ 18202 // "parent" 18203 // ], 18204 // "parameters": { 18205 // "parent": { 18206 // "description": "Required. The project in which the Product should be created. Format is `projects/PROJECT_ID/locations/LOC_ID`.", 18207 // "location": "path", 18208 // "pattern": "^projects/[^/]+/locations/[^/]+$", 18209 // "required": true, 18210 // "type": "string" 18211 // }, 18212 // "productId": { 18213 // "description": "A user-supplied resource id for this Product. If set, the server will attempt to use this value as the resource id. If it is already in use, an error is returned with code ALREADY_EXISTS. Must be at most 128 characters long. It cannot contain the character `/`.", 18214 // "location": "query", 18215 // "type": "string" 18216 // } 18217 // }, 18218 // "path": "v1/{+parent}/products", 18219 // "request": { 18220 // "$ref": "Product" 18221 // }, 18222 // "response": { 18223 // "$ref": "Product" 18224 // }, 18225 // "scopes": [ 18226 // "https://www.googleapis.com/auth/cloud-platform", 18227 // "https://www.googleapis.com/auth/cloud-vision" 18228 // ] 18229 // } 18230 18231} 18232 18233// method id "vision.projects.locations.products.delete": 18234 18235type ProjectsLocationsProductsDeleteCall struct { 18236 s *Service 18237 name string 18238 urlParams_ gensupport.URLParams 18239 ctx_ context.Context 18240 header_ http.Header 18241} 18242 18243// Delete: Permanently deletes a product and its reference images. 18244// Metadata of the product and all its images will be deleted right 18245// away, but search queries against ProductSets containing the product 18246// may still work until all related caches are refreshed. 18247// 18248// - name: Resource name of product to delete. Format is: 18249// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 18250func (r *ProjectsLocationsProductsService) Delete(name string) *ProjectsLocationsProductsDeleteCall { 18251 c := &ProjectsLocationsProductsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18252 c.name = name 18253 return c 18254} 18255 18256// Fields allows partial responses to be retrieved. See 18257// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18258// for more information. 18259func (c *ProjectsLocationsProductsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsDeleteCall { 18260 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18261 return c 18262} 18263 18264// Context sets the context to be used in this call's Do method. Any 18265// pending HTTP request will be aborted if the provided context is 18266// canceled. 18267func (c *ProjectsLocationsProductsDeleteCall) Context(ctx context.Context) *ProjectsLocationsProductsDeleteCall { 18268 c.ctx_ = ctx 18269 return c 18270} 18271 18272// Header returns an http.Header that can be modified by the caller to 18273// add HTTP headers to the request. 18274func (c *ProjectsLocationsProductsDeleteCall) Header() http.Header { 18275 if c.header_ == nil { 18276 c.header_ = make(http.Header) 18277 } 18278 return c.header_ 18279} 18280 18281func (c *ProjectsLocationsProductsDeleteCall) doRequest(alt string) (*http.Response, error) { 18282 reqHeaders := make(http.Header) 18283 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 18284 for k, v := range c.header_ { 18285 reqHeaders[k] = v 18286 } 18287 reqHeaders.Set("User-Agent", c.s.userAgent()) 18288 var body io.Reader = nil 18289 c.urlParams_.Set("alt", alt) 18290 c.urlParams_.Set("prettyPrint", "false") 18291 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 18292 urls += "?" + c.urlParams_.Encode() 18293 req, err := http.NewRequest("DELETE", urls, body) 18294 if err != nil { 18295 return nil, err 18296 } 18297 req.Header = reqHeaders 18298 googleapi.Expand(req.URL, map[string]string{ 18299 "name": c.name, 18300 }) 18301 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18302} 18303 18304// Do executes the "vision.projects.locations.products.delete" call. 18305// Exactly one of *Empty or error will be non-nil. Any non-2xx status 18306// code is an error. Response headers are in either 18307// *Empty.ServerResponse.Header or (if a response was returned at all) 18308// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 18309// check whether the returned error was because http.StatusNotModified 18310// was returned. 18311func (c *ProjectsLocationsProductsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 18312 gensupport.SetOptions(c.urlParams_, opts...) 18313 res, err := c.doRequest("json") 18314 if res != nil && res.StatusCode == http.StatusNotModified { 18315 if res.Body != nil { 18316 res.Body.Close() 18317 } 18318 return nil, &googleapi.Error{ 18319 Code: res.StatusCode, 18320 Header: res.Header, 18321 } 18322 } 18323 if err != nil { 18324 return nil, err 18325 } 18326 defer googleapi.CloseBody(res) 18327 if err := googleapi.CheckResponse(res); err != nil { 18328 return nil, err 18329 } 18330 ret := &Empty{ 18331 ServerResponse: googleapi.ServerResponse{ 18332 Header: res.Header, 18333 HTTPStatusCode: res.StatusCode, 18334 }, 18335 } 18336 target := &ret 18337 if err := gensupport.DecodeResponse(target, res); err != nil { 18338 return nil, err 18339 } 18340 return ret, nil 18341 // { 18342 // "description": "Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed.", 18343 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}", 18344 // "httpMethod": "DELETE", 18345 // "id": "vision.projects.locations.products.delete", 18346 // "parameterOrder": [ 18347 // "name" 18348 // ], 18349 // "parameters": { 18350 // "name": { 18351 // "description": "Required. Resource name of product to delete. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`", 18352 // "location": "path", 18353 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 18354 // "required": true, 18355 // "type": "string" 18356 // } 18357 // }, 18358 // "path": "v1/{+name}", 18359 // "response": { 18360 // "$ref": "Empty" 18361 // }, 18362 // "scopes": [ 18363 // "https://www.googleapis.com/auth/cloud-platform", 18364 // "https://www.googleapis.com/auth/cloud-vision" 18365 // ] 18366 // } 18367 18368} 18369 18370// method id "vision.projects.locations.products.get": 18371 18372type ProjectsLocationsProductsGetCall struct { 18373 s *Service 18374 name string 18375 urlParams_ gensupport.URLParams 18376 ifNoneMatch_ string 18377 ctx_ context.Context 18378 header_ http.Header 18379} 18380 18381// Get: Gets information associated with a Product. Possible errors: * 18382// Returns NOT_FOUND if the Product does not exist. 18383// 18384// - name: Resource name of the Product to get. Format is: 18385// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 18386func (r *ProjectsLocationsProductsService) Get(name string) *ProjectsLocationsProductsGetCall { 18387 c := &ProjectsLocationsProductsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18388 c.name = name 18389 return c 18390} 18391 18392// Fields allows partial responses to be retrieved. See 18393// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18394// for more information. 18395func (c *ProjectsLocationsProductsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsGetCall { 18396 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18397 return c 18398} 18399 18400// IfNoneMatch sets the optional parameter which makes the operation 18401// fail if the object's ETag matches the given value. This is useful for 18402// getting updates only after the object has changed since the last 18403// request. Use googleapi.IsNotModified to check whether the response 18404// error from Do is the result of In-None-Match. 18405func (c *ProjectsLocationsProductsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsGetCall { 18406 c.ifNoneMatch_ = entityTag 18407 return c 18408} 18409 18410// Context sets the context to be used in this call's Do method. Any 18411// pending HTTP request will be aborted if the provided context is 18412// canceled. 18413func (c *ProjectsLocationsProductsGetCall) Context(ctx context.Context) *ProjectsLocationsProductsGetCall { 18414 c.ctx_ = ctx 18415 return c 18416} 18417 18418// Header returns an http.Header that can be modified by the caller to 18419// add HTTP headers to the request. 18420func (c *ProjectsLocationsProductsGetCall) Header() http.Header { 18421 if c.header_ == nil { 18422 c.header_ = make(http.Header) 18423 } 18424 return c.header_ 18425} 18426 18427func (c *ProjectsLocationsProductsGetCall) doRequest(alt string) (*http.Response, error) { 18428 reqHeaders := make(http.Header) 18429 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 18430 for k, v := range c.header_ { 18431 reqHeaders[k] = v 18432 } 18433 reqHeaders.Set("User-Agent", c.s.userAgent()) 18434 if c.ifNoneMatch_ != "" { 18435 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 18436 } 18437 var body io.Reader = nil 18438 c.urlParams_.Set("alt", alt) 18439 c.urlParams_.Set("prettyPrint", "false") 18440 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 18441 urls += "?" + c.urlParams_.Encode() 18442 req, err := http.NewRequest("GET", urls, body) 18443 if err != nil { 18444 return nil, err 18445 } 18446 req.Header = reqHeaders 18447 googleapi.Expand(req.URL, map[string]string{ 18448 "name": c.name, 18449 }) 18450 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18451} 18452 18453// Do executes the "vision.projects.locations.products.get" call. 18454// Exactly one of *Product or error will be non-nil. Any non-2xx status 18455// code is an error. Response headers are in either 18456// *Product.ServerResponse.Header or (if a response was returned at all) 18457// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 18458// check whether the returned error was because http.StatusNotModified 18459// was returned. 18460func (c *ProjectsLocationsProductsGetCall) Do(opts ...googleapi.CallOption) (*Product, error) { 18461 gensupport.SetOptions(c.urlParams_, opts...) 18462 res, err := c.doRequest("json") 18463 if res != nil && res.StatusCode == http.StatusNotModified { 18464 if res.Body != nil { 18465 res.Body.Close() 18466 } 18467 return nil, &googleapi.Error{ 18468 Code: res.StatusCode, 18469 Header: res.Header, 18470 } 18471 } 18472 if err != nil { 18473 return nil, err 18474 } 18475 defer googleapi.CloseBody(res) 18476 if err := googleapi.CheckResponse(res); err != nil { 18477 return nil, err 18478 } 18479 ret := &Product{ 18480 ServerResponse: googleapi.ServerResponse{ 18481 Header: res.Header, 18482 HTTPStatusCode: res.StatusCode, 18483 }, 18484 } 18485 target := &ret 18486 if err := gensupport.DecodeResponse(target, res); err != nil { 18487 return nil, err 18488 } 18489 return ret, nil 18490 // { 18491 // "description": "Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", 18492 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}", 18493 // "httpMethod": "GET", 18494 // "id": "vision.projects.locations.products.get", 18495 // "parameterOrder": [ 18496 // "name" 18497 // ], 18498 // "parameters": { 18499 // "name": { 18500 // "description": "Required. Resource name of the Product to get. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`", 18501 // "location": "path", 18502 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 18503 // "required": true, 18504 // "type": "string" 18505 // } 18506 // }, 18507 // "path": "v1/{+name}", 18508 // "response": { 18509 // "$ref": "Product" 18510 // }, 18511 // "scopes": [ 18512 // "https://www.googleapis.com/auth/cloud-platform", 18513 // "https://www.googleapis.com/auth/cloud-vision" 18514 // ] 18515 // } 18516 18517} 18518 18519// method id "vision.projects.locations.products.list": 18520 18521type ProjectsLocationsProductsListCall struct { 18522 s *Service 18523 parent string 18524 urlParams_ gensupport.URLParams 18525 ifNoneMatch_ string 18526 ctx_ context.Context 18527 header_ http.Header 18528} 18529 18530// List: Lists products in an unspecified order. Possible errors: * 18531// Returns INVALID_ARGUMENT if page_size is greater than 100 or less 18532// than 1. 18533// 18534// - parent: The project OR ProductSet from which Products should be 18535// listed. Format: `projects/PROJECT_ID/locations/LOC_ID`. 18536func (r *ProjectsLocationsProductsService) List(parent string) *ProjectsLocationsProductsListCall { 18537 c := &ProjectsLocationsProductsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18538 c.parent = parent 18539 return c 18540} 18541 18542// PageSize sets the optional parameter "pageSize": The maximum number 18543// of items to return. Default 10, maximum 100. 18544func (c *ProjectsLocationsProductsListCall) PageSize(pageSize int64) *ProjectsLocationsProductsListCall { 18545 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 18546 return c 18547} 18548 18549// PageToken sets the optional parameter "pageToken": The 18550// next_page_token returned from a previous List request, if any. 18551func (c *ProjectsLocationsProductsListCall) PageToken(pageToken string) *ProjectsLocationsProductsListCall { 18552 c.urlParams_.Set("pageToken", pageToken) 18553 return c 18554} 18555 18556// Fields allows partial responses to be retrieved. See 18557// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18558// for more information. 18559func (c *ProjectsLocationsProductsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsListCall { 18560 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18561 return c 18562} 18563 18564// IfNoneMatch sets the optional parameter which makes the operation 18565// fail if the object's ETag matches the given value. This is useful for 18566// getting updates only after the object has changed since the last 18567// request. Use googleapi.IsNotModified to check whether the response 18568// error from Do is the result of In-None-Match. 18569func (c *ProjectsLocationsProductsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsListCall { 18570 c.ifNoneMatch_ = entityTag 18571 return c 18572} 18573 18574// Context sets the context to be used in this call's Do method. Any 18575// pending HTTP request will be aborted if the provided context is 18576// canceled. 18577func (c *ProjectsLocationsProductsListCall) Context(ctx context.Context) *ProjectsLocationsProductsListCall { 18578 c.ctx_ = ctx 18579 return c 18580} 18581 18582// Header returns an http.Header that can be modified by the caller to 18583// add HTTP headers to the request. 18584func (c *ProjectsLocationsProductsListCall) Header() http.Header { 18585 if c.header_ == nil { 18586 c.header_ = make(http.Header) 18587 } 18588 return c.header_ 18589} 18590 18591func (c *ProjectsLocationsProductsListCall) doRequest(alt string) (*http.Response, error) { 18592 reqHeaders := make(http.Header) 18593 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 18594 for k, v := range c.header_ { 18595 reqHeaders[k] = v 18596 } 18597 reqHeaders.Set("User-Agent", c.s.userAgent()) 18598 if c.ifNoneMatch_ != "" { 18599 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 18600 } 18601 var body io.Reader = nil 18602 c.urlParams_.Set("alt", alt) 18603 c.urlParams_.Set("prettyPrint", "false") 18604 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products") 18605 urls += "?" + c.urlParams_.Encode() 18606 req, err := http.NewRequest("GET", urls, body) 18607 if err != nil { 18608 return nil, err 18609 } 18610 req.Header = reqHeaders 18611 googleapi.Expand(req.URL, map[string]string{ 18612 "parent": c.parent, 18613 }) 18614 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18615} 18616 18617// Do executes the "vision.projects.locations.products.list" call. 18618// Exactly one of *ListProductsResponse or error will be non-nil. Any 18619// non-2xx status code is an error. Response headers are in either 18620// *ListProductsResponse.ServerResponse.Header or (if a response was 18621// returned at all) in error.(*googleapi.Error).Header. Use 18622// googleapi.IsNotModified to check whether the returned error was 18623// because http.StatusNotModified was returned. 18624func (c *ProjectsLocationsProductsListCall) Do(opts ...googleapi.CallOption) (*ListProductsResponse, error) { 18625 gensupport.SetOptions(c.urlParams_, opts...) 18626 res, err := c.doRequest("json") 18627 if res != nil && res.StatusCode == http.StatusNotModified { 18628 if res.Body != nil { 18629 res.Body.Close() 18630 } 18631 return nil, &googleapi.Error{ 18632 Code: res.StatusCode, 18633 Header: res.Header, 18634 } 18635 } 18636 if err != nil { 18637 return nil, err 18638 } 18639 defer googleapi.CloseBody(res) 18640 if err := googleapi.CheckResponse(res); err != nil { 18641 return nil, err 18642 } 18643 ret := &ListProductsResponse{ 18644 ServerResponse: googleapi.ServerResponse{ 18645 Header: res.Header, 18646 HTTPStatusCode: res.StatusCode, 18647 }, 18648 } 18649 target := &ret 18650 if err := gensupport.DecodeResponse(target, res); err != nil { 18651 return nil, err 18652 } 18653 return ret, nil 18654 // { 18655 // "description": "Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", 18656 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products", 18657 // "httpMethod": "GET", 18658 // "id": "vision.projects.locations.products.list", 18659 // "parameterOrder": [ 18660 // "parent" 18661 // ], 18662 // "parameters": { 18663 // "pageSize": { 18664 // "description": "The maximum number of items to return. Default 10, maximum 100.", 18665 // "format": "int32", 18666 // "location": "query", 18667 // "type": "integer" 18668 // }, 18669 // "pageToken": { 18670 // "description": "The next_page_token returned from a previous List request, if any.", 18671 // "location": "query", 18672 // "type": "string" 18673 // }, 18674 // "parent": { 18675 // "description": "Required. The project OR ProductSet from which Products should be listed. Format: `projects/PROJECT_ID/locations/LOC_ID`", 18676 // "location": "path", 18677 // "pattern": "^projects/[^/]+/locations/[^/]+$", 18678 // "required": true, 18679 // "type": "string" 18680 // } 18681 // }, 18682 // "path": "v1/{+parent}/products", 18683 // "response": { 18684 // "$ref": "ListProductsResponse" 18685 // }, 18686 // "scopes": [ 18687 // "https://www.googleapis.com/auth/cloud-platform", 18688 // "https://www.googleapis.com/auth/cloud-vision" 18689 // ] 18690 // } 18691 18692} 18693 18694// Pages invokes f for each page of results. 18695// A non-nil error returned from f will halt the iteration. 18696// The provided context supersedes any context provided to the Context method. 18697func (c *ProjectsLocationsProductsListCall) Pages(ctx context.Context, f func(*ListProductsResponse) error) error { 18698 c.ctx_ = ctx 18699 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 18700 for { 18701 x, err := c.Do() 18702 if err != nil { 18703 return err 18704 } 18705 if err := f(x); err != nil { 18706 return err 18707 } 18708 if x.NextPageToken == "" { 18709 return nil 18710 } 18711 c.PageToken(x.NextPageToken) 18712 } 18713} 18714 18715// method id "vision.projects.locations.products.patch": 18716 18717type ProjectsLocationsProductsPatchCall struct { 18718 s *Service 18719 name string 18720 product *Product 18721 urlParams_ gensupport.URLParams 18722 ctx_ context.Context 18723 header_ http.Header 18724} 18725 18726// Patch: Makes changes to a Product resource. Only the `display_name`, 18727// `description`, and `labels` fields can be updated right now. If 18728// labels are updated, the change will not be reflected in queries until 18729// the next index time. Possible errors: * Returns NOT_FOUND if the 18730// Product does not exist. * Returns INVALID_ARGUMENT if display_name is 18731// present in update_mask but is missing from the request or longer than 18732// 4096 characters. * Returns INVALID_ARGUMENT if description is present 18733// in update_mask but is longer than 4096 characters. * Returns 18734// INVALID_ARGUMENT if product_category is present in update_mask. 18735// 18736// - name: The resource name of the product. Format is: 18737// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 18738// field is ignored when creating a product. 18739func (r *ProjectsLocationsProductsService) Patch(name string, product *Product) *ProjectsLocationsProductsPatchCall { 18740 c := &ProjectsLocationsProductsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18741 c.name = name 18742 c.product = product 18743 return c 18744} 18745 18746// UpdateMask sets the optional parameter "updateMask": The FieldMask 18747// that specifies which fields to update. If update_mask isn't 18748// specified, all mutable fields are to be updated. Valid mask paths 18749// include `product_labels`, `display_name`, and `description`. 18750func (c *ProjectsLocationsProductsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsProductsPatchCall { 18751 c.urlParams_.Set("updateMask", updateMask) 18752 return c 18753} 18754 18755// Fields allows partial responses to be retrieved. See 18756// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18757// for more information. 18758func (c *ProjectsLocationsProductsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsPatchCall { 18759 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18760 return c 18761} 18762 18763// Context sets the context to be used in this call's Do method. Any 18764// pending HTTP request will be aborted if the provided context is 18765// canceled. 18766func (c *ProjectsLocationsProductsPatchCall) Context(ctx context.Context) *ProjectsLocationsProductsPatchCall { 18767 c.ctx_ = ctx 18768 return c 18769} 18770 18771// Header returns an http.Header that can be modified by the caller to 18772// add HTTP headers to the request. 18773func (c *ProjectsLocationsProductsPatchCall) Header() http.Header { 18774 if c.header_ == nil { 18775 c.header_ = make(http.Header) 18776 } 18777 return c.header_ 18778} 18779 18780func (c *ProjectsLocationsProductsPatchCall) doRequest(alt string) (*http.Response, error) { 18781 reqHeaders := make(http.Header) 18782 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 18783 for k, v := range c.header_ { 18784 reqHeaders[k] = v 18785 } 18786 reqHeaders.Set("User-Agent", c.s.userAgent()) 18787 var body io.Reader = nil 18788 body, err := googleapi.WithoutDataWrapper.JSONReader(c.product) 18789 if err != nil { 18790 return nil, err 18791 } 18792 reqHeaders.Set("Content-Type", "application/json") 18793 c.urlParams_.Set("alt", alt) 18794 c.urlParams_.Set("prettyPrint", "false") 18795 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 18796 urls += "?" + c.urlParams_.Encode() 18797 req, err := http.NewRequest("PATCH", urls, body) 18798 if err != nil { 18799 return nil, err 18800 } 18801 req.Header = reqHeaders 18802 googleapi.Expand(req.URL, map[string]string{ 18803 "name": c.name, 18804 }) 18805 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18806} 18807 18808// Do executes the "vision.projects.locations.products.patch" call. 18809// Exactly one of *Product or error will be non-nil. Any non-2xx status 18810// code is an error. Response headers are in either 18811// *Product.ServerResponse.Header or (if a response was returned at all) 18812// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 18813// check whether the returned error was because http.StatusNotModified 18814// was returned. 18815func (c *ProjectsLocationsProductsPatchCall) Do(opts ...googleapi.CallOption) (*Product, error) { 18816 gensupport.SetOptions(c.urlParams_, opts...) 18817 res, err := c.doRequest("json") 18818 if res != nil && res.StatusCode == http.StatusNotModified { 18819 if res.Body != nil { 18820 res.Body.Close() 18821 } 18822 return nil, &googleapi.Error{ 18823 Code: res.StatusCode, 18824 Header: res.Header, 18825 } 18826 } 18827 if err != nil { 18828 return nil, err 18829 } 18830 defer googleapi.CloseBody(res) 18831 if err := googleapi.CheckResponse(res); err != nil { 18832 return nil, err 18833 } 18834 ret := &Product{ 18835 ServerResponse: googleapi.ServerResponse{ 18836 Header: res.Header, 18837 HTTPStatusCode: res.StatusCode, 18838 }, 18839 } 18840 target := &ret 18841 if err := gensupport.DecodeResponse(target, res); err != nil { 18842 return nil, err 18843 } 18844 return ret, nil 18845 // { 18846 // "description": "Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", 18847 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}", 18848 // "httpMethod": "PATCH", 18849 // "id": "vision.projects.locations.products.patch", 18850 // "parameterOrder": [ 18851 // "name" 18852 // ], 18853 // "parameters": { 18854 // "name": { 18855 // "description": "The resource name of the product. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is ignored when creating a product.", 18856 // "location": "path", 18857 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 18858 // "required": true, 18859 // "type": "string" 18860 // }, 18861 // "updateMask": { 18862 // "description": "The FieldMask that specifies which fields to update. If update_mask isn't specified, all mutable fields are to be updated. Valid mask paths include `product_labels`, `display_name`, and `description`.", 18863 // "format": "google-fieldmask", 18864 // "location": "query", 18865 // "type": "string" 18866 // } 18867 // }, 18868 // "path": "v1/{+name}", 18869 // "request": { 18870 // "$ref": "Product" 18871 // }, 18872 // "response": { 18873 // "$ref": "Product" 18874 // }, 18875 // "scopes": [ 18876 // "https://www.googleapis.com/auth/cloud-platform", 18877 // "https://www.googleapis.com/auth/cloud-vision" 18878 // ] 18879 // } 18880 18881} 18882 18883// method id "vision.projects.locations.products.purge": 18884 18885type ProjectsLocationsProductsPurgeCall struct { 18886 s *Service 18887 parent string 18888 purgeproductsrequest *PurgeProductsRequest 18889 urlParams_ gensupport.URLParams 18890 ctx_ context.Context 18891 header_ http.Header 18892} 18893 18894// Purge: Asynchronous API to delete all Products in a ProductSet or all 18895// Products that are in no ProductSet. If a Product is a member of the 18896// specified ProductSet in addition to other ProductSets, the Product 18897// will still be deleted. It is recommended to not delete the specified 18898// ProductSet until after this operation has completed. It is also 18899// recommended to not add any of the Products involved in the batch 18900// delete to a new ProductSet while this operation is running because 18901// those Products may still end up deleted. It's not possible to undo 18902// the PurgeProducts operation. Therefore, it is recommended to keep the 18903// csv files used in ImportProductSets (if that was how you originally 18904// built the Product Set) before starting PurgeProducts, in case you 18905// need to re-import the data after deletion. If the plan is to purge 18906// all of the Products from a ProductSet and then re-use the empty 18907// ProductSet to re-import new Products into the empty ProductSet, you 18908// must wait until the PurgeProducts operation has finished for that 18909// ProductSet. The google.longrunning.Operation API can be used to keep 18910// track of the progress and results of the request. 18911// `Operation.metadata` contains `BatchOperationMetadata`. (progress) 18912// 18913// - parent: The project and location in which the Products should be 18914// deleted. Format is `projects/PROJECT_ID/locations/LOC_ID`. 18915func (r *ProjectsLocationsProductsService) Purge(parent string, purgeproductsrequest *PurgeProductsRequest) *ProjectsLocationsProductsPurgeCall { 18916 c := &ProjectsLocationsProductsPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18917 c.parent = parent 18918 c.purgeproductsrequest = purgeproductsrequest 18919 return c 18920} 18921 18922// Fields allows partial responses to be retrieved. See 18923// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18924// for more information. 18925func (c *ProjectsLocationsProductsPurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsPurgeCall { 18926 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18927 return c 18928} 18929 18930// Context sets the context to be used in this call's Do method. Any 18931// pending HTTP request will be aborted if the provided context is 18932// canceled. 18933func (c *ProjectsLocationsProductsPurgeCall) Context(ctx context.Context) *ProjectsLocationsProductsPurgeCall { 18934 c.ctx_ = ctx 18935 return c 18936} 18937 18938// Header returns an http.Header that can be modified by the caller to 18939// add HTTP headers to the request. 18940func (c *ProjectsLocationsProductsPurgeCall) Header() http.Header { 18941 if c.header_ == nil { 18942 c.header_ = make(http.Header) 18943 } 18944 return c.header_ 18945} 18946 18947func (c *ProjectsLocationsProductsPurgeCall) doRequest(alt string) (*http.Response, error) { 18948 reqHeaders := make(http.Header) 18949 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 18950 for k, v := range c.header_ { 18951 reqHeaders[k] = v 18952 } 18953 reqHeaders.Set("User-Agent", c.s.userAgent()) 18954 var body io.Reader = nil 18955 body, err := googleapi.WithoutDataWrapper.JSONReader(c.purgeproductsrequest) 18956 if err != nil { 18957 return nil, err 18958 } 18959 reqHeaders.Set("Content-Type", "application/json") 18960 c.urlParams_.Set("alt", alt) 18961 c.urlParams_.Set("prettyPrint", "false") 18962 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products:purge") 18963 urls += "?" + c.urlParams_.Encode() 18964 req, err := http.NewRequest("POST", urls, body) 18965 if err != nil { 18966 return nil, err 18967 } 18968 req.Header = reqHeaders 18969 googleapi.Expand(req.URL, map[string]string{ 18970 "parent": c.parent, 18971 }) 18972 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18973} 18974 18975// Do executes the "vision.projects.locations.products.purge" call. 18976// Exactly one of *Operation or error will be non-nil. Any non-2xx 18977// status code is an error. Response headers are in either 18978// *Operation.ServerResponse.Header or (if a response was returned at 18979// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 18980// to check whether the returned error was because 18981// http.StatusNotModified was returned. 18982func (c *ProjectsLocationsProductsPurgeCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 18983 gensupport.SetOptions(c.urlParams_, opts...) 18984 res, err := c.doRequest("json") 18985 if res != nil && res.StatusCode == http.StatusNotModified { 18986 if res.Body != nil { 18987 res.Body.Close() 18988 } 18989 return nil, &googleapi.Error{ 18990 Code: res.StatusCode, 18991 Header: res.Header, 18992 } 18993 } 18994 if err != nil { 18995 return nil, err 18996 } 18997 defer googleapi.CloseBody(res) 18998 if err := googleapi.CheckResponse(res); err != nil { 18999 return nil, err 19000 } 19001 ret := &Operation{ 19002 ServerResponse: googleapi.ServerResponse{ 19003 Header: res.Header, 19004 HTTPStatusCode: res.StatusCode, 19005 }, 19006 } 19007 target := &ret 19008 if err := gensupport.DecodeResponse(target, res); err != nil { 19009 return nil, err 19010 } 19011 return ret, nil 19012 // { 19013 // "description": "Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The google.longrunning.Operation API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress)", 19014 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products:purge", 19015 // "httpMethod": "POST", 19016 // "id": "vision.projects.locations.products.purge", 19017 // "parameterOrder": [ 19018 // "parent" 19019 // ], 19020 // "parameters": { 19021 // "parent": { 19022 // "description": "Required. The project and location in which the Products should be deleted. Format is `projects/PROJECT_ID/locations/LOC_ID`.", 19023 // "location": "path", 19024 // "pattern": "^projects/[^/]+/locations/[^/]+$", 19025 // "required": true, 19026 // "type": "string" 19027 // } 19028 // }, 19029 // "path": "v1/{+parent}/products:purge", 19030 // "request": { 19031 // "$ref": "PurgeProductsRequest" 19032 // }, 19033 // "response": { 19034 // "$ref": "Operation" 19035 // }, 19036 // "scopes": [ 19037 // "https://www.googleapis.com/auth/cloud-platform", 19038 // "https://www.googleapis.com/auth/cloud-vision" 19039 // ] 19040 // } 19041 19042} 19043 19044// method id "vision.projects.locations.products.referenceImages.create": 19045 19046type ProjectsLocationsProductsReferenceImagesCreateCall struct { 19047 s *Service 19048 parent string 19049 referenceimage *ReferenceImage 19050 urlParams_ gensupport.URLParams 19051 ctx_ context.Context 19052 header_ http.Header 19053} 19054 19055// Create: Creates and returns a new ReferenceImage resource. The 19056// `bounding_poly` field is optional. If `bounding_poly` is not 19057// specified, the system will try to detect regions of interest in the 19058// image that are compatible with the product_category on the parent 19059// product. If it is specified, detection is ALWAYS skipped. The system 19060// converts polygons into non-rotated rectangles. Note that the pipeline 19061// will resize the image if the image resolution is too large to process 19062// (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the 19063// image_uri is missing or longer than 4096 characters. * Returns 19064// INVALID_ARGUMENT if the product does not exist. * Returns 19065// INVALID_ARGUMENT if bounding_poly is not provided, and nothing 19066// compatible with the parent product's product_category is detected. * 19067// Returns INVALID_ARGUMENT if bounding_poly contains more than 10 19068// polygons. 19069// 19070// - parent: Resource name of the product in which to create the 19071// reference image. Format is 19072// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 19073func (r *ProjectsLocationsProductsReferenceImagesService) Create(parent string, referenceimage *ReferenceImage) *ProjectsLocationsProductsReferenceImagesCreateCall { 19074 c := &ProjectsLocationsProductsReferenceImagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19075 c.parent = parent 19076 c.referenceimage = referenceimage 19077 return c 19078} 19079 19080// ReferenceImageId sets the optional parameter "referenceImageId": A 19081// user-supplied resource id for the ReferenceImage to be added. If set, 19082// the server will attempt to use this value as the resource id. If it 19083// is already in use, an error is returned with code ALREADY_EXISTS. 19084// Must be at most 128 characters long. It cannot contain the character 19085// `/`. 19086func (c *ProjectsLocationsProductsReferenceImagesCreateCall) ReferenceImageId(referenceImageId string) *ProjectsLocationsProductsReferenceImagesCreateCall { 19087 c.urlParams_.Set("referenceImageId", referenceImageId) 19088 return c 19089} 19090 19091// Fields allows partial responses to be retrieved. See 19092// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19093// for more information. 19094func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesCreateCall { 19095 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19096 return c 19097} 19098 19099// Context sets the context to be used in this call's Do method. Any 19100// pending HTTP request will be aborted if the provided context is 19101// canceled. 19102func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesCreateCall { 19103 c.ctx_ = ctx 19104 return c 19105} 19106 19107// Header returns an http.Header that can be modified by the caller to 19108// add HTTP headers to the request. 19109func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Header() http.Header { 19110 if c.header_ == nil { 19111 c.header_ = make(http.Header) 19112 } 19113 return c.header_ 19114} 19115 19116func (c *ProjectsLocationsProductsReferenceImagesCreateCall) doRequest(alt string) (*http.Response, error) { 19117 reqHeaders := make(http.Header) 19118 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 19119 for k, v := range c.header_ { 19120 reqHeaders[k] = v 19121 } 19122 reqHeaders.Set("User-Agent", c.s.userAgent()) 19123 var body io.Reader = nil 19124 body, err := googleapi.WithoutDataWrapper.JSONReader(c.referenceimage) 19125 if err != nil { 19126 return nil, err 19127 } 19128 reqHeaders.Set("Content-Type", "application/json") 19129 c.urlParams_.Set("alt", alt) 19130 c.urlParams_.Set("prettyPrint", "false") 19131 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/referenceImages") 19132 urls += "?" + c.urlParams_.Encode() 19133 req, err := http.NewRequest("POST", urls, body) 19134 if err != nil { 19135 return nil, err 19136 } 19137 req.Header = reqHeaders 19138 googleapi.Expand(req.URL, map[string]string{ 19139 "parent": c.parent, 19140 }) 19141 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19142} 19143 19144// Do executes the "vision.projects.locations.products.referenceImages.create" call. 19145// Exactly one of *ReferenceImage or error will be non-nil. Any non-2xx 19146// status code is an error. Response headers are in either 19147// *ReferenceImage.ServerResponse.Header or (if a response was returned 19148// at all) in error.(*googleapi.Error).Header. Use 19149// googleapi.IsNotModified to check whether the returned error was 19150// because http.StatusNotModified was returned. 19151func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Do(opts ...googleapi.CallOption) (*ReferenceImage, error) { 19152 gensupport.SetOptions(c.urlParams_, opts...) 19153 res, err := c.doRequest("json") 19154 if res != nil && res.StatusCode == http.StatusNotModified { 19155 if res.Body != nil { 19156 res.Body.Close() 19157 } 19158 return nil, &googleapi.Error{ 19159 Code: res.StatusCode, 19160 Header: res.Header, 19161 } 19162 } 19163 if err != nil { 19164 return nil, err 19165 } 19166 defer googleapi.CloseBody(res) 19167 if err := googleapi.CheckResponse(res); err != nil { 19168 return nil, err 19169 } 19170 ret := &ReferenceImage{ 19171 ServerResponse: googleapi.ServerResponse{ 19172 Header: res.Header, 19173 HTTPStatusCode: res.StatusCode, 19174 }, 19175 } 19176 target := &ret 19177 if err := gensupport.DecodeResponse(target, res); err != nil { 19178 return nil, err 19179 } 19180 return ret, nil 19181 // { 19182 // "description": "Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", 19183 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages", 19184 // "httpMethod": "POST", 19185 // "id": "vision.projects.locations.products.referenceImages.create", 19186 // "parameterOrder": [ 19187 // "parent" 19188 // ], 19189 // "parameters": { 19190 // "parent": { 19191 // "description": "Required. Resource name of the product in which to create the reference image. Format is `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.", 19192 // "location": "path", 19193 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 19194 // "required": true, 19195 // "type": "string" 19196 // }, 19197 // "referenceImageId": { 19198 // "description": "A user-supplied resource id for the ReferenceImage to be added. If set, the server will attempt to use this value as the resource id. If it is already in use, an error is returned with code ALREADY_EXISTS. Must be at most 128 characters long. It cannot contain the character `/`.", 19199 // "location": "query", 19200 // "type": "string" 19201 // } 19202 // }, 19203 // "path": "v1/{+parent}/referenceImages", 19204 // "request": { 19205 // "$ref": "ReferenceImage" 19206 // }, 19207 // "response": { 19208 // "$ref": "ReferenceImage" 19209 // }, 19210 // "scopes": [ 19211 // "https://www.googleapis.com/auth/cloud-platform", 19212 // "https://www.googleapis.com/auth/cloud-vision" 19213 // ] 19214 // } 19215 19216} 19217 19218// method id "vision.projects.locations.products.referenceImages.delete": 19219 19220type ProjectsLocationsProductsReferenceImagesDeleteCall struct { 19221 s *Service 19222 name string 19223 urlParams_ gensupport.URLParams 19224 ctx_ context.Context 19225 header_ http.Header 19226} 19227 19228// Delete: Permanently deletes a reference image. The image metadata 19229// will be deleted right away, but search queries against ProductSets 19230// containing the image may still work until all related caches are 19231// refreshed. The actual image files are not deleted from Google Cloud 19232// Storage. 19233// 19234// - name: The resource name of the reference image to delete. Format 19235// is: 19236// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceI 19237// mages/IMAGE_ID`. 19238func (r *ProjectsLocationsProductsReferenceImagesService) Delete(name string) *ProjectsLocationsProductsReferenceImagesDeleteCall { 19239 c := &ProjectsLocationsProductsReferenceImagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19240 c.name = name 19241 return c 19242} 19243 19244// Fields allows partial responses to be retrieved. See 19245// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19246// for more information. 19247func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesDeleteCall { 19248 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19249 return c 19250} 19251 19252// Context sets the context to be used in this call's Do method. Any 19253// pending HTTP request will be aborted if the provided context is 19254// canceled. 19255func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesDeleteCall { 19256 c.ctx_ = ctx 19257 return c 19258} 19259 19260// Header returns an http.Header that can be modified by the caller to 19261// add HTTP headers to the request. 19262func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Header() http.Header { 19263 if c.header_ == nil { 19264 c.header_ = make(http.Header) 19265 } 19266 return c.header_ 19267} 19268 19269func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) doRequest(alt string) (*http.Response, error) { 19270 reqHeaders := make(http.Header) 19271 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 19272 for k, v := range c.header_ { 19273 reqHeaders[k] = v 19274 } 19275 reqHeaders.Set("User-Agent", c.s.userAgent()) 19276 var body io.Reader = nil 19277 c.urlParams_.Set("alt", alt) 19278 c.urlParams_.Set("prettyPrint", "false") 19279 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 19280 urls += "?" + c.urlParams_.Encode() 19281 req, err := http.NewRequest("DELETE", urls, body) 19282 if err != nil { 19283 return nil, err 19284 } 19285 req.Header = reqHeaders 19286 googleapi.Expand(req.URL, map[string]string{ 19287 "name": c.name, 19288 }) 19289 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19290} 19291 19292// Do executes the "vision.projects.locations.products.referenceImages.delete" call. 19293// Exactly one of *Empty or error will be non-nil. Any non-2xx status 19294// code is an error. Response headers are in either 19295// *Empty.ServerResponse.Header or (if a response was returned at all) 19296// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 19297// check whether the returned error was because http.StatusNotModified 19298// was returned. 19299func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 19300 gensupport.SetOptions(c.urlParams_, opts...) 19301 res, err := c.doRequest("json") 19302 if res != nil && res.StatusCode == http.StatusNotModified { 19303 if res.Body != nil { 19304 res.Body.Close() 19305 } 19306 return nil, &googleapi.Error{ 19307 Code: res.StatusCode, 19308 Header: res.Header, 19309 } 19310 } 19311 if err != nil { 19312 return nil, err 19313 } 19314 defer googleapi.CloseBody(res) 19315 if err := googleapi.CheckResponse(res); err != nil { 19316 return nil, err 19317 } 19318 ret := &Empty{ 19319 ServerResponse: googleapi.ServerResponse{ 19320 Header: res.Header, 19321 HTTPStatusCode: res.StatusCode, 19322 }, 19323 } 19324 target := &ret 19325 if err := gensupport.DecodeResponse(target, res); err != nil { 19326 return nil, err 19327 } 19328 return ret, nil 19329 // { 19330 // "description": "Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage.", 19331 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages/{referenceImagesId}", 19332 // "httpMethod": "DELETE", 19333 // "id": "vision.projects.locations.products.referenceImages.delete", 19334 // "parameterOrder": [ 19335 // "name" 19336 // ], 19337 // "parameters": { 19338 // "name": { 19339 // "description": "Required. The resource name of the reference image to delete. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`", 19340 // "location": "path", 19341 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+$", 19342 // "required": true, 19343 // "type": "string" 19344 // } 19345 // }, 19346 // "path": "v1/{+name}", 19347 // "response": { 19348 // "$ref": "Empty" 19349 // }, 19350 // "scopes": [ 19351 // "https://www.googleapis.com/auth/cloud-platform", 19352 // "https://www.googleapis.com/auth/cloud-vision" 19353 // ] 19354 // } 19355 19356} 19357 19358// method id "vision.projects.locations.products.referenceImages.get": 19359 19360type ProjectsLocationsProductsReferenceImagesGetCall struct { 19361 s *Service 19362 name string 19363 urlParams_ gensupport.URLParams 19364 ifNoneMatch_ string 19365 ctx_ context.Context 19366 header_ http.Header 19367} 19368 19369// Get: Gets information associated with a ReferenceImage. Possible 19370// errors: * Returns NOT_FOUND if the specified image does not exist. 19371// 19372// - name: The resource name of the ReferenceImage to get. Format is: 19373// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceI 19374// mages/IMAGE_ID`. 19375func (r *ProjectsLocationsProductsReferenceImagesService) Get(name string) *ProjectsLocationsProductsReferenceImagesGetCall { 19376 c := &ProjectsLocationsProductsReferenceImagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19377 c.name = name 19378 return c 19379} 19380 19381// Fields allows partial responses to be retrieved. See 19382// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19383// for more information. 19384func (c *ProjectsLocationsProductsReferenceImagesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesGetCall { 19385 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19386 return c 19387} 19388 19389// IfNoneMatch sets the optional parameter which makes the operation 19390// fail if the object's ETag matches the given value. This is useful for 19391// getting updates only after the object has changed since the last 19392// request. Use googleapi.IsNotModified to check whether the response 19393// error from Do is the result of In-None-Match. 19394func (c *ProjectsLocationsProductsReferenceImagesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsReferenceImagesGetCall { 19395 c.ifNoneMatch_ = entityTag 19396 return c 19397} 19398 19399// Context sets the context to be used in this call's Do method. Any 19400// pending HTTP request will be aborted if the provided context is 19401// canceled. 19402func (c *ProjectsLocationsProductsReferenceImagesGetCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesGetCall { 19403 c.ctx_ = ctx 19404 return c 19405} 19406 19407// Header returns an http.Header that can be modified by the caller to 19408// add HTTP headers to the request. 19409func (c *ProjectsLocationsProductsReferenceImagesGetCall) Header() http.Header { 19410 if c.header_ == nil { 19411 c.header_ = make(http.Header) 19412 } 19413 return c.header_ 19414} 19415 19416func (c *ProjectsLocationsProductsReferenceImagesGetCall) doRequest(alt string) (*http.Response, error) { 19417 reqHeaders := make(http.Header) 19418 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 19419 for k, v := range c.header_ { 19420 reqHeaders[k] = v 19421 } 19422 reqHeaders.Set("User-Agent", c.s.userAgent()) 19423 if c.ifNoneMatch_ != "" { 19424 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 19425 } 19426 var body io.Reader = nil 19427 c.urlParams_.Set("alt", alt) 19428 c.urlParams_.Set("prettyPrint", "false") 19429 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 19430 urls += "?" + c.urlParams_.Encode() 19431 req, err := http.NewRequest("GET", urls, body) 19432 if err != nil { 19433 return nil, err 19434 } 19435 req.Header = reqHeaders 19436 googleapi.Expand(req.URL, map[string]string{ 19437 "name": c.name, 19438 }) 19439 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19440} 19441 19442// Do executes the "vision.projects.locations.products.referenceImages.get" call. 19443// Exactly one of *ReferenceImage or error will be non-nil. Any non-2xx 19444// status code is an error. Response headers are in either 19445// *ReferenceImage.ServerResponse.Header or (if a response was returned 19446// at all) in error.(*googleapi.Error).Header. Use 19447// googleapi.IsNotModified to check whether the returned error was 19448// because http.StatusNotModified was returned. 19449func (c *ProjectsLocationsProductsReferenceImagesGetCall) Do(opts ...googleapi.CallOption) (*ReferenceImage, error) { 19450 gensupport.SetOptions(c.urlParams_, opts...) 19451 res, err := c.doRequest("json") 19452 if res != nil && res.StatusCode == http.StatusNotModified { 19453 if res.Body != nil { 19454 res.Body.Close() 19455 } 19456 return nil, &googleapi.Error{ 19457 Code: res.StatusCode, 19458 Header: res.Header, 19459 } 19460 } 19461 if err != nil { 19462 return nil, err 19463 } 19464 defer googleapi.CloseBody(res) 19465 if err := googleapi.CheckResponse(res); err != nil { 19466 return nil, err 19467 } 19468 ret := &ReferenceImage{ 19469 ServerResponse: googleapi.ServerResponse{ 19470 Header: res.Header, 19471 HTTPStatusCode: res.StatusCode, 19472 }, 19473 } 19474 target := &ret 19475 if err := gensupport.DecodeResponse(target, res); err != nil { 19476 return nil, err 19477 } 19478 return ret, nil 19479 // { 19480 // "description": "Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", 19481 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages/{referenceImagesId}", 19482 // "httpMethod": "GET", 19483 // "id": "vision.projects.locations.products.referenceImages.get", 19484 // "parameterOrder": [ 19485 // "name" 19486 // ], 19487 // "parameters": { 19488 // "name": { 19489 // "description": "Required. The resource name of the ReferenceImage to get. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`.", 19490 // "location": "path", 19491 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+$", 19492 // "required": true, 19493 // "type": "string" 19494 // } 19495 // }, 19496 // "path": "v1/{+name}", 19497 // "response": { 19498 // "$ref": "ReferenceImage" 19499 // }, 19500 // "scopes": [ 19501 // "https://www.googleapis.com/auth/cloud-platform", 19502 // "https://www.googleapis.com/auth/cloud-vision" 19503 // ] 19504 // } 19505 19506} 19507 19508// method id "vision.projects.locations.products.referenceImages.list": 19509 19510type ProjectsLocationsProductsReferenceImagesListCall struct { 19511 s *Service 19512 parent string 19513 urlParams_ gensupport.URLParams 19514 ifNoneMatch_ string 19515 ctx_ context.Context 19516 header_ http.Header 19517} 19518 19519// List: Lists reference images. Possible errors: * Returns NOT_FOUND if 19520// the parent product does not exist. * Returns INVALID_ARGUMENT if the 19521// page_size is greater than 100, or less than 1. 19522// 19523// - parent: Resource name of the product containing the reference 19524// images. Format is 19525// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 19526func (r *ProjectsLocationsProductsReferenceImagesService) List(parent string) *ProjectsLocationsProductsReferenceImagesListCall { 19527 c := &ProjectsLocationsProductsReferenceImagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19528 c.parent = parent 19529 return c 19530} 19531 19532// PageSize sets the optional parameter "pageSize": The maximum number 19533// of items to return. Default 10, maximum 100. 19534func (c *ProjectsLocationsProductsReferenceImagesListCall) PageSize(pageSize int64) *ProjectsLocationsProductsReferenceImagesListCall { 19535 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 19536 return c 19537} 19538 19539// PageToken sets the optional parameter "pageToken": A token 19540// identifying a page of results to be returned. This is the value of 19541// `nextPageToken` returned in a previous reference image list request. 19542// Defaults to the first page if not specified. 19543func (c *ProjectsLocationsProductsReferenceImagesListCall) PageToken(pageToken string) *ProjectsLocationsProductsReferenceImagesListCall { 19544 c.urlParams_.Set("pageToken", pageToken) 19545 return c 19546} 19547 19548// Fields allows partial responses to be retrieved. See 19549// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19550// for more information. 19551func (c *ProjectsLocationsProductsReferenceImagesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesListCall { 19552 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19553 return c 19554} 19555 19556// IfNoneMatch sets the optional parameter which makes the operation 19557// fail if the object's ETag matches the given value. This is useful for 19558// getting updates only after the object has changed since the last 19559// request. Use googleapi.IsNotModified to check whether the response 19560// error from Do is the result of In-None-Match. 19561func (c *ProjectsLocationsProductsReferenceImagesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsReferenceImagesListCall { 19562 c.ifNoneMatch_ = entityTag 19563 return c 19564} 19565 19566// Context sets the context to be used in this call's Do method. Any 19567// pending HTTP request will be aborted if the provided context is 19568// canceled. 19569func (c *ProjectsLocationsProductsReferenceImagesListCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesListCall { 19570 c.ctx_ = ctx 19571 return c 19572} 19573 19574// Header returns an http.Header that can be modified by the caller to 19575// add HTTP headers to the request. 19576func (c *ProjectsLocationsProductsReferenceImagesListCall) Header() http.Header { 19577 if c.header_ == nil { 19578 c.header_ = make(http.Header) 19579 } 19580 return c.header_ 19581} 19582 19583func (c *ProjectsLocationsProductsReferenceImagesListCall) doRequest(alt string) (*http.Response, error) { 19584 reqHeaders := make(http.Header) 19585 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 19586 for k, v := range c.header_ { 19587 reqHeaders[k] = v 19588 } 19589 reqHeaders.Set("User-Agent", c.s.userAgent()) 19590 if c.ifNoneMatch_ != "" { 19591 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 19592 } 19593 var body io.Reader = nil 19594 c.urlParams_.Set("alt", alt) 19595 c.urlParams_.Set("prettyPrint", "false") 19596 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/referenceImages") 19597 urls += "?" + c.urlParams_.Encode() 19598 req, err := http.NewRequest("GET", urls, body) 19599 if err != nil { 19600 return nil, err 19601 } 19602 req.Header = reqHeaders 19603 googleapi.Expand(req.URL, map[string]string{ 19604 "parent": c.parent, 19605 }) 19606 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19607} 19608 19609// Do executes the "vision.projects.locations.products.referenceImages.list" call. 19610// Exactly one of *ListReferenceImagesResponse or error will be non-nil. 19611// Any non-2xx status code is an error. Response headers are in either 19612// *ListReferenceImagesResponse.ServerResponse.Header or (if a response 19613// was returned at all) in error.(*googleapi.Error).Header. Use 19614// googleapi.IsNotModified to check whether the returned error was 19615// because http.StatusNotModified was returned. 19616func (c *ProjectsLocationsProductsReferenceImagesListCall) Do(opts ...googleapi.CallOption) (*ListReferenceImagesResponse, error) { 19617 gensupport.SetOptions(c.urlParams_, opts...) 19618 res, err := c.doRequest("json") 19619 if res != nil && res.StatusCode == http.StatusNotModified { 19620 if res.Body != nil { 19621 res.Body.Close() 19622 } 19623 return nil, &googleapi.Error{ 19624 Code: res.StatusCode, 19625 Header: res.Header, 19626 } 19627 } 19628 if err != nil { 19629 return nil, err 19630 } 19631 defer googleapi.CloseBody(res) 19632 if err := googleapi.CheckResponse(res); err != nil { 19633 return nil, err 19634 } 19635 ret := &ListReferenceImagesResponse{ 19636 ServerResponse: googleapi.ServerResponse{ 19637 Header: res.Header, 19638 HTTPStatusCode: res.StatusCode, 19639 }, 19640 } 19641 target := &ret 19642 if err := gensupport.DecodeResponse(target, res); err != nil { 19643 return nil, err 19644 } 19645 return ret, nil 19646 // { 19647 // "description": "Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", 19648 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages", 19649 // "httpMethod": "GET", 19650 // "id": "vision.projects.locations.products.referenceImages.list", 19651 // "parameterOrder": [ 19652 // "parent" 19653 // ], 19654 // "parameters": { 19655 // "pageSize": { 19656 // "description": "The maximum number of items to return. Default 10, maximum 100.", 19657 // "format": "int32", 19658 // "location": "query", 19659 // "type": "integer" 19660 // }, 19661 // "pageToken": { 19662 // "description": "A token identifying a page of results to be returned. This is the value of `nextPageToken` returned in a previous reference image list request. Defaults to the first page if not specified.", 19663 // "location": "query", 19664 // "type": "string" 19665 // }, 19666 // "parent": { 19667 // "description": "Required. Resource name of the product containing the reference images. Format is `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.", 19668 // "location": "path", 19669 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 19670 // "required": true, 19671 // "type": "string" 19672 // } 19673 // }, 19674 // "path": "v1/{+parent}/referenceImages", 19675 // "response": { 19676 // "$ref": "ListReferenceImagesResponse" 19677 // }, 19678 // "scopes": [ 19679 // "https://www.googleapis.com/auth/cloud-platform", 19680 // "https://www.googleapis.com/auth/cloud-vision" 19681 // ] 19682 // } 19683 19684} 19685 19686// Pages invokes f for each page of results. 19687// A non-nil error returned from f will halt the iteration. 19688// The provided context supersedes any context provided to the Context method. 19689func (c *ProjectsLocationsProductsReferenceImagesListCall) Pages(ctx context.Context, f func(*ListReferenceImagesResponse) error) error { 19690 c.ctx_ = ctx 19691 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 19692 for { 19693 x, err := c.Do() 19694 if err != nil { 19695 return err 19696 } 19697 if err := f(x); err != nil { 19698 return err 19699 } 19700 if x.NextPageToken == "" { 19701 return nil 19702 } 19703 c.PageToken(x.NextPageToken) 19704 } 19705} 19706 19707// method id "vision.projects.operations.get": 19708 19709type ProjectsOperationsGetCall struct { 19710 s *Service 19711 name string 19712 urlParams_ gensupport.URLParams 19713 ifNoneMatch_ string 19714 ctx_ context.Context 19715 header_ http.Header 19716} 19717 19718// Get: Gets the latest state of a long-running operation. Clients can 19719// use this method to poll the operation result at intervals as 19720// recommended by the API service. 19721// 19722// - name: The name of the operation resource. 19723func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall { 19724 c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19725 c.name = name 19726 return c 19727} 19728 19729// Fields allows partial responses to be retrieved. See 19730// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19731// for more information. 19732func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall { 19733 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19734 return c 19735} 19736 19737// IfNoneMatch sets the optional parameter which makes the operation 19738// fail if the object's ETag matches the given value. This is useful for 19739// getting updates only after the object has changed since the last 19740// request. Use googleapi.IsNotModified to check whether the response 19741// error from Do is the result of In-None-Match. 19742func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall { 19743 c.ifNoneMatch_ = entityTag 19744 return c 19745} 19746 19747// Context sets the context to be used in this call's Do method. Any 19748// pending HTTP request will be aborted if the provided context is 19749// canceled. 19750func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall { 19751 c.ctx_ = ctx 19752 return c 19753} 19754 19755// Header returns an http.Header that can be modified by the caller to 19756// add HTTP headers to the request. 19757func (c *ProjectsOperationsGetCall) Header() http.Header { 19758 if c.header_ == nil { 19759 c.header_ = make(http.Header) 19760 } 19761 return c.header_ 19762} 19763 19764func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 19765 reqHeaders := make(http.Header) 19766 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915") 19767 for k, v := range c.header_ { 19768 reqHeaders[k] = v 19769 } 19770 reqHeaders.Set("User-Agent", c.s.userAgent()) 19771 if c.ifNoneMatch_ != "" { 19772 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 19773 } 19774 var body io.Reader = nil 19775 c.urlParams_.Set("alt", alt) 19776 c.urlParams_.Set("prettyPrint", "false") 19777 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 19778 urls += "?" + c.urlParams_.Encode() 19779 req, err := http.NewRequest("GET", urls, body) 19780 if err != nil { 19781 return nil, err 19782 } 19783 req.Header = reqHeaders 19784 googleapi.Expand(req.URL, map[string]string{ 19785 "name": c.name, 19786 }) 19787 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19788} 19789 19790// Do executes the "vision.projects.operations.get" call. 19791// Exactly one of *Operation or error will be non-nil. Any non-2xx 19792// status code is an error. Response headers are in either 19793// *Operation.ServerResponse.Header or (if a response was returned at 19794// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 19795// to check whether the returned error was because 19796// http.StatusNotModified was returned. 19797func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 19798 gensupport.SetOptions(c.urlParams_, opts...) 19799 res, err := c.doRequest("json") 19800 if res != nil && res.StatusCode == http.StatusNotModified { 19801 if res.Body != nil { 19802 res.Body.Close() 19803 } 19804 return nil, &googleapi.Error{ 19805 Code: res.StatusCode, 19806 Header: res.Header, 19807 } 19808 } 19809 if err != nil { 19810 return nil, err 19811 } 19812 defer googleapi.CloseBody(res) 19813 if err := googleapi.CheckResponse(res); err != nil { 19814 return nil, err 19815 } 19816 ret := &Operation{ 19817 ServerResponse: googleapi.ServerResponse{ 19818 Header: res.Header, 19819 HTTPStatusCode: res.StatusCode, 19820 }, 19821 } 19822 target := &ret 19823 if err := gensupport.DecodeResponse(target, res); err != nil { 19824 return nil, err 19825 } 19826 return ret, nil 19827 // { 19828 // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", 19829 // "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", 19830 // "httpMethod": "GET", 19831 // "id": "vision.projects.operations.get", 19832 // "parameterOrder": [ 19833 // "name" 19834 // ], 19835 // "parameters": { 19836 // "name": { 19837 // "description": "The name of the operation resource.", 19838 // "location": "path", 19839 // "pattern": "^projects/[^/]+/operations/[^/]+$", 19840 // "required": true, 19841 // "type": "string" 19842 // } 19843 // }, 19844 // "path": "v1/{+name}", 19845 // "response": { 19846 // "$ref": "Operation" 19847 // }, 19848 // "scopes": [ 19849 // "https://www.googleapis.com/auth/cloud-platform", 19850 // "https://www.googleapis.com/auth/cloud-vision" 19851 // ] 19852 // } 19853 19854} 19855