1// Copyright 2020 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/" 84 85// OAuth2 scopes used by this API. 86const ( 87 // View and manage your data across Google Cloud Platform services 88 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 89 90 // Apply machine learning models to understand and label images 91 CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision" 92) 93 94// NewService creates a new Service. 95func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 96 scopesOption := option.WithScopes( 97 "https://www.googleapis.com/auth/cloud-platform", 98 "https://www.googleapis.com/auth/cloud-vision", 99 ) 100 // NOTE: prepend, so we don't override user-specified scopes. 101 opts = append([]option.ClientOption{scopesOption}, opts...) 102 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 103 client, endpoint, err := htransport.NewClient(ctx, opts...) 104 if err != nil { 105 return nil, err 106 } 107 s, err := New(client) 108 if err != nil { 109 return nil, err 110 } 111 if endpoint != "" { 112 s.BasePath = endpoint 113 } 114 return s, nil 115} 116 117// New creates a new Service. It uses the provided http.Client for requests. 118// 119// Deprecated: please use NewService instead. 120// To provide a custom HTTP client, use option.WithHTTPClient. 121// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 122func New(client *http.Client) (*Service, error) { 123 if client == nil { 124 return nil, errors.New("client is nil") 125 } 126 s := &Service{client: client, BasePath: basePath} 127 s.Files = NewFilesService(s) 128 s.Images = NewImagesService(s) 129 s.Locations = NewLocationsService(s) 130 s.Operations = NewOperationsService(s) 131 s.Projects = NewProjectsService(s) 132 return s, nil 133} 134 135type Service struct { 136 client *http.Client 137 BasePath string // API endpoint base URL 138 UserAgent string // optional additional User-Agent fragment 139 140 Files *FilesService 141 142 Images *ImagesService 143 144 Locations *LocationsService 145 146 Operations *OperationsService 147 148 Projects *ProjectsService 149} 150 151func (s *Service) userAgent() string { 152 if s.UserAgent == "" { 153 return googleapi.UserAgent 154 } 155 return googleapi.UserAgent + " " + s.UserAgent 156} 157 158func NewFilesService(s *Service) *FilesService { 159 rs := &FilesService{s: s} 160 return rs 161} 162 163type FilesService struct { 164 s *Service 165} 166 167func NewImagesService(s *Service) *ImagesService { 168 rs := &ImagesService{s: s} 169 return rs 170} 171 172type ImagesService struct { 173 s *Service 174} 175 176func NewLocationsService(s *Service) *LocationsService { 177 rs := &LocationsService{s: s} 178 rs.Operations = NewLocationsOperationsService(s) 179 return rs 180} 181 182type LocationsService struct { 183 s *Service 184 185 Operations *LocationsOperationsService 186} 187 188func NewLocationsOperationsService(s *Service) *LocationsOperationsService { 189 rs := &LocationsOperationsService{s: s} 190 return rs 191} 192 193type LocationsOperationsService struct { 194 s *Service 195} 196 197func NewOperationsService(s *Service) *OperationsService { 198 rs := &OperationsService{s: s} 199 return rs 200} 201 202type OperationsService struct { 203 s *Service 204} 205 206func NewProjectsService(s *Service) *ProjectsService { 207 rs := &ProjectsService{s: s} 208 rs.Files = NewProjectsFilesService(s) 209 rs.Images = NewProjectsImagesService(s) 210 rs.Locations = NewProjectsLocationsService(s) 211 rs.Operations = NewProjectsOperationsService(s) 212 return rs 213} 214 215type ProjectsService struct { 216 s *Service 217 218 Files *ProjectsFilesService 219 220 Images *ProjectsImagesService 221 222 Locations *ProjectsLocationsService 223 224 Operations *ProjectsOperationsService 225} 226 227func NewProjectsFilesService(s *Service) *ProjectsFilesService { 228 rs := &ProjectsFilesService{s: s} 229 return rs 230} 231 232type ProjectsFilesService struct { 233 s *Service 234} 235 236func NewProjectsImagesService(s *Service) *ProjectsImagesService { 237 rs := &ProjectsImagesService{s: s} 238 return rs 239} 240 241type ProjectsImagesService struct { 242 s *Service 243} 244 245func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { 246 rs := &ProjectsLocationsService{s: s} 247 rs.Files = NewProjectsLocationsFilesService(s) 248 rs.Images = NewProjectsLocationsImagesService(s) 249 rs.Operations = NewProjectsLocationsOperationsService(s) 250 rs.ProductSets = NewProjectsLocationsProductSetsService(s) 251 rs.Products = NewProjectsLocationsProductsService(s) 252 return rs 253} 254 255type ProjectsLocationsService struct { 256 s *Service 257 258 Files *ProjectsLocationsFilesService 259 260 Images *ProjectsLocationsImagesService 261 262 Operations *ProjectsLocationsOperationsService 263 264 ProductSets *ProjectsLocationsProductSetsService 265 266 Products *ProjectsLocationsProductsService 267} 268 269func NewProjectsLocationsFilesService(s *Service) *ProjectsLocationsFilesService { 270 rs := &ProjectsLocationsFilesService{s: s} 271 return rs 272} 273 274type ProjectsLocationsFilesService struct { 275 s *Service 276} 277 278func NewProjectsLocationsImagesService(s *Service) *ProjectsLocationsImagesService { 279 rs := &ProjectsLocationsImagesService{s: s} 280 return rs 281} 282 283type ProjectsLocationsImagesService struct { 284 s *Service 285} 286 287func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService { 288 rs := &ProjectsLocationsOperationsService{s: s} 289 return rs 290} 291 292type ProjectsLocationsOperationsService struct { 293 s *Service 294} 295 296func NewProjectsLocationsProductSetsService(s *Service) *ProjectsLocationsProductSetsService { 297 rs := &ProjectsLocationsProductSetsService{s: s} 298 rs.Products = NewProjectsLocationsProductSetsProductsService(s) 299 return rs 300} 301 302type ProjectsLocationsProductSetsService struct { 303 s *Service 304 305 Products *ProjectsLocationsProductSetsProductsService 306} 307 308func NewProjectsLocationsProductSetsProductsService(s *Service) *ProjectsLocationsProductSetsProductsService { 309 rs := &ProjectsLocationsProductSetsProductsService{s: s} 310 return rs 311} 312 313type ProjectsLocationsProductSetsProductsService struct { 314 s *Service 315} 316 317func NewProjectsLocationsProductsService(s *Service) *ProjectsLocationsProductsService { 318 rs := &ProjectsLocationsProductsService{s: s} 319 rs.ReferenceImages = NewProjectsLocationsProductsReferenceImagesService(s) 320 return rs 321} 322 323type ProjectsLocationsProductsService struct { 324 s *Service 325 326 ReferenceImages *ProjectsLocationsProductsReferenceImagesService 327} 328 329func NewProjectsLocationsProductsReferenceImagesService(s *Service) *ProjectsLocationsProductsReferenceImagesService { 330 rs := &ProjectsLocationsProductsReferenceImagesService{s: s} 331 return rs 332} 333 334type ProjectsLocationsProductsReferenceImagesService struct { 335 s *Service 336} 337 338func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { 339 rs := &ProjectsOperationsService{s: s} 340 return rs 341} 342 343type ProjectsOperationsService struct { 344 s *Service 345} 346 347// AddProductToProductSetRequest: Request message for the 348// `AddProductToProductSet` method. 349type AddProductToProductSetRequest struct { 350 // Product: Required. The resource name for the Product to be added to 351 // this ProductSet. 352 // 353 // Format is: 354 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` 355 Product string `json:"product,omitempty"` 356 357 // ForceSendFields is a list of field names (e.g. "Product") to 358 // unconditionally include in API requests. By default, fields with 359 // empty values are omitted from API requests. However, any non-pointer, 360 // non-interface field appearing in ForceSendFields will be sent to the 361 // server regardless of whether the field is empty or not. This may be 362 // used to include empty fields in Patch requests. 363 ForceSendFields []string `json:"-"` 364 365 // NullFields is a list of field names (e.g. "Product") to include in 366 // API requests with the JSON null value. By default, fields with empty 367 // values are omitted from API requests. However, any field with an 368 // empty value appearing in NullFields will be sent to the server as 369 // null. It is an error if a field in this list has a non-empty value. 370 // This may be used to include null fields in Patch requests. 371 NullFields []string `json:"-"` 372} 373 374func (s *AddProductToProductSetRequest) MarshalJSON() ([]byte, error) { 375 type NoMethod AddProductToProductSetRequest 376 raw := NoMethod(*s) 377 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 378} 379 380// AnnotateFileRequest: A request to annotate one single file, e.g. a 381// PDF, TIFF or GIF file. 382type AnnotateFileRequest struct { 383 // Features: Required. Requested features. 384 Features []*Feature `json:"features,omitempty"` 385 386 // ImageContext: Additional context that may accompany the image(s) in 387 // the file. 388 ImageContext *ImageContext `json:"imageContext,omitempty"` 389 390 // InputConfig: Required. Information about the input file. 391 InputConfig *InputConfig `json:"inputConfig,omitempty"` 392 393 // Pages: Pages of the file to perform image annotation. 394 // 395 // Pages starts from 1, we assume the first page of the file is page 396 // 1. 397 // At most 5 pages are supported per request. Pages can be 398 // negative. 399 // 400 // Page 1 means the first page. 401 // Page 2 means the second page. 402 // Page -1 means the last page. 403 // Page -2 means the second to the last page. 404 // 405 // If the file is GIF instead of PDF or TIFF, page refers to GIF 406 // frames. 407 // 408 // If this field is empty, by default the service performs image 409 // annotation 410 // for the first 5 pages of the file. 411 Pages []int64 `json:"pages,omitempty"` 412 413 // ForceSendFields is a list of field names (e.g. "Features") to 414 // unconditionally include in API requests. By default, fields with 415 // empty values are omitted from API requests. However, any non-pointer, 416 // non-interface field appearing in ForceSendFields will be sent to the 417 // server regardless of whether the field is empty or not. This may be 418 // used to include empty fields in Patch requests. 419 ForceSendFields []string `json:"-"` 420 421 // NullFields is a list of field names (e.g. "Features") to include in 422 // API requests with the JSON null value. By default, fields with empty 423 // values are omitted from API requests. However, any field with an 424 // empty value appearing in NullFields will be sent to the server as 425 // null. It is an error if a field in this list has a non-empty value. 426 // This may be used to include null fields in Patch requests. 427 NullFields []string `json:"-"` 428} 429 430func (s *AnnotateFileRequest) MarshalJSON() ([]byte, error) { 431 type NoMethod AnnotateFileRequest 432 raw := NoMethod(*s) 433 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 434} 435 436// AnnotateFileResponse: Response to a single file annotation request. A 437// file may contain one or more 438// images, which individually have their own responses. 439type AnnotateFileResponse struct { 440 // Error: If set, represents the error message for the failed request. 441 // The 442 // `responses` field will not be set in this case. 443 Error *Status `json:"error,omitempty"` 444 445 // InputConfig: Information about the file for which this response is 446 // generated. 447 InputConfig *InputConfig `json:"inputConfig,omitempty"` 448 449 // Responses: Individual responses to images found within the file. This 450 // field will be 451 // empty if the `error` field is set. 452 Responses []*AnnotateImageResponse `json:"responses,omitempty"` 453 454 // TotalPages: This field gives the total number of pages in the file. 455 TotalPages int64 `json:"totalPages,omitempty"` 456 457 // ForceSendFields is a list of field names (e.g. "Error") to 458 // unconditionally include in API requests. By default, fields with 459 // empty values are omitted from API requests. However, any non-pointer, 460 // non-interface field appearing in ForceSendFields will be sent to the 461 // server regardless of whether the field is empty or not. This may be 462 // used to include empty fields in Patch requests. 463 ForceSendFields []string `json:"-"` 464 465 // NullFields is a list of field names (e.g. "Error") to include in API 466 // requests with the JSON null value. By default, fields with empty 467 // values are omitted from API requests. However, any field with an 468 // empty value appearing in NullFields will be sent to the server as 469 // null. It is an error if a field in this list has a non-empty value. 470 // This may be used to include null fields in Patch requests. 471 NullFields []string `json:"-"` 472} 473 474func (s *AnnotateFileResponse) MarshalJSON() ([]byte, error) { 475 type NoMethod AnnotateFileResponse 476 raw := NoMethod(*s) 477 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 478} 479 480// AnnotateImageRequest: Request for performing Google Cloud Vision API 481// tasks over a user-provided 482// image, with user-requested features, and with context information. 483type AnnotateImageRequest struct { 484 // Features: Requested features. 485 Features []*Feature `json:"features,omitempty"` 486 487 // Image: The image to be processed. 488 Image *Image `json:"image,omitempty"` 489 490 // ImageContext: Additional context that may accompany the image. 491 ImageContext *ImageContext `json:"imageContext,omitempty"` 492 493 // ForceSendFields is a list of field names (e.g. "Features") to 494 // unconditionally include in API requests. By default, fields with 495 // empty values are omitted from API requests. However, any non-pointer, 496 // non-interface field appearing in ForceSendFields will be sent to the 497 // server regardless of whether the field is empty or not. This may be 498 // used to include empty fields in Patch requests. 499 ForceSendFields []string `json:"-"` 500 501 // NullFields is a list of field names (e.g. "Features") to include in 502 // API requests with the JSON null value. By default, fields with empty 503 // values are omitted from API requests. However, any field with an 504 // empty value appearing in NullFields will be sent to the server as 505 // null. It is an error if a field in this list has a non-empty value. 506 // This may be used to include null fields in Patch requests. 507 NullFields []string `json:"-"` 508} 509 510func (s *AnnotateImageRequest) MarshalJSON() ([]byte, error) { 511 type NoMethod AnnotateImageRequest 512 raw := NoMethod(*s) 513 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 514} 515 516// AnnotateImageResponse: Response to an image annotation request. 517type AnnotateImageResponse struct { 518 // Context: If present, contextual information is needed to understand 519 // where this image 520 // comes from. 521 Context *ImageAnnotationContext `json:"context,omitempty"` 522 523 // CropHintsAnnotation: If present, crop hints have completed 524 // successfully. 525 CropHintsAnnotation *CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 526 527 // Error: If set, represents the error message for the operation. 528 // Note that filled-in image annotations are guaranteed to be 529 // correct, even when `error` is set. 530 Error *Status `json:"error,omitempty"` 531 532 // FaceAnnotations: If present, face detection has completed 533 // successfully. 534 FaceAnnotations []*FaceAnnotation `json:"faceAnnotations,omitempty"` 535 536 // FullTextAnnotation: If present, text (OCR) detection or document 537 // (OCR) text detection has 538 // completed successfully. 539 // This annotation provides the structural hierarchy for the OCR 540 // detected 541 // text. 542 FullTextAnnotation *TextAnnotation `json:"fullTextAnnotation,omitempty"` 543 544 // ImagePropertiesAnnotation: If present, image properties were 545 // extracted successfully. 546 ImagePropertiesAnnotation *ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 547 548 // LabelAnnotations: If present, label detection has completed 549 // successfully. 550 LabelAnnotations []*EntityAnnotation `json:"labelAnnotations,omitempty"` 551 552 // LandmarkAnnotations: If present, landmark detection has completed 553 // successfully. 554 LandmarkAnnotations []*EntityAnnotation `json:"landmarkAnnotations,omitempty"` 555 556 // LocalizedObjectAnnotations: If present, localized object detection 557 // has completed successfully. 558 // This will be sorted descending by confidence score. 559 LocalizedObjectAnnotations []*LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 560 561 // LogoAnnotations: If present, logo detection has completed 562 // successfully. 563 LogoAnnotations []*EntityAnnotation `json:"logoAnnotations,omitempty"` 564 565 // ProductSearchResults: If present, product search has completed 566 // successfully. 567 ProductSearchResults *ProductSearchResults `json:"productSearchResults,omitempty"` 568 569 // SafeSearchAnnotation: If present, safe-search annotation has 570 // completed successfully. 571 SafeSearchAnnotation *SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 572 573 // TextAnnotations: If present, text (OCR) detection has completed 574 // successfully. 575 TextAnnotations []*EntityAnnotation `json:"textAnnotations,omitempty"` 576 577 // WebDetection: If present, web detection has completed successfully. 578 WebDetection *WebDetection `json:"webDetection,omitempty"` 579 580 // ForceSendFields is a list of field names (e.g. "Context") to 581 // unconditionally include in API requests. By default, fields with 582 // empty values are omitted from API requests. However, any non-pointer, 583 // non-interface field appearing in ForceSendFields will be sent to the 584 // server regardless of whether the field is empty or not. This may be 585 // used to include empty fields in Patch requests. 586 ForceSendFields []string `json:"-"` 587 588 // NullFields is a list of field names (e.g. "Context") to include in 589 // API requests with the JSON null value. By default, fields with empty 590 // values are omitted from API requests. However, any field with an 591 // empty value appearing in NullFields will be sent to the server as 592 // null. It is an error if a field in this list has a non-empty value. 593 // This may be used to include null fields in Patch requests. 594 NullFields []string `json:"-"` 595} 596 597func (s *AnnotateImageResponse) MarshalJSON() ([]byte, error) { 598 type NoMethod AnnotateImageResponse 599 raw := NoMethod(*s) 600 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 601} 602 603// AsyncAnnotateFileRequest: An offline file annotation request. 604type AsyncAnnotateFileRequest struct { 605 // Features: Required. Requested features. 606 Features []*Feature `json:"features,omitempty"` 607 608 // ImageContext: Additional context that may accompany the image(s) in 609 // the file. 610 ImageContext *ImageContext `json:"imageContext,omitempty"` 611 612 // InputConfig: Required. Information about the input file. 613 InputConfig *InputConfig `json:"inputConfig,omitempty"` 614 615 // OutputConfig: Required. The desired output location and metadata 616 // (e.g. format). 617 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 618 619 // ForceSendFields is a list of field names (e.g. "Features") to 620 // unconditionally include in API requests. By default, fields with 621 // empty values are omitted from API requests. However, any non-pointer, 622 // non-interface field appearing in ForceSendFields will be sent to the 623 // server regardless of whether the field is empty or not. This may be 624 // used to include empty fields in Patch requests. 625 ForceSendFields []string `json:"-"` 626 627 // NullFields is a list of field names (e.g. "Features") to include in 628 // API requests with the JSON null value. By default, fields with empty 629 // values are omitted from API requests. However, any field with an 630 // empty value appearing in NullFields will be sent to the server as 631 // null. It is an error if a field in this list has a non-empty value. 632 // This may be used to include null fields in Patch requests. 633 NullFields []string `json:"-"` 634} 635 636func (s *AsyncAnnotateFileRequest) MarshalJSON() ([]byte, error) { 637 type NoMethod AsyncAnnotateFileRequest 638 raw := NoMethod(*s) 639 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 640} 641 642// AsyncAnnotateFileResponse: The response for a single offline file 643// annotation request. 644type AsyncAnnotateFileResponse struct { 645 // OutputConfig: The output location and metadata from 646 // AsyncAnnotateFileRequest. 647 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 648 649 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 650 // unconditionally include in API requests. By default, fields with 651 // empty values are omitted from API requests. However, any non-pointer, 652 // non-interface field appearing in ForceSendFields will be sent to the 653 // server regardless of whether the field is empty or not. This may be 654 // used to include empty fields in Patch requests. 655 ForceSendFields []string `json:"-"` 656 657 // NullFields is a list of field names (e.g. "OutputConfig") to include 658 // in API requests with the JSON null value. By default, fields with 659 // empty values are omitted from API requests. However, any field with 660 // an empty value appearing in NullFields will be sent to the server as 661 // null. It is an error if a field in this list has a non-empty value. 662 // This may be used to include null fields in Patch requests. 663 NullFields []string `json:"-"` 664} 665 666func (s *AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 667 type NoMethod AsyncAnnotateFileResponse 668 raw := NoMethod(*s) 669 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 670} 671 672// AsyncBatchAnnotateFilesRequest: Multiple async file annotation 673// requests are batched into a single service 674// call. 675type AsyncBatchAnnotateFilesRequest struct { 676 // Parent: Optional. Target project and location to make a 677 // call. 678 // 679 // Format: `projects/{project-id}/locations/{location-id}`. 680 // 681 // If no parent is specified, a region will be chosen 682 // automatically. 683 // 684 // Supported location-ids: 685 // `us`: USA country only, 686 // `asia`: East asia areas, like Japan, Taiwan, 687 // `eu`: The European Union. 688 // 689 // Example: `projects/project-A/locations/eu`. 690 Parent string `json:"parent,omitempty"` 691 692 // Requests: Required. Individual async file annotation requests for 693 // this batch. 694 Requests []*AsyncAnnotateFileRequest `json:"requests,omitempty"` 695 696 // ForceSendFields is a list of field names (e.g. "Parent") to 697 // unconditionally include in API requests. By default, fields with 698 // empty values are omitted from API requests. However, any non-pointer, 699 // non-interface field appearing in ForceSendFields will be sent to the 700 // server regardless of whether the field is empty or not. This may be 701 // used to include empty fields in Patch requests. 702 ForceSendFields []string `json:"-"` 703 704 // NullFields is a list of field names (e.g. "Parent") to include in API 705 // requests with the JSON null value. By default, fields with empty 706 // values are omitted from API requests. However, any field with an 707 // empty value appearing in NullFields will be sent to the server as 708 // null. It is an error if a field in this list has a non-empty value. 709 // This may be used to include null fields in Patch requests. 710 NullFields []string `json:"-"` 711} 712 713func (s *AsyncBatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 714 type NoMethod AsyncBatchAnnotateFilesRequest 715 raw := NoMethod(*s) 716 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 717} 718 719// AsyncBatchAnnotateFilesResponse: Response to an async batch file 720// annotation request. 721type AsyncBatchAnnotateFilesResponse struct { 722 // Responses: The list of file annotation responses, one for each 723 // request in 724 // AsyncBatchAnnotateFilesRequest. 725 Responses []*AsyncAnnotateFileResponse `json:"responses,omitempty"` 726 727 // ForceSendFields is a list of field names (e.g. "Responses") to 728 // unconditionally include in API requests. By default, fields with 729 // empty values are omitted from API requests. However, any non-pointer, 730 // non-interface field appearing in ForceSendFields will be sent to the 731 // server regardless of whether the field is empty or not. This may be 732 // used to include empty fields in Patch requests. 733 ForceSendFields []string `json:"-"` 734 735 // NullFields is a list of field names (e.g. "Responses") to include in 736 // API requests with the JSON null value. By default, fields with empty 737 // values are omitted from API requests. However, any field with an 738 // empty value appearing in NullFields will be sent to the server as 739 // null. It is an error if a field in this list has a non-empty value. 740 // This may be used to include null fields in Patch requests. 741 NullFields []string `json:"-"` 742} 743 744func (s *AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 745 type NoMethod AsyncBatchAnnotateFilesResponse 746 raw := NoMethod(*s) 747 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 748} 749 750// AsyncBatchAnnotateImagesRequest: Request for async image annotation 751// for a list of images. 752type AsyncBatchAnnotateImagesRequest struct { 753 // OutputConfig: Required. The desired output location and metadata 754 // (e.g. format). 755 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 756 757 // Parent: Optional. Target project and location to make a 758 // call. 759 // 760 // Format: `projects/{project-id}/locations/{location-id}`. 761 // 762 // If no parent is specified, a region will be chosen 763 // automatically. 764 // 765 // Supported location-ids: 766 // `us`: USA country only, 767 // `asia`: East asia areas, like Japan, Taiwan, 768 // `eu`: The European Union. 769 // 770 // Example: `projects/project-A/locations/eu`. 771 Parent string `json:"parent,omitempty"` 772 773 // Requests: Required. Individual image annotation requests for this 774 // batch. 775 Requests []*AnnotateImageRequest `json:"requests,omitempty"` 776 777 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 778 // unconditionally include in API requests. By default, fields with 779 // empty values are omitted from API requests. However, any non-pointer, 780 // non-interface field appearing in ForceSendFields will be sent to the 781 // server regardless of whether the field is empty or not. This may be 782 // used to include empty fields in Patch requests. 783 ForceSendFields []string `json:"-"` 784 785 // NullFields is a list of field names (e.g. "OutputConfig") to include 786 // in API requests with the JSON null value. By default, fields with 787 // empty values are omitted from API requests. However, any field with 788 // an empty value appearing in NullFields will be sent to the server as 789 // null. It is an error if a field in this list has a non-empty value. 790 // This may be used to include null fields in Patch requests. 791 NullFields []string `json:"-"` 792} 793 794func (s *AsyncBatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 795 type NoMethod AsyncBatchAnnotateImagesRequest 796 raw := NoMethod(*s) 797 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 798} 799 800// AsyncBatchAnnotateImagesResponse: Response to an async batch image 801// annotation request. 802type AsyncBatchAnnotateImagesResponse struct { 803 // OutputConfig: The output location and metadata from 804 // AsyncBatchAnnotateImagesRequest. 805 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 806 807 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 808 // unconditionally include in API requests. By default, fields with 809 // empty values are omitted from API requests. However, any non-pointer, 810 // non-interface field appearing in ForceSendFields will be sent to the 811 // server regardless of whether the field is empty or not. This may be 812 // used to include empty fields in Patch requests. 813 ForceSendFields []string `json:"-"` 814 815 // NullFields is a list of field names (e.g. "OutputConfig") to include 816 // in API requests with the JSON null value. By default, fields with 817 // empty values are omitted from API requests. However, any field with 818 // an empty value appearing in NullFields will be sent to the server as 819 // null. It is an error if a field in this list has a non-empty value. 820 // This may be used to include null fields in Patch requests. 821 NullFields []string `json:"-"` 822} 823 824func (s *AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 825 type NoMethod AsyncBatchAnnotateImagesResponse 826 raw := NoMethod(*s) 827 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 828} 829 830// BatchAnnotateFilesRequest: A list of requests to annotate files using 831// the BatchAnnotateFiles API. 832type BatchAnnotateFilesRequest struct { 833 // Parent: Optional. Target project and location to make a 834 // call. 835 // 836 // Format: `projects/{project-id}/locations/{location-id}`. 837 // 838 // If no parent is specified, a region will be chosen 839 // automatically. 840 // 841 // Supported location-ids: 842 // `us`: USA country only, 843 // `asia`: East asia areas, like Japan, Taiwan, 844 // `eu`: The European Union. 845 // 846 // Example: `projects/project-A/locations/eu`. 847 Parent string `json:"parent,omitempty"` 848 849 // Requests: Required. The list of file annotation requests. Right now 850 // we support only one 851 // AnnotateFileRequest in BatchAnnotateFilesRequest. 852 Requests []*AnnotateFileRequest `json:"requests,omitempty"` 853 854 // ForceSendFields is a list of field names (e.g. "Parent") to 855 // unconditionally include in API requests. By default, fields with 856 // empty values are omitted from API requests. However, any non-pointer, 857 // non-interface field appearing in ForceSendFields will be sent to the 858 // server regardless of whether the field is empty or not. This may be 859 // used to include empty fields in Patch requests. 860 ForceSendFields []string `json:"-"` 861 862 // NullFields is a list of field names (e.g. "Parent") to include in API 863 // requests with the JSON null value. By default, fields with empty 864 // values are omitted from API requests. However, any field with an 865 // empty value appearing in NullFields will be sent to the server as 866 // null. It is an error if a field in this list has a non-empty value. 867 // This may be used to include null fields in Patch requests. 868 NullFields []string `json:"-"` 869} 870 871func (s *BatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 872 type NoMethod BatchAnnotateFilesRequest 873 raw := NoMethod(*s) 874 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 875} 876 877// BatchAnnotateFilesResponse: A list of file annotation responses. 878type BatchAnnotateFilesResponse struct { 879 // Responses: The list of file annotation responses, each response 880 // corresponding to each 881 // AnnotateFileRequest in BatchAnnotateFilesRequest. 882 Responses []*AnnotateFileResponse `json:"responses,omitempty"` 883 884 // ServerResponse contains the HTTP response code and headers from the 885 // server. 886 googleapi.ServerResponse `json:"-"` 887 888 // ForceSendFields is a list of field names (e.g. "Responses") to 889 // unconditionally include in API requests. By default, fields with 890 // empty values are omitted from API requests. However, any non-pointer, 891 // non-interface field appearing in ForceSendFields will be sent to the 892 // server regardless of whether the field is empty or not. This may be 893 // used to include empty fields in Patch requests. 894 ForceSendFields []string `json:"-"` 895 896 // NullFields is a list of field names (e.g. "Responses") to include in 897 // API requests with the JSON null value. By default, fields with empty 898 // values are omitted from API requests. However, any field with an 899 // empty value appearing in NullFields will be sent to the server as 900 // null. It is an error if a field in this list has a non-empty value. 901 // This may be used to include null fields in Patch requests. 902 NullFields []string `json:"-"` 903} 904 905func (s *BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 906 type NoMethod BatchAnnotateFilesResponse 907 raw := NoMethod(*s) 908 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 909} 910 911// BatchAnnotateImagesRequest: Multiple image annotation requests are 912// batched into a single service call. 913type BatchAnnotateImagesRequest struct { 914 // Parent: Optional. Target project and location to make a 915 // call. 916 // 917 // Format: `projects/{project-id}/locations/{location-id}`. 918 // 919 // If no parent is specified, a region will be chosen 920 // automatically. 921 // 922 // Supported location-ids: 923 // `us`: USA country only, 924 // `asia`: East asia areas, like Japan, Taiwan, 925 // `eu`: The European Union. 926 // 927 // Example: `projects/project-A/locations/eu`. 928 Parent string `json:"parent,omitempty"` 929 930 // Requests: Required. Individual image annotation requests for this 931 // batch. 932 Requests []*AnnotateImageRequest `json:"requests,omitempty"` 933 934 // ForceSendFields is a list of field names (e.g. "Parent") to 935 // unconditionally include in API requests. By default, fields with 936 // empty values are omitted from API requests. However, any non-pointer, 937 // non-interface field appearing in ForceSendFields will be sent to the 938 // server regardless of whether the field is empty or not. This may be 939 // used to include empty fields in Patch requests. 940 ForceSendFields []string `json:"-"` 941 942 // NullFields is a list of field names (e.g. "Parent") to include in API 943 // requests with the JSON null value. By default, fields with empty 944 // values are omitted from API requests. However, any field with an 945 // empty value appearing in NullFields will be sent to the server as 946 // null. It is an error if a field in this list has a non-empty value. 947 // This may be used to include null fields in Patch requests. 948 NullFields []string `json:"-"` 949} 950 951func (s *BatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 952 type NoMethod BatchAnnotateImagesRequest 953 raw := NoMethod(*s) 954 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 955} 956 957// BatchAnnotateImagesResponse: Response to a batch image annotation 958// request. 959type BatchAnnotateImagesResponse struct { 960 // Responses: Individual responses to image annotation requests within 961 // the batch. 962 Responses []*AnnotateImageResponse `json:"responses,omitempty"` 963 964 // ServerResponse contains the HTTP response code and headers from the 965 // server. 966 googleapi.ServerResponse `json:"-"` 967 968 // ForceSendFields is a list of field names (e.g. "Responses") to 969 // unconditionally include in API requests. By default, fields with 970 // empty values are omitted from API requests. However, any non-pointer, 971 // non-interface field appearing in ForceSendFields will be sent to the 972 // server regardless of whether the field is empty or not. This may be 973 // used to include empty fields in Patch requests. 974 ForceSendFields []string `json:"-"` 975 976 // NullFields is a list of field names (e.g. "Responses") to include in 977 // API requests with the JSON null value. By default, fields with empty 978 // values are omitted from API requests. However, any field with an 979 // empty value appearing in NullFields will be sent to the server as 980 // null. It is an error if a field in this list has a non-empty value. 981 // This may be used to include null fields in Patch requests. 982 NullFields []string `json:"-"` 983} 984 985func (s *BatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 986 type NoMethod BatchAnnotateImagesResponse 987 raw := NoMethod(*s) 988 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 989} 990 991// BatchOperationMetadata: Metadata for the batch operations such as the 992// current state. 993// 994// This is included in the `metadata` field of the `Operation` returned 995// by the 996// `GetOperation` call of the `google::longrunning::Operations` service. 997type BatchOperationMetadata struct { 998 // EndTime: The time when the batch request is finished 999 // and 1000 // google.longrunning.Operation.done is set to true. 1001 EndTime string `json:"endTime,omitempty"` 1002 1003 // State: The current state of the batch operation. 1004 // 1005 // Possible values: 1006 // "STATE_UNSPECIFIED" - Invalid. 1007 // "PROCESSING" - Request is actively being processed. 1008 // "SUCCESSFUL" - The request is done and at least one item has been 1009 // successfully 1010 // processed. 1011 // "FAILED" - The request is done and no item has been successfully 1012 // processed. 1013 // "CANCELLED" - The request is done after the 1014 // longrunning.Operations.CancelOperation has 1015 // been called by the user. Any records that were processed before 1016 // the 1017 // cancel command are output as specified in the request. 1018 State string `json:"state,omitempty"` 1019 1020 // SubmitTime: The time when the batch request was submitted to the 1021 // server. 1022 SubmitTime string `json:"submitTime,omitempty"` 1023 1024 // ForceSendFields is a list of field names (e.g. "EndTime") to 1025 // unconditionally include in API requests. By default, fields with 1026 // empty values are omitted from API requests. However, any non-pointer, 1027 // non-interface field appearing in ForceSendFields will be sent to the 1028 // server regardless of whether the field is empty or not. This may be 1029 // used to include empty fields in Patch requests. 1030 ForceSendFields []string `json:"-"` 1031 1032 // NullFields is a list of field names (e.g. "EndTime") to include in 1033 // API requests with the JSON null value. By default, fields with empty 1034 // values are omitted from API requests. However, any field with an 1035 // empty value appearing in NullFields will be sent to the server as 1036 // null. It is an error if a field in this list has a non-empty value. 1037 // This may be used to include null fields in Patch requests. 1038 NullFields []string `json:"-"` 1039} 1040 1041func (s *BatchOperationMetadata) MarshalJSON() ([]byte, error) { 1042 type NoMethod BatchOperationMetadata 1043 raw := NoMethod(*s) 1044 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1045} 1046 1047// Block: Logical element on the page. 1048type Block struct { 1049 // BlockType: Detected block type (text, image etc) for this block. 1050 // 1051 // Possible values: 1052 // "UNKNOWN" - Unknown block type. 1053 // "TEXT" - Regular text block. 1054 // "TABLE" - Table block. 1055 // "PICTURE" - Image block. 1056 // "RULER" - Horizontal/vertical line box. 1057 // "BARCODE" - Barcode block. 1058 BlockType string `json:"blockType,omitempty"` 1059 1060 // BoundingBox: The bounding box for the block. 1061 // The vertices are in the order of top-left, top-right, 1062 // bottom-right, 1063 // bottom-left. When a rotation of the bounding box is detected the 1064 // rotation 1065 // is represented as around the top-left corner as defined when the text 1066 // is 1067 // read in the 'natural' orientation. 1068 // For example: 1069 // 1070 // * when the text is horizontal it might look like: 1071 // 1072 // 0----1 1073 // | | 1074 // 3----2 1075 // 1076 // * when it's rotated 180 degrees around the top-left corner it 1077 // becomes: 1078 // 1079 // 2----3 1080 // | | 1081 // 1----0 1082 // 1083 // and the vertex order will still be (0, 1, 2, 3). 1084 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 1085 1086 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 1087 Confidence float64 `json:"confidence,omitempty"` 1088 1089 // Paragraphs: List of paragraphs in this block (if this blocks is of 1090 // type text). 1091 Paragraphs []*Paragraph `json:"paragraphs,omitempty"` 1092 1093 // Property: Additional information detected for the block. 1094 Property *TextProperty `json:"property,omitempty"` 1095 1096 // ForceSendFields is a list of field names (e.g. "BlockType") to 1097 // unconditionally include in API requests. By default, fields with 1098 // empty values are omitted from API requests. However, any non-pointer, 1099 // non-interface field appearing in ForceSendFields will be sent to the 1100 // server regardless of whether the field is empty or not. This may be 1101 // used to include empty fields in Patch requests. 1102 ForceSendFields []string `json:"-"` 1103 1104 // NullFields is a list of field names (e.g. "BlockType") to include in 1105 // API requests with the JSON null value. By default, fields with empty 1106 // values are omitted from API requests. However, any field with an 1107 // empty value appearing in NullFields will be sent to the server as 1108 // null. It is an error if a field in this list has a non-empty value. 1109 // This may be used to include null fields in Patch requests. 1110 NullFields []string `json:"-"` 1111} 1112 1113func (s *Block) MarshalJSON() ([]byte, error) { 1114 type NoMethod Block 1115 raw := NoMethod(*s) 1116 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1117} 1118 1119func (s *Block) UnmarshalJSON(data []byte) error { 1120 type NoMethod Block 1121 var s1 struct { 1122 Confidence gensupport.JSONFloat64 `json:"confidence"` 1123 *NoMethod 1124 } 1125 s1.NoMethod = (*NoMethod)(s) 1126 if err := json.Unmarshal(data, &s1); err != nil { 1127 return err 1128 } 1129 s.Confidence = float64(s1.Confidence) 1130 return nil 1131} 1132 1133// BoundingPoly: A bounding polygon for the detected image annotation. 1134type BoundingPoly struct { 1135 // NormalizedVertices: The bounding polygon normalized vertices. 1136 NormalizedVertices []*NormalizedVertex `json:"normalizedVertices,omitempty"` 1137 1138 // Vertices: The bounding polygon vertices. 1139 Vertices []*Vertex `json:"vertices,omitempty"` 1140 1141 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 1142 // to unconditionally include in API requests. By default, fields with 1143 // empty values are omitted from API requests. However, any non-pointer, 1144 // non-interface field appearing in ForceSendFields will be sent to the 1145 // server regardless of whether the field is empty or not. This may be 1146 // used to include empty fields in Patch requests. 1147 ForceSendFields []string `json:"-"` 1148 1149 // NullFields is a list of field names (e.g. "NormalizedVertices") to 1150 // include in API requests with the JSON null value. By default, fields 1151 // with empty values are omitted from API requests. However, any field 1152 // with an empty value appearing in NullFields will be sent to the 1153 // server as null. It is an error if a field in this list has a 1154 // non-empty value. This may be used to include null fields in Patch 1155 // requests. 1156 NullFields []string `json:"-"` 1157} 1158 1159func (s *BoundingPoly) MarshalJSON() ([]byte, error) { 1160 type NoMethod BoundingPoly 1161 raw := NoMethod(*s) 1162 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1163} 1164 1165// CancelOperationRequest: The request message for 1166// Operations.CancelOperation. 1167type CancelOperationRequest struct { 1168} 1169 1170// Color: Represents a color in the RGBA color space. This 1171// representation is designed 1172// for simplicity of conversion to/from color representations in 1173// various 1174// languages over compactness; for example, the fields of this 1175// representation 1176// can be trivially provided to the constructor of "java.awt.Color" in 1177// Java; it 1178// can also be trivially provided to UIColor's 1179// "+colorWithRed:green:blue:alpha" 1180// method in iOS; and, with just a little work, it can be easily 1181// formatted into 1182// a CSS "rgba()" string in JavaScript, as well. 1183// 1184// Note: this proto does not carry information about the absolute color 1185// space 1186// that should be used to interpret the RGB value (e.g. sRGB, Adobe 1187// RGB, 1188// DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the 1189// sRGB color 1190// space. 1191// 1192// Example (Java): 1193// 1194// import com.google.type.Color; 1195// 1196// // ... 1197// public static java.awt.Color fromProto(Color protocolor) { 1198// float alpha = protocolor.hasAlpha() 1199// ? protocolor.getAlpha().getValue() 1200// : 1.0; 1201// 1202// return new java.awt.Color( 1203// protocolor.getRed(), 1204// protocolor.getGreen(), 1205// protocolor.getBlue(), 1206// alpha); 1207// } 1208// 1209// public static Color toProto(java.awt.Color color) { 1210// float red = (float) color.getRed(); 1211// float green = (float) color.getGreen(); 1212// float blue = (float) color.getBlue(); 1213// float denominator = 255.0; 1214// Color.Builder resultBuilder = 1215// Color 1216// .newBuilder() 1217// .setRed(red / denominator) 1218// .setGreen(green / denominator) 1219// .setBlue(blue / denominator); 1220// int alpha = color.getAlpha(); 1221// if (alpha != 255) { 1222// result.setAlpha( 1223// FloatValue 1224// .newBuilder() 1225// .setValue(((float) alpha) / denominator) 1226// .build()); 1227// } 1228// return resultBuilder.build(); 1229// } 1230// // ... 1231// 1232// Example (iOS / Obj-C): 1233// 1234// // ... 1235// static UIColor* fromProto(Color* protocolor) { 1236// float red = [protocolor red]; 1237// float green = [protocolor green]; 1238// float blue = [protocolor blue]; 1239// FloatValue* alpha_wrapper = [protocolor alpha]; 1240// float alpha = 1.0; 1241// if (alpha_wrapper != nil) { 1242// alpha = [alpha_wrapper value]; 1243// } 1244// return [UIColor colorWithRed:red green:green blue:blue 1245// alpha:alpha]; 1246// } 1247// 1248// static Color* toProto(UIColor* color) { 1249// CGFloat red, green, blue, alpha; 1250// if (![color getRed:&red green:&green blue:&blue 1251// alpha:&alpha]) { 1252// return nil; 1253// } 1254// Color* result = [[Color alloc] init]; 1255// [result setRed:red]; 1256// [result setGreen:green]; 1257// [result setBlue:blue]; 1258// if (alpha <= 0.9999) { 1259// [result setAlpha:floatWrapperWithValue(alpha)]; 1260// } 1261// [result autorelease]; 1262// return result; 1263// } 1264// // ... 1265// 1266// Example (JavaScript): 1267// 1268// // ... 1269// 1270// var protoToCssColor = function(rgb_color) { 1271// var redFrac = rgb_color.red || 0.0; 1272// var greenFrac = rgb_color.green || 0.0; 1273// var blueFrac = rgb_color.blue || 0.0; 1274// var red = Math.floor(redFrac * 255); 1275// var green = Math.floor(greenFrac * 255); 1276// var blue = Math.floor(blueFrac * 255); 1277// 1278// if (!('alpha' in rgb_color)) { 1279// return rgbToCssColor_(red, green, blue); 1280// } 1281// 1282// var alphaFrac = rgb_color.alpha.value || 0.0; 1283// var rgbParams = [red, green, blue].join(','); 1284// return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); 1285// }; 1286// 1287// var rgbToCssColor_ = function(red, green, blue) { 1288// var rgbNumber = new Number((red << 16) | (green << 8) | blue); 1289// var hexString = rgbNumber.toString(16); 1290// var missingZeros = 6 - hexString.length; 1291// var resultBuilder = ['#']; 1292// for (var i = 0; i < missingZeros; i++) { 1293// resultBuilder.push('0'); 1294// } 1295// resultBuilder.push(hexString); 1296// return resultBuilder.join(''); 1297// }; 1298// 1299// // ... 1300type Color struct { 1301 // Alpha: The fraction of this color that should be applied to the 1302 // pixel. That is, 1303 // the final pixel color is defined by the equation: 1304 // 1305 // pixel color = alpha * (this color) + (1.0 - alpha) * (background 1306 // color) 1307 // 1308 // This means that a value of 1.0 corresponds to a solid color, 1309 // whereas 1310 // a value of 0.0 corresponds to a completely transparent color. 1311 // This 1312 // uses a wrapper message rather than a simple float scalar so that it 1313 // is 1314 // possible to distinguish between a default value and the value being 1315 // unset. 1316 // If omitted, this color object is to be rendered as a solid color 1317 // (as if the alpha value had been explicitly given with a value of 1318 // 1.0). 1319 Alpha float64 `json:"alpha,omitempty"` 1320 1321 // Blue: The amount of blue in the color as a value in the interval [0, 1322 // 1]. 1323 Blue float64 `json:"blue,omitempty"` 1324 1325 // Green: The amount of green in the color as a value in the interval 1326 // [0, 1]. 1327 Green float64 `json:"green,omitempty"` 1328 1329 // Red: The amount of red in the color as a value in the interval [0, 1330 // 1]. 1331 Red float64 `json:"red,omitempty"` 1332 1333 // ForceSendFields is a list of field names (e.g. "Alpha") to 1334 // unconditionally include in API requests. By default, fields with 1335 // empty values are omitted from API requests. However, any non-pointer, 1336 // non-interface field appearing in ForceSendFields will be sent to the 1337 // server regardless of whether the field is empty or not. This may be 1338 // used to include empty fields in Patch requests. 1339 ForceSendFields []string `json:"-"` 1340 1341 // NullFields is a list of field names (e.g. "Alpha") to include in API 1342 // requests with the JSON null value. By default, fields with empty 1343 // values are omitted from API requests. However, any field with an 1344 // empty value appearing in NullFields will be sent to the server as 1345 // null. It is an error if a field in this list has a non-empty value. 1346 // This may be used to include null fields in Patch requests. 1347 NullFields []string `json:"-"` 1348} 1349 1350func (s *Color) MarshalJSON() ([]byte, error) { 1351 type NoMethod Color 1352 raw := NoMethod(*s) 1353 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1354} 1355 1356func (s *Color) UnmarshalJSON(data []byte) error { 1357 type NoMethod Color 1358 var s1 struct { 1359 Alpha gensupport.JSONFloat64 `json:"alpha"` 1360 Blue gensupport.JSONFloat64 `json:"blue"` 1361 Green gensupport.JSONFloat64 `json:"green"` 1362 Red gensupport.JSONFloat64 `json:"red"` 1363 *NoMethod 1364 } 1365 s1.NoMethod = (*NoMethod)(s) 1366 if err := json.Unmarshal(data, &s1); err != nil { 1367 return err 1368 } 1369 s.Alpha = float64(s1.Alpha) 1370 s.Blue = float64(s1.Blue) 1371 s.Green = float64(s1.Green) 1372 s.Red = float64(s1.Red) 1373 return nil 1374} 1375 1376// ColorInfo: Color information consists of RGB channels, score, and the 1377// fraction of 1378// the image that the color occupies in the image. 1379type ColorInfo struct { 1380 // Color: RGB components of the color. 1381 Color *Color `json:"color,omitempty"` 1382 1383 // PixelFraction: The fraction of pixels the color occupies in the 1384 // image. 1385 // Value in range [0, 1]. 1386 PixelFraction float64 `json:"pixelFraction,omitempty"` 1387 1388 // Score: Image-specific score for this color. Value in range [0, 1]. 1389 Score float64 `json:"score,omitempty"` 1390 1391 // ForceSendFields is a list of field names (e.g. "Color") to 1392 // unconditionally include in API requests. By default, fields with 1393 // empty values are omitted from API requests. However, any non-pointer, 1394 // non-interface field appearing in ForceSendFields will be sent to the 1395 // server regardless of whether the field is empty or not. This may be 1396 // used to include empty fields in Patch requests. 1397 ForceSendFields []string `json:"-"` 1398 1399 // NullFields is a list of field names (e.g. "Color") to include in API 1400 // requests with the JSON null value. By default, fields with empty 1401 // values are omitted from API requests. However, any field with an 1402 // empty value appearing in NullFields will be sent to the server as 1403 // null. It is an error if a field in this list has a non-empty value. 1404 // This may be used to include null fields in Patch requests. 1405 NullFields []string `json:"-"` 1406} 1407 1408func (s *ColorInfo) MarshalJSON() ([]byte, error) { 1409 type NoMethod ColorInfo 1410 raw := NoMethod(*s) 1411 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1412} 1413 1414func (s *ColorInfo) UnmarshalJSON(data []byte) error { 1415 type NoMethod ColorInfo 1416 var s1 struct { 1417 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 1418 Score gensupport.JSONFloat64 `json:"score"` 1419 *NoMethod 1420 } 1421 s1.NoMethod = (*NoMethod)(s) 1422 if err := json.Unmarshal(data, &s1); err != nil { 1423 return err 1424 } 1425 s.PixelFraction = float64(s1.PixelFraction) 1426 s.Score = float64(s1.Score) 1427 return nil 1428} 1429 1430// CropHint: Single crop hint that is used to generate a new crop when 1431// serving an image. 1432type CropHint struct { 1433 // BoundingPoly: The bounding polygon for the crop region. The 1434 // coordinates of the bounding 1435 // box are in the original image's scale. 1436 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1437 1438 // Confidence: Confidence of this being a salient region. Range [0, 1]. 1439 Confidence float64 `json:"confidence,omitempty"` 1440 1441 // ImportanceFraction: Fraction of importance of this salient region 1442 // with respect to the original 1443 // image. 1444 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 1445 1446 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1447 // unconditionally include in API requests. By default, fields with 1448 // empty values are omitted from API requests. However, any non-pointer, 1449 // non-interface field appearing in ForceSendFields will be sent to the 1450 // server regardless of whether the field is empty or not. This may be 1451 // used to include empty fields in Patch requests. 1452 ForceSendFields []string `json:"-"` 1453 1454 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1455 // in API requests with the JSON null value. By default, fields with 1456 // empty values are omitted from API requests. However, any field with 1457 // an empty value appearing in NullFields will be sent to the server as 1458 // null. It is an error if a field in this list has a non-empty value. 1459 // This may be used to include null fields in Patch requests. 1460 NullFields []string `json:"-"` 1461} 1462 1463func (s *CropHint) MarshalJSON() ([]byte, error) { 1464 type NoMethod CropHint 1465 raw := NoMethod(*s) 1466 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1467} 1468 1469func (s *CropHint) UnmarshalJSON(data []byte) error { 1470 type NoMethod CropHint 1471 var s1 struct { 1472 Confidence gensupport.JSONFloat64 `json:"confidence"` 1473 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 1474 *NoMethod 1475 } 1476 s1.NoMethod = (*NoMethod)(s) 1477 if err := json.Unmarshal(data, &s1); err != nil { 1478 return err 1479 } 1480 s.Confidence = float64(s1.Confidence) 1481 s.ImportanceFraction = float64(s1.ImportanceFraction) 1482 return nil 1483} 1484 1485// CropHintsAnnotation: Set of crop hints that are used to generate new 1486// crops when serving images. 1487type CropHintsAnnotation struct { 1488 // CropHints: Crop hint results. 1489 CropHints []*CropHint `json:"cropHints,omitempty"` 1490 1491 // ForceSendFields is a list of field names (e.g. "CropHints") to 1492 // unconditionally include in API requests. By default, fields with 1493 // empty values are omitted from API requests. However, any non-pointer, 1494 // non-interface field appearing in ForceSendFields will be sent to the 1495 // server regardless of whether the field is empty or not. This may be 1496 // used to include empty fields in Patch requests. 1497 ForceSendFields []string `json:"-"` 1498 1499 // NullFields is a list of field names (e.g. "CropHints") to include in 1500 // API requests with the JSON null value. By default, fields with empty 1501 // values are omitted from API requests. However, any field with an 1502 // empty value appearing in NullFields will be sent to the server as 1503 // null. It is an error if a field in this list has a non-empty value. 1504 // This may be used to include null fields in Patch requests. 1505 NullFields []string `json:"-"` 1506} 1507 1508func (s *CropHintsAnnotation) MarshalJSON() ([]byte, error) { 1509 type NoMethod CropHintsAnnotation 1510 raw := NoMethod(*s) 1511 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1512} 1513 1514// CropHintsParams: Parameters for crop hints annotation request. 1515type CropHintsParams struct { 1516 // AspectRatios: Aspect ratios in floats, representing the ratio of the 1517 // width to the height 1518 // of the image. For example, if the desired aspect ratio is 4/3, 1519 // the 1520 // corresponding float value should be 1.33333. If not specified, 1521 // the 1522 // best possible crop is returned. The number of provided aspect ratios 1523 // is 1524 // limited to a maximum of 16; any aspect ratios provided after the 16th 1525 // are 1526 // ignored. 1527 AspectRatios []float64 `json:"aspectRatios,omitempty"` 1528 1529 // ForceSendFields is a list of field names (e.g. "AspectRatios") to 1530 // unconditionally include in API requests. By default, fields with 1531 // empty values are omitted from API requests. However, any non-pointer, 1532 // non-interface field appearing in ForceSendFields will be sent to the 1533 // server regardless of whether the field is empty or not. This may be 1534 // used to include empty fields in Patch requests. 1535 ForceSendFields []string `json:"-"` 1536 1537 // NullFields is a list of field names (e.g. "AspectRatios") to include 1538 // in API requests with the JSON null value. By default, fields with 1539 // empty values are omitted from API requests. However, any field with 1540 // an empty value appearing in NullFields will be sent to the server as 1541 // null. It is an error if a field in this list has a non-empty value. 1542 // This may be used to include null fields in Patch requests. 1543 NullFields []string `json:"-"` 1544} 1545 1546func (s *CropHintsParams) MarshalJSON() ([]byte, error) { 1547 type NoMethod CropHintsParams 1548 raw := NoMethod(*s) 1549 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1550} 1551 1552// DetectedBreak: Detected start or end of a structural component. 1553type DetectedBreak struct { 1554 // IsPrefix: True if break prepends the element. 1555 IsPrefix bool `json:"isPrefix,omitempty"` 1556 1557 // Type: Detected break type. 1558 // 1559 // Possible values: 1560 // "UNKNOWN" - Unknown break label type. 1561 // "SPACE" - Regular space. 1562 // "SURE_SPACE" - Sure space (very wide). 1563 // "EOL_SURE_SPACE" - Line-wrapping break. 1564 // "HYPHEN" - End-line hyphen that is not present in text; does not 1565 // co-occur with 1566 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 1567 // "LINE_BREAK" - Line break that ends a paragraph. 1568 Type string `json:"type,omitempty"` 1569 1570 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 1571 // unconditionally include in API requests. By default, fields with 1572 // empty values are omitted from API requests. However, any non-pointer, 1573 // non-interface field appearing in ForceSendFields will be sent to the 1574 // server regardless of whether the field is empty or not. This may be 1575 // used to include empty fields in Patch requests. 1576 ForceSendFields []string `json:"-"` 1577 1578 // NullFields is a list of field names (e.g. "IsPrefix") to include in 1579 // API requests with the JSON null value. By default, fields with empty 1580 // values are omitted from API requests. However, any field with an 1581 // empty value appearing in NullFields will be sent to the server as 1582 // null. It is an error if a field in this list has a non-empty value. 1583 // This may be used to include null fields in Patch requests. 1584 NullFields []string `json:"-"` 1585} 1586 1587func (s *DetectedBreak) MarshalJSON() ([]byte, error) { 1588 type NoMethod DetectedBreak 1589 raw := NoMethod(*s) 1590 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1591} 1592 1593// DetectedLanguage: Detected language for a structural component. 1594type DetectedLanguage struct { 1595 // Confidence: Confidence of detected language. Range [0, 1]. 1596 Confidence float64 `json:"confidence,omitempty"` 1597 1598 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 1599 // For more 1600 // information, 1601 // see 1602 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 1603 LanguageCode string `json:"languageCode,omitempty"` 1604 1605 // ForceSendFields is a list of field names (e.g. "Confidence") to 1606 // unconditionally include in API requests. By default, fields with 1607 // empty values are omitted from API requests. However, any non-pointer, 1608 // non-interface field appearing in ForceSendFields will be sent to the 1609 // server regardless of whether the field is empty or not. This may be 1610 // used to include empty fields in Patch requests. 1611 ForceSendFields []string `json:"-"` 1612 1613 // NullFields is a list of field names (e.g. "Confidence") to include in 1614 // API requests with the JSON null value. By default, fields with empty 1615 // values are omitted from API requests. However, any field with an 1616 // empty value appearing in NullFields will be sent to the server as 1617 // null. It is an error if a field in this list has a non-empty value. 1618 // This may be used to include null fields in Patch requests. 1619 NullFields []string `json:"-"` 1620} 1621 1622func (s *DetectedLanguage) MarshalJSON() ([]byte, error) { 1623 type NoMethod DetectedLanguage 1624 raw := NoMethod(*s) 1625 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1626} 1627 1628func (s *DetectedLanguage) UnmarshalJSON(data []byte) error { 1629 type NoMethod DetectedLanguage 1630 var s1 struct { 1631 Confidence gensupport.JSONFloat64 `json:"confidence"` 1632 *NoMethod 1633 } 1634 s1.NoMethod = (*NoMethod)(s) 1635 if err := json.Unmarshal(data, &s1); err != nil { 1636 return err 1637 } 1638 s.Confidence = float64(s1.Confidence) 1639 return nil 1640} 1641 1642// DominantColorsAnnotation: Set of dominant colors and their 1643// corresponding scores. 1644type DominantColorsAnnotation struct { 1645 // Colors: RGB color values with their score and pixel fraction. 1646 Colors []*ColorInfo `json:"colors,omitempty"` 1647 1648 // ForceSendFields is a list of field names (e.g. "Colors") to 1649 // unconditionally include in API requests. By default, fields with 1650 // empty values are omitted from API requests. However, any non-pointer, 1651 // non-interface field appearing in ForceSendFields will be sent to the 1652 // server regardless of whether the field is empty or not. This may be 1653 // used to include empty fields in Patch requests. 1654 ForceSendFields []string `json:"-"` 1655 1656 // NullFields is a list of field names (e.g. "Colors") to include in API 1657 // requests with the JSON null value. By default, fields with empty 1658 // values are omitted from API requests. However, any field with an 1659 // empty value appearing in NullFields will be sent to the server as 1660 // null. It is an error if a field in this list has a non-empty value. 1661 // This may be used to include null fields in Patch requests. 1662 NullFields []string `json:"-"` 1663} 1664 1665func (s *DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 1666 type NoMethod DominantColorsAnnotation 1667 raw := NoMethod(*s) 1668 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1669} 1670 1671// Empty: A generic empty message that you can re-use to avoid defining 1672// duplicated 1673// empty messages in your APIs. A typical example is to use it as the 1674// request 1675// or the response type of an API method. For instance: 1676// 1677// service Foo { 1678// rpc Bar(google.protobuf.Empty) returns 1679// (google.protobuf.Empty); 1680// } 1681// 1682// The JSON representation for `Empty` is empty JSON object `{}`. 1683type Empty struct { 1684 // ServerResponse contains the HTTP response code and headers from the 1685 // server. 1686 googleapi.ServerResponse `json:"-"` 1687} 1688 1689// EntityAnnotation: Set of detected entity features. 1690type EntityAnnotation struct { 1691 // BoundingPoly: Image region to which this entity belongs. Not 1692 // produced 1693 // for `LABEL_DETECTION` features. 1694 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1695 1696 // Confidence: **Deprecated. Use `score` instead.** 1697 // The accuracy of the entity detection in an image. 1698 // For example, for an image in which the "Eiffel Tower" entity is 1699 // detected, 1700 // this field represents the confidence that there is a tower in the 1701 // query 1702 // image. Range [0, 1]. 1703 Confidence float64 `json:"confidence,omitempty"` 1704 1705 // Description: Entity textual description, expressed in its `locale` 1706 // language. 1707 Description string `json:"description,omitempty"` 1708 1709 // Locale: The language code for the locale in which the entity 1710 // textual 1711 // `description` is expressed. 1712 Locale string `json:"locale,omitempty"` 1713 1714 // Locations: The location information for the detected entity. 1715 // Multiple 1716 // `LocationInfo` elements can be present because one location 1717 // may 1718 // indicate the location of the scene in the image, and another 1719 // location 1720 // may indicate the location of the place where the image was 1721 // taken. 1722 // Location information is usually present for landmarks. 1723 Locations []*LocationInfo `json:"locations,omitempty"` 1724 1725 // Mid: Opaque entity ID. Some IDs may be available in 1726 // [Google Knowledge Graph 1727 // Search 1728 // API](https://developers.google.com/knowledge-graph/). 1729 Mid string `json:"mid,omitempty"` 1730 1731 // Properties: Some entities may have optional user-supplied `Property` 1732 // (name/value) 1733 // fields, such a score or string that qualifies the entity. 1734 Properties []*Property `json:"properties,omitempty"` 1735 1736 // Score: Overall score of the result. Range [0, 1]. 1737 Score float64 `json:"score,omitempty"` 1738 1739 // Topicality: The relevancy of the ICA (Image Content Annotation) label 1740 // to the 1741 // image. For example, the relevancy of "tower" is likely higher to an 1742 // image 1743 // containing the detected "Eiffel Tower" than to an image containing 1744 // a 1745 // detected distant towering building, even though the confidence 1746 // that 1747 // there is a tower in each image may be the same. Range [0, 1]. 1748 Topicality float64 `json:"topicality,omitempty"` 1749 1750 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1751 // unconditionally include in API requests. By default, fields with 1752 // empty values are omitted from API requests. However, any non-pointer, 1753 // non-interface field appearing in ForceSendFields will be sent to the 1754 // server regardless of whether the field is empty or not. This may be 1755 // used to include empty fields in Patch requests. 1756 ForceSendFields []string `json:"-"` 1757 1758 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1759 // in API requests with the JSON null value. By default, fields with 1760 // empty values are omitted from API requests. However, any field with 1761 // an empty value appearing in NullFields will be sent to the server as 1762 // null. It is an error if a field in this list has a non-empty value. 1763 // This may be used to include null fields in Patch requests. 1764 NullFields []string `json:"-"` 1765} 1766 1767func (s *EntityAnnotation) MarshalJSON() ([]byte, error) { 1768 type NoMethod EntityAnnotation 1769 raw := NoMethod(*s) 1770 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1771} 1772 1773func (s *EntityAnnotation) UnmarshalJSON(data []byte) error { 1774 type NoMethod EntityAnnotation 1775 var s1 struct { 1776 Confidence gensupport.JSONFloat64 `json:"confidence"` 1777 Score gensupport.JSONFloat64 `json:"score"` 1778 Topicality gensupport.JSONFloat64 `json:"topicality"` 1779 *NoMethod 1780 } 1781 s1.NoMethod = (*NoMethod)(s) 1782 if err := json.Unmarshal(data, &s1); err != nil { 1783 return err 1784 } 1785 s.Confidence = float64(s1.Confidence) 1786 s.Score = float64(s1.Score) 1787 s.Topicality = float64(s1.Topicality) 1788 return nil 1789} 1790 1791// FaceAnnotation: A face annotation object contains the results of face 1792// detection. 1793type FaceAnnotation struct { 1794 // AngerLikelihood: Anger likelihood. 1795 // 1796 // Possible values: 1797 // "UNKNOWN" - Unknown likelihood. 1798 // "VERY_UNLIKELY" - It is very unlikely. 1799 // "UNLIKELY" - It is unlikely. 1800 // "POSSIBLE" - It is possible. 1801 // "LIKELY" - It is likely. 1802 // "VERY_LIKELY" - It is very likely. 1803 AngerLikelihood string `json:"angerLikelihood,omitempty"` 1804 1805 // BlurredLikelihood: Blurred likelihood. 1806 // 1807 // Possible values: 1808 // "UNKNOWN" - Unknown likelihood. 1809 // "VERY_UNLIKELY" - It is very unlikely. 1810 // "UNLIKELY" - It is unlikely. 1811 // "POSSIBLE" - It is possible. 1812 // "LIKELY" - It is likely. 1813 // "VERY_LIKELY" - It is very likely. 1814 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 1815 1816 // BoundingPoly: The bounding polygon around the face. The coordinates 1817 // of the bounding box 1818 // are in the original image's scale. 1819 // The bounding box is computed to "frame" the face in accordance with 1820 // human 1821 // expectations. It is based on the landmarker results. 1822 // Note that one or more x and/or y coordinates may not be generated in 1823 // the 1824 // `BoundingPoly` (the polygon will be unbounded) if only a partial 1825 // face 1826 // appears in the image to be annotated. 1827 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1828 1829 // DetectionConfidence: Detection confidence. Range [0, 1]. 1830 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 1831 1832 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 1833 // than the 1834 // `boundingPoly`, and encloses only the skin part of the face. 1835 // Typically, it 1836 // is used to eliminate the face from any image analysis that detects 1837 // the 1838 // "amount of skin" visible in an image. It is not based on 1839 // the 1840 // landmarker results, only on the initial face detection, hence 1841 // the <code>fd</code> (face detection) prefix. 1842 FdBoundingPoly *BoundingPoly `json:"fdBoundingPoly,omitempty"` 1843 1844 // HeadwearLikelihood: Headwear likelihood. 1845 // 1846 // Possible values: 1847 // "UNKNOWN" - Unknown likelihood. 1848 // "VERY_UNLIKELY" - It is very unlikely. 1849 // "UNLIKELY" - It is unlikely. 1850 // "POSSIBLE" - It is possible. 1851 // "LIKELY" - It is likely. 1852 // "VERY_LIKELY" - It is very likely. 1853 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 1854 1855 // JoyLikelihood: Joy likelihood. 1856 // 1857 // Possible values: 1858 // "UNKNOWN" - Unknown likelihood. 1859 // "VERY_UNLIKELY" - It is very unlikely. 1860 // "UNLIKELY" - It is unlikely. 1861 // "POSSIBLE" - It is possible. 1862 // "LIKELY" - It is likely. 1863 // "VERY_LIKELY" - It is very likely. 1864 JoyLikelihood string `json:"joyLikelihood,omitempty"` 1865 1866 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 1867 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 1868 1869 // Landmarks: Detected face landmarks. 1870 Landmarks []*Landmark `json:"landmarks,omitempty"` 1871 1872 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 1873 // that the face is 1874 // pointing relative to the vertical plane perpendicular to the image. 1875 // Range 1876 // [-180,180]. 1877 PanAngle float64 `json:"panAngle,omitempty"` 1878 1879 // RollAngle: Roll angle, which indicates the amount of 1880 // clockwise/anti-clockwise rotation 1881 // of the face relative to the image vertical about the axis 1882 // perpendicular to 1883 // the face. Range [-180,180]. 1884 RollAngle float64 `json:"rollAngle,omitempty"` 1885 1886 // SorrowLikelihood: Sorrow likelihood. 1887 // 1888 // Possible values: 1889 // "UNKNOWN" - Unknown likelihood. 1890 // "VERY_UNLIKELY" - It is very unlikely. 1891 // "UNLIKELY" - It is unlikely. 1892 // "POSSIBLE" - It is possible. 1893 // "LIKELY" - It is likely. 1894 // "VERY_LIKELY" - It is very likely. 1895 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 1896 1897 // SurpriseLikelihood: Surprise likelihood. 1898 // 1899 // Possible values: 1900 // "UNKNOWN" - Unknown likelihood. 1901 // "VERY_UNLIKELY" - It is very unlikely. 1902 // "UNLIKELY" - It is unlikely. 1903 // "POSSIBLE" - It is possible. 1904 // "LIKELY" - It is likely. 1905 // "VERY_LIKELY" - It is very likely. 1906 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 1907 1908 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 1909 // that the face is 1910 // pointing relative to the image's horizontal plane. Range [-180,180]. 1911 TiltAngle float64 `json:"tiltAngle,omitempty"` 1912 1913 // UnderExposedLikelihood: Under-exposed likelihood. 1914 // 1915 // Possible values: 1916 // "UNKNOWN" - Unknown likelihood. 1917 // "VERY_UNLIKELY" - It is very unlikely. 1918 // "UNLIKELY" - It is unlikely. 1919 // "POSSIBLE" - It is possible. 1920 // "LIKELY" - It is likely. 1921 // "VERY_LIKELY" - It is very likely. 1922 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 1923 1924 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 1925 // unconditionally include in API requests. By default, fields with 1926 // empty values are omitted from API requests. However, any non-pointer, 1927 // non-interface field appearing in ForceSendFields will be sent to the 1928 // server regardless of whether the field is empty or not. This may be 1929 // used to include empty fields in Patch requests. 1930 ForceSendFields []string `json:"-"` 1931 1932 // NullFields is a list of field names (e.g. "AngerLikelihood") to 1933 // include in API requests with the JSON null value. By default, fields 1934 // with empty values are omitted from API requests. However, any field 1935 // with an empty value appearing in NullFields will be sent to the 1936 // server as null. It is an error if a field in this list has a 1937 // non-empty value. This may be used to include null fields in Patch 1938 // requests. 1939 NullFields []string `json:"-"` 1940} 1941 1942func (s *FaceAnnotation) MarshalJSON() ([]byte, error) { 1943 type NoMethod FaceAnnotation 1944 raw := NoMethod(*s) 1945 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1946} 1947 1948func (s *FaceAnnotation) UnmarshalJSON(data []byte) error { 1949 type NoMethod FaceAnnotation 1950 var s1 struct { 1951 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 1952 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 1953 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 1954 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 1955 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 1956 *NoMethod 1957 } 1958 s1.NoMethod = (*NoMethod)(s) 1959 if err := json.Unmarshal(data, &s1); err != nil { 1960 return err 1961 } 1962 s.DetectionConfidence = float64(s1.DetectionConfidence) 1963 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 1964 s.PanAngle = float64(s1.PanAngle) 1965 s.RollAngle = float64(s1.RollAngle) 1966 s.TiltAngle = float64(s1.TiltAngle) 1967 return nil 1968} 1969 1970// Feature: The type of Google Cloud Vision API detection to perform, 1971// and the maximum 1972// number of results to return for that type. Multiple `Feature` objects 1973// can 1974// be specified in the `features` list. 1975type Feature struct { 1976 // MaxResults: Maximum number of results of this type. Does not apply 1977 // to 1978 // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. 1979 MaxResults int64 `json:"maxResults,omitempty"` 1980 1981 // Model: Model to use for the feature. 1982 // Supported values: "builtin/stable" (the default if unset) 1983 // and 1984 // "builtin/latest". 1985 Model string `json:"model,omitempty"` 1986 1987 // Type: The feature type. 1988 // 1989 // Possible values: 1990 // "TYPE_UNSPECIFIED" - Unspecified feature type. 1991 // "FACE_DETECTION" - Run face detection. 1992 // "LANDMARK_DETECTION" - Run landmark detection. 1993 // "LOGO_DETECTION" - Run logo detection. 1994 // "LABEL_DETECTION" - Run label detection. 1995 // "TEXT_DETECTION" - Run text detection / optical character 1996 // recognition (OCR). Text detection 1997 // is optimized for areas of text within a larger image; if the image 1998 // is 1999 // a document, use `DOCUMENT_TEXT_DETECTION` instead. 2000 // "DOCUMENT_TEXT_DETECTION" - Run dense text document OCR. Takes 2001 // precedence when both 2002 // `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. 2003 // "SAFE_SEARCH_DETECTION" - Run Safe Search to detect potentially 2004 // unsafe 2005 // or undesirable content. 2006 // "IMAGE_PROPERTIES" - Compute a set of image properties, such as 2007 // the 2008 // image's dominant colors. 2009 // "CROP_HINTS" - Run crop hints. 2010 // "WEB_DETECTION" - Run web detection. 2011 // "PRODUCT_SEARCH" - Run Product Search. 2012 // "OBJECT_LOCALIZATION" - Run localizer for object detection. 2013 Type string `json:"type,omitempty"` 2014 2015 // ForceSendFields is a list of field names (e.g. "MaxResults") to 2016 // unconditionally include in API requests. By default, fields with 2017 // empty values are omitted from API requests. However, any non-pointer, 2018 // non-interface field appearing in ForceSendFields will be sent to the 2019 // server regardless of whether the field is empty or not. This may be 2020 // used to include empty fields in Patch requests. 2021 ForceSendFields []string `json:"-"` 2022 2023 // NullFields is a list of field names (e.g. "MaxResults") to include in 2024 // API requests with the JSON null value. By default, fields with empty 2025 // values are omitted from API requests. However, any field with an 2026 // empty value appearing in NullFields will be sent to the server as 2027 // null. It is an error if a field in this list has a non-empty value. 2028 // This may be used to include null fields in Patch requests. 2029 NullFields []string `json:"-"` 2030} 2031 2032func (s *Feature) MarshalJSON() ([]byte, error) { 2033 type NoMethod Feature 2034 raw := NoMethod(*s) 2035 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2036} 2037 2038// GcsDestination: The Google Cloud Storage location where the output 2039// will be written to. 2040type GcsDestination struct { 2041 // Uri: Google Cloud Storage URI prefix where the results will be 2042 // stored. Results 2043 // will be in JSON format and preceded by its corresponding input URI 2044 // prefix. 2045 // This field can either represent a gcs file prefix or gcs directory. 2046 // In 2047 // either case, the uri should be unique because in order to get all of 2048 // the 2049 // output files, you will need to do a wildcard gcs search on the uri 2050 // prefix 2051 // you provide. 2052 // 2053 // Examples: 2054 // 2055 // * File Prefix: gs://bucket-name/here/filenameprefix The output 2056 // files 2057 // will be created in gs://bucket-name/here/ and the names of the 2058 // output files will begin with "filenameprefix". 2059 // 2060 // * Directory Prefix: gs://bucket-name/some/location/ The output 2061 // files 2062 // will be created in gs://bucket-name/some/location/ and the names of 2063 // the 2064 // output files could be anything because there was no filename 2065 // prefix 2066 // specified. 2067 // 2068 // If multiple outputs, each response is still AnnotateFileResponse, 2069 // each of 2070 // which contains some subset of the full list of 2071 // AnnotateImageResponse. 2072 // Multiple outputs can happen if, for example, the output JSON is too 2073 // large 2074 // and overflows into multiple sharded files. 2075 Uri string `json:"uri,omitempty"` 2076 2077 // ForceSendFields is a list of field names (e.g. "Uri") to 2078 // unconditionally include in API requests. By default, fields with 2079 // empty values are omitted from API requests. However, any non-pointer, 2080 // non-interface field appearing in ForceSendFields will be sent to the 2081 // server regardless of whether the field is empty or not. This may be 2082 // used to include empty fields in Patch requests. 2083 ForceSendFields []string `json:"-"` 2084 2085 // NullFields is a list of field names (e.g. "Uri") to include in API 2086 // requests with the JSON null value. By default, fields with empty 2087 // values are omitted from API requests. However, any field with an 2088 // empty value appearing in NullFields will be sent to the server as 2089 // null. It is an error if a field in this list has a non-empty value. 2090 // This may be used to include null fields in Patch requests. 2091 NullFields []string `json:"-"` 2092} 2093 2094func (s *GcsDestination) MarshalJSON() ([]byte, error) { 2095 type NoMethod GcsDestination 2096 raw := NoMethod(*s) 2097 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2098} 2099 2100// GcsSource: The Google Cloud Storage location where the input will be 2101// read from. 2102type GcsSource struct { 2103 // Uri: Google Cloud Storage URI for the input file. This must only be 2104 // a 2105 // Google Cloud Storage object. Wildcards are not currently supported. 2106 Uri string `json:"uri,omitempty"` 2107 2108 // ForceSendFields is a list of field names (e.g. "Uri") to 2109 // unconditionally include in API requests. By default, fields with 2110 // empty values are omitted from API requests. However, any non-pointer, 2111 // non-interface field appearing in ForceSendFields will be sent to the 2112 // server regardless of whether the field is empty or not. This may be 2113 // used to include empty fields in Patch requests. 2114 ForceSendFields []string `json:"-"` 2115 2116 // NullFields is a list of field names (e.g. "Uri") to include in API 2117 // requests with the JSON null value. By default, fields with empty 2118 // values are omitted from API requests. However, any field with an 2119 // empty value appearing in NullFields will be sent to the server as 2120 // null. It is an error if a field in this list has a non-empty value. 2121 // This may be used to include null fields in Patch requests. 2122 NullFields []string `json:"-"` 2123} 2124 2125func (s *GcsSource) MarshalJSON() ([]byte, error) { 2126 type NoMethod GcsSource 2127 raw := NoMethod(*s) 2128 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2129} 2130 2131// GoogleCloudVisionV1p1beta1AnnotateFileResponse: Response to a single 2132// file annotation request. A file may contain one or more 2133// images, which individually have their own responses. 2134type GoogleCloudVisionV1p1beta1AnnotateFileResponse struct { 2135 // Error: If set, represents the error message for the failed request. 2136 // The 2137 // `responses` field will not be set in this case. 2138 Error *Status `json:"error,omitempty"` 2139 2140 // InputConfig: Information about the file for which this response is 2141 // generated. 2142 InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"` 2143 2144 // Responses: Individual responses to images found within the file. This 2145 // field will be 2146 // empty if the `error` field is set. 2147 Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"` 2148 2149 // TotalPages: This field gives the total number of pages in the file. 2150 TotalPages int64 `json:"totalPages,omitempty"` 2151 2152 // ForceSendFields is a list of field names (e.g. "Error") to 2153 // unconditionally include in API requests. By default, fields with 2154 // empty values are omitted from API requests. However, any non-pointer, 2155 // non-interface field appearing in ForceSendFields will be sent to the 2156 // server regardless of whether the field is empty or not. This may be 2157 // used to include empty fields in Patch requests. 2158 ForceSendFields []string `json:"-"` 2159 2160 // NullFields is a list of field names (e.g. "Error") to include in API 2161 // requests with the JSON null value. By default, fields with empty 2162 // values are omitted from API requests. However, any field with an 2163 // empty value appearing in NullFields will be sent to the server as 2164 // null. It is an error if a field in this list has a non-empty value. 2165 // This may be used to include null fields in Patch requests. 2166 NullFields []string `json:"-"` 2167} 2168 2169func (s *GoogleCloudVisionV1p1beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 2170 type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileResponse 2171 raw := NoMethod(*s) 2172 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2173} 2174 2175// GoogleCloudVisionV1p1beta1AnnotateImageResponse: Response to an image 2176// annotation request. 2177type GoogleCloudVisionV1p1beta1AnnotateImageResponse struct { 2178 // Context: If present, contextual information is needed to understand 2179 // where this image 2180 // comes from. 2181 Context *GoogleCloudVisionV1p1beta1ImageAnnotationContext `json:"context,omitempty"` 2182 2183 // CropHintsAnnotation: If present, crop hints have completed 2184 // successfully. 2185 CropHintsAnnotation *GoogleCloudVisionV1p1beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 2186 2187 // Error: If set, represents the error message for the operation. 2188 // Note that filled-in image annotations are guaranteed to be 2189 // correct, even when `error` is set. 2190 Error *Status `json:"error,omitempty"` 2191 2192 // FaceAnnotations: If present, face detection has completed 2193 // successfully. 2194 FaceAnnotations []*GoogleCloudVisionV1p1beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 2195 2196 // FullTextAnnotation: If present, text (OCR) detection or document 2197 // (OCR) text detection has 2198 // completed successfully. 2199 // This annotation provides the structural hierarchy for the OCR 2200 // detected 2201 // text. 2202 FullTextAnnotation *GoogleCloudVisionV1p1beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 2203 2204 // ImagePropertiesAnnotation: If present, image properties were 2205 // extracted successfully. 2206 ImagePropertiesAnnotation *GoogleCloudVisionV1p1beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 2207 2208 // LabelAnnotations: If present, label detection has completed 2209 // successfully. 2210 LabelAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 2211 2212 // LandmarkAnnotations: If present, landmark detection has completed 2213 // successfully. 2214 LandmarkAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 2215 2216 // LocalizedObjectAnnotations: If present, localized object detection 2217 // has completed successfully. 2218 // This will be sorted descending by confidence score. 2219 LocalizedObjectAnnotations []*GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 2220 2221 // LogoAnnotations: If present, logo detection has completed 2222 // successfully. 2223 LogoAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 2224 2225 // ProductSearchResults: If present, product search has completed 2226 // successfully. 2227 ProductSearchResults *GoogleCloudVisionV1p1beta1ProductSearchResults `json:"productSearchResults,omitempty"` 2228 2229 // SafeSearchAnnotation: If present, safe-search annotation has 2230 // completed successfully. 2231 SafeSearchAnnotation *GoogleCloudVisionV1p1beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 2232 2233 // TextAnnotations: If present, text (OCR) detection has completed 2234 // successfully. 2235 TextAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"textAnnotations,omitempty"` 2236 2237 // WebDetection: If present, web detection has completed successfully. 2238 WebDetection *GoogleCloudVisionV1p1beta1WebDetection `json:"webDetection,omitempty"` 2239 2240 // ForceSendFields is a list of field names (e.g. "Context") to 2241 // unconditionally include in API requests. By default, fields with 2242 // empty values are omitted from API requests. However, any non-pointer, 2243 // non-interface field appearing in ForceSendFields will be sent to the 2244 // server regardless of whether the field is empty or not. This may be 2245 // used to include empty fields in Patch requests. 2246 ForceSendFields []string `json:"-"` 2247 2248 // NullFields is a list of field names (e.g. "Context") to include in 2249 // API requests with the JSON null value. By default, fields with empty 2250 // values are omitted from API requests. However, any field with an 2251 // empty value appearing in NullFields will be sent to the server as 2252 // null. It is an error if a field in this list has a non-empty value. 2253 // This may be used to include null fields in Patch requests. 2254 NullFields []string `json:"-"` 2255} 2256 2257func (s *GoogleCloudVisionV1p1beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 2258 type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageResponse 2259 raw := NoMethod(*s) 2260 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2261} 2262 2263// GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse: The response for 2264// a single offline file annotation request. 2265type GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse struct { 2266 // OutputConfig: The output location and metadata from 2267 // AsyncAnnotateFileRequest. 2268 OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"` 2269 2270 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 2271 // unconditionally include in API requests. By default, fields with 2272 // empty values are omitted from API requests. However, any non-pointer, 2273 // non-interface field appearing in ForceSendFields will be sent to the 2274 // server regardless of whether the field is empty or not. This may be 2275 // used to include empty fields in Patch requests. 2276 ForceSendFields []string `json:"-"` 2277 2278 // NullFields is a list of field names (e.g. "OutputConfig") to include 2279 // in API requests with the JSON null value. By default, fields with 2280 // empty values are omitted from API requests. However, any field with 2281 // an empty value appearing in NullFields will be sent to the server as 2282 // null. It is an error if a field in this list has a non-empty value. 2283 // This may be used to include null fields in Patch requests. 2284 NullFields []string `json:"-"` 2285} 2286 2287func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 2288 type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse 2289 raw := NoMethod(*s) 2290 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2291} 2292 2293// GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse: Response 2294// to an async batch file annotation request. 2295type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse struct { 2296 // Responses: The list of file annotation responses, one for each 2297 // request in 2298 // AsyncBatchAnnotateFilesRequest. 2299 Responses []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 2300 2301 // ForceSendFields is a list of field names (e.g. "Responses") to 2302 // unconditionally include in API requests. By default, fields with 2303 // empty values are omitted from API requests. However, any non-pointer, 2304 // non-interface field appearing in ForceSendFields will be sent to the 2305 // server regardless of whether the field is empty or not. This may be 2306 // used to include empty fields in Patch requests. 2307 ForceSendFields []string `json:"-"` 2308 2309 // NullFields is a list of field names (e.g. "Responses") to include in 2310 // API requests with the JSON null value. By default, fields with empty 2311 // values are omitted from API requests. However, any field with an 2312 // empty value appearing in NullFields will be sent to the server as 2313 // null. It is an error if a field in this list has a non-empty value. 2314 // This may be used to include null fields in Patch requests. 2315 NullFields []string `json:"-"` 2316} 2317 2318func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 2319 type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse 2320 raw := NoMethod(*s) 2321 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2322} 2323 2324// GoogleCloudVisionV1p1beta1Block: Logical element on the page. 2325type GoogleCloudVisionV1p1beta1Block struct { 2326 // BlockType: Detected block type (text, image etc) for this block. 2327 // 2328 // Possible values: 2329 // "UNKNOWN" - Unknown block type. 2330 // "TEXT" - Regular text block. 2331 // "TABLE" - Table block. 2332 // "PICTURE" - Image block. 2333 // "RULER" - Horizontal/vertical line box. 2334 // "BARCODE" - Barcode block. 2335 BlockType string `json:"blockType,omitempty"` 2336 2337 // BoundingBox: The bounding box for the block. 2338 // The vertices are in the order of top-left, top-right, 2339 // bottom-right, 2340 // bottom-left. When a rotation of the bounding box is detected the 2341 // rotation 2342 // is represented as around the top-left corner as defined when the text 2343 // is 2344 // read in the 'natural' orientation. 2345 // For example: 2346 // 2347 // * when the text is horizontal it might look like: 2348 // 2349 // 0----1 2350 // | | 2351 // 3----2 2352 // 2353 // * when it's rotated 180 degrees around the top-left corner it 2354 // becomes: 2355 // 2356 // 2----3 2357 // | | 2358 // 1----0 2359 // 2360 // and the vertex order will still be (0, 1, 2, 3). 2361 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 2362 2363 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 2364 Confidence float64 `json:"confidence,omitempty"` 2365 2366 // Paragraphs: List of paragraphs in this block (if this blocks is of 2367 // type text). 2368 Paragraphs []*GoogleCloudVisionV1p1beta1Paragraph `json:"paragraphs,omitempty"` 2369 2370 // Property: Additional information detected for the block. 2371 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 2372 2373 // ForceSendFields is a list of field names (e.g. "BlockType") to 2374 // unconditionally include in API requests. By default, fields with 2375 // empty values are omitted from API requests. However, any non-pointer, 2376 // non-interface field appearing in ForceSendFields will be sent to the 2377 // server regardless of whether the field is empty or not. This may be 2378 // used to include empty fields in Patch requests. 2379 ForceSendFields []string `json:"-"` 2380 2381 // NullFields is a list of field names (e.g. "BlockType") to include in 2382 // API requests with the JSON null value. By default, fields with empty 2383 // values are omitted from API requests. However, any field with an 2384 // empty value appearing in NullFields will be sent to the server as 2385 // null. It is an error if a field in this list has a non-empty value. 2386 // This may be used to include null fields in Patch requests. 2387 NullFields []string `json:"-"` 2388} 2389 2390func (s *GoogleCloudVisionV1p1beta1Block) MarshalJSON() ([]byte, error) { 2391 type NoMethod GoogleCloudVisionV1p1beta1Block 2392 raw := NoMethod(*s) 2393 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2394} 2395 2396func (s *GoogleCloudVisionV1p1beta1Block) UnmarshalJSON(data []byte) error { 2397 type NoMethod GoogleCloudVisionV1p1beta1Block 2398 var s1 struct { 2399 Confidence gensupport.JSONFloat64 `json:"confidence"` 2400 *NoMethod 2401 } 2402 s1.NoMethod = (*NoMethod)(s) 2403 if err := json.Unmarshal(data, &s1); err != nil { 2404 return err 2405 } 2406 s.Confidence = float64(s1.Confidence) 2407 return nil 2408} 2409 2410// GoogleCloudVisionV1p1beta1BoundingPoly: A bounding polygon for the 2411// detected image annotation. 2412type GoogleCloudVisionV1p1beta1BoundingPoly struct { 2413 // NormalizedVertices: The bounding polygon normalized vertices. 2414 NormalizedVertices []*GoogleCloudVisionV1p1beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 2415 2416 // Vertices: The bounding polygon vertices. 2417 Vertices []*GoogleCloudVisionV1p1beta1Vertex `json:"vertices,omitempty"` 2418 2419 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 2420 // to unconditionally include in API requests. By default, fields with 2421 // empty values are omitted from API requests. However, any non-pointer, 2422 // non-interface field appearing in ForceSendFields will be sent to the 2423 // server regardless of whether the field is empty or not. This may be 2424 // used to include empty fields in Patch requests. 2425 ForceSendFields []string `json:"-"` 2426 2427 // NullFields is a list of field names (e.g. "NormalizedVertices") to 2428 // include in API requests with the JSON null value. By default, fields 2429 // with empty values are omitted from API requests. However, any field 2430 // with an empty value appearing in NullFields will be sent to the 2431 // server as null. It is an error if a field in this list has a 2432 // non-empty value. This may be used to include null fields in Patch 2433 // requests. 2434 NullFields []string `json:"-"` 2435} 2436 2437func (s *GoogleCloudVisionV1p1beta1BoundingPoly) MarshalJSON() ([]byte, error) { 2438 type NoMethod GoogleCloudVisionV1p1beta1BoundingPoly 2439 raw := NoMethod(*s) 2440 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2441} 2442 2443// GoogleCloudVisionV1p1beta1ColorInfo: Color information consists of 2444// RGB channels, score, and the fraction of 2445// the image that the color occupies in the image. 2446type GoogleCloudVisionV1p1beta1ColorInfo struct { 2447 // Color: RGB components of the color. 2448 Color *Color `json:"color,omitempty"` 2449 2450 // PixelFraction: The fraction of pixels the color occupies in the 2451 // image. 2452 // Value in range [0, 1]. 2453 PixelFraction float64 `json:"pixelFraction,omitempty"` 2454 2455 // Score: Image-specific score for this color. Value in range [0, 1]. 2456 Score float64 `json:"score,omitempty"` 2457 2458 // ForceSendFields is a list of field names (e.g. "Color") to 2459 // unconditionally include in API requests. By default, fields with 2460 // empty values are omitted from API requests. However, any non-pointer, 2461 // non-interface field appearing in ForceSendFields will be sent to the 2462 // server regardless of whether the field is empty or not. This may be 2463 // used to include empty fields in Patch requests. 2464 ForceSendFields []string `json:"-"` 2465 2466 // NullFields is a list of field names (e.g. "Color") to include in API 2467 // requests with the JSON null value. By default, fields with empty 2468 // values are omitted from API requests. However, any field with an 2469 // empty value appearing in NullFields will be sent to the server as 2470 // null. It is an error if a field in this list has a non-empty value. 2471 // This may be used to include null fields in Patch requests. 2472 NullFields []string `json:"-"` 2473} 2474 2475func (s *GoogleCloudVisionV1p1beta1ColorInfo) MarshalJSON() ([]byte, error) { 2476 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 2477 raw := NoMethod(*s) 2478 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2479} 2480 2481func (s *GoogleCloudVisionV1p1beta1ColorInfo) UnmarshalJSON(data []byte) error { 2482 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 2483 var s1 struct { 2484 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 2485 Score gensupport.JSONFloat64 `json:"score"` 2486 *NoMethod 2487 } 2488 s1.NoMethod = (*NoMethod)(s) 2489 if err := json.Unmarshal(data, &s1); err != nil { 2490 return err 2491 } 2492 s.PixelFraction = float64(s1.PixelFraction) 2493 s.Score = float64(s1.Score) 2494 return nil 2495} 2496 2497// GoogleCloudVisionV1p1beta1CropHint: Single crop hint that is used to 2498// generate a new crop when serving an image. 2499type GoogleCloudVisionV1p1beta1CropHint struct { 2500 // BoundingPoly: The bounding polygon for the crop region. The 2501 // coordinates of the bounding 2502 // box are in the original image's scale. 2503 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2504 2505 // Confidence: Confidence of this being a salient region. Range [0, 1]. 2506 Confidence float64 `json:"confidence,omitempty"` 2507 2508 // ImportanceFraction: Fraction of importance of this salient region 2509 // with respect to the original 2510 // image. 2511 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 2512 2513 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2514 // unconditionally include in API requests. By default, fields with 2515 // empty values are omitted from API requests. However, any non-pointer, 2516 // non-interface field appearing in ForceSendFields will be sent to the 2517 // server regardless of whether the field is empty or not. This may be 2518 // used to include empty fields in Patch requests. 2519 ForceSendFields []string `json:"-"` 2520 2521 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2522 // in API requests with the JSON null value. By default, fields with 2523 // empty values are omitted from API requests. However, any field with 2524 // an empty value appearing in NullFields will be sent to the server as 2525 // null. It is an error if a field in this list has a non-empty value. 2526 // This may be used to include null fields in Patch requests. 2527 NullFields []string `json:"-"` 2528} 2529 2530func (s *GoogleCloudVisionV1p1beta1CropHint) MarshalJSON() ([]byte, error) { 2531 type NoMethod GoogleCloudVisionV1p1beta1CropHint 2532 raw := NoMethod(*s) 2533 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2534} 2535 2536func (s *GoogleCloudVisionV1p1beta1CropHint) UnmarshalJSON(data []byte) error { 2537 type NoMethod GoogleCloudVisionV1p1beta1CropHint 2538 var s1 struct { 2539 Confidence gensupport.JSONFloat64 `json:"confidence"` 2540 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 2541 *NoMethod 2542 } 2543 s1.NoMethod = (*NoMethod)(s) 2544 if err := json.Unmarshal(data, &s1); err != nil { 2545 return err 2546 } 2547 s.Confidence = float64(s1.Confidence) 2548 s.ImportanceFraction = float64(s1.ImportanceFraction) 2549 return nil 2550} 2551 2552// GoogleCloudVisionV1p1beta1CropHintsAnnotation: Set of crop hints that 2553// are used to generate new crops when serving images. 2554type GoogleCloudVisionV1p1beta1CropHintsAnnotation struct { 2555 // CropHints: Crop hint results. 2556 CropHints []*GoogleCloudVisionV1p1beta1CropHint `json:"cropHints,omitempty"` 2557 2558 // ForceSendFields is a list of field names (e.g. "CropHints") to 2559 // unconditionally include in API requests. By default, fields with 2560 // empty values are omitted from API requests. However, any non-pointer, 2561 // non-interface field appearing in ForceSendFields will be sent to the 2562 // server regardless of whether the field is empty or not. This may be 2563 // used to include empty fields in Patch requests. 2564 ForceSendFields []string `json:"-"` 2565 2566 // NullFields is a list of field names (e.g. "CropHints") to include in 2567 // API requests with the JSON null value. By default, fields with empty 2568 // values are omitted from API requests. However, any field with an 2569 // empty value appearing in NullFields will be sent to the server as 2570 // null. It is an error if a field in this list has a non-empty value. 2571 // This may be used to include null fields in Patch requests. 2572 NullFields []string `json:"-"` 2573} 2574 2575func (s *GoogleCloudVisionV1p1beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 2576 type NoMethod GoogleCloudVisionV1p1beta1CropHintsAnnotation 2577 raw := NoMethod(*s) 2578 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2579} 2580 2581// GoogleCloudVisionV1p1beta1DominantColorsAnnotation: Set of dominant 2582// colors and their corresponding scores. 2583type GoogleCloudVisionV1p1beta1DominantColorsAnnotation struct { 2584 // Colors: RGB color values with their score and pixel fraction. 2585 Colors []*GoogleCloudVisionV1p1beta1ColorInfo `json:"colors,omitempty"` 2586 2587 // ForceSendFields is a list of field names (e.g. "Colors") to 2588 // unconditionally include in API requests. By default, fields with 2589 // empty values are omitted from API requests. However, any non-pointer, 2590 // non-interface field appearing in ForceSendFields will be sent to the 2591 // server regardless of whether the field is empty or not. This may be 2592 // used to include empty fields in Patch requests. 2593 ForceSendFields []string `json:"-"` 2594 2595 // NullFields is a list of field names (e.g. "Colors") to include in API 2596 // requests with the JSON null value. By default, fields with empty 2597 // values are omitted from API requests. However, any field with an 2598 // empty value appearing in NullFields will be sent to the server as 2599 // null. It is an error if a field in this list has a non-empty value. 2600 // This may be used to include null fields in Patch requests. 2601 NullFields []string `json:"-"` 2602} 2603 2604func (s *GoogleCloudVisionV1p1beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 2605 type NoMethod GoogleCloudVisionV1p1beta1DominantColorsAnnotation 2606 raw := NoMethod(*s) 2607 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2608} 2609 2610// GoogleCloudVisionV1p1beta1EntityAnnotation: Set of detected entity 2611// features. 2612type GoogleCloudVisionV1p1beta1EntityAnnotation struct { 2613 // BoundingPoly: Image region to which this entity belongs. Not 2614 // produced 2615 // for `LABEL_DETECTION` features. 2616 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2617 2618 // Confidence: **Deprecated. Use `score` instead.** 2619 // The accuracy of the entity detection in an image. 2620 // For example, for an image in which the "Eiffel Tower" entity is 2621 // detected, 2622 // this field represents the confidence that there is a tower in the 2623 // query 2624 // image. Range [0, 1]. 2625 Confidence float64 `json:"confidence,omitempty"` 2626 2627 // Description: Entity textual description, expressed in its `locale` 2628 // language. 2629 Description string `json:"description,omitempty"` 2630 2631 // Locale: The language code for the locale in which the entity 2632 // textual 2633 // `description` is expressed. 2634 Locale string `json:"locale,omitempty"` 2635 2636 // Locations: The location information for the detected entity. 2637 // Multiple 2638 // `LocationInfo` elements can be present because one location 2639 // may 2640 // indicate the location of the scene in the image, and another 2641 // location 2642 // may indicate the location of the place where the image was 2643 // taken. 2644 // Location information is usually present for landmarks. 2645 Locations []*GoogleCloudVisionV1p1beta1LocationInfo `json:"locations,omitempty"` 2646 2647 // Mid: Opaque entity ID. Some IDs may be available in 2648 // [Google Knowledge Graph 2649 // Search 2650 // API](https://developers.google.com/knowledge-graph/). 2651 Mid string `json:"mid,omitempty"` 2652 2653 // Properties: Some entities may have optional user-supplied `Property` 2654 // (name/value) 2655 // fields, such a score or string that qualifies the entity. 2656 Properties []*GoogleCloudVisionV1p1beta1Property `json:"properties,omitempty"` 2657 2658 // Score: Overall score of the result. Range [0, 1]. 2659 Score float64 `json:"score,omitempty"` 2660 2661 // Topicality: The relevancy of the ICA (Image Content Annotation) label 2662 // to the 2663 // image. For example, the relevancy of "tower" is likely higher to an 2664 // image 2665 // containing the detected "Eiffel Tower" than to an image containing 2666 // a 2667 // detected distant towering building, even though the confidence 2668 // that 2669 // there is a tower in each image may be the same. Range [0, 1]. 2670 Topicality float64 `json:"topicality,omitempty"` 2671 2672 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2673 // unconditionally include in API requests. By default, fields with 2674 // empty values are omitted from API requests. However, any non-pointer, 2675 // non-interface field appearing in ForceSendFields will be sent to the 2676 // server regardless of whether the field is empty or not. This may be 2677 // used to include empty fields in Patch requests. 2678 ForceSendFields []string `json:"-"` 2679 2680 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2681 // in API requests with the JSON null value. By default, fields with 2682 // empty values are omitted from API requests. However, any field with 2683 // an empty value appearing in NullFields will be sent to the server as 2684 // null. It is an error if a field in this list has a non-empty value. 2685 // This may be used to include null fields in Patch requests. 2686 NullFields []string `json:"-"` 2687} 2688 2689func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 2690 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 2691 raw := NoMethod(*s) 2692 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2693} 2694 2695func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 2696 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 2697 var s1 struct { 2698 Confidence gensupport.JSONFloat64 `json:"confidence"` 2699 Score gensupport.JSONFloat64 `json:"score"` 2700 Topicality gensupport.JSONFloat64 `json:"topicality"` 2701 *NoMethod 2702 } 2703 s1.NoMethod = (*NoMethod)(s) 2704 if err := json.Unmarshal(data, &s1); err != nil { 2705 return err 2706 } 2707 s.Confidence = float64(s1.Confidence) 2708 s.Score = float64(s1.Score) 2709 s.Topicality = float64(s1.Topicality) 2710 return nil 2711} 2712 2713// GoogleCloudVisionV1p1beta1FaceAnnotation: A face annotation object 2714// contains the results of face detection. 2715type GoogleCloudVisionV1p1beta1FaceAnnotation struct { 2716 // AngerLikelihood: Anger likelihood. 2717 // 2718 // Possible values: 2719 // "UNKNOWN" - Unknown likelihood. 2720 // "VERY_UNLIKELY" - It is very unlikely. 2721 // "UNLIKELY" - It is unlikely. 2722 // "POSSIBLE" - It is possible. 2723 // "LIKELY" - It is likely. 2724 // "VERY_LIKELY" - It is very likely. 2725 AngerLikelihood string `json:"angerLikelihood,omitempty"` 2726 2727 // BlurredLikelihood: Blurred likelihood. 2728 // 2729 // Possible values: 2730 // "UNKNOWN" - Unknown likelihood. 2731 // "VERY_UNLIKELY" - It is very unlikely. 2732 // "UNLIKELY" - It is unlikely. 2733 // "POSSIBLE" - It is possible. 2734 // "LIKELY" - It is likely. 2735 // "VERY_LIKELY" - It is very likely. 2736 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 2737 2738 // BoundingPoly: The bounding polygon around the face. The coordinates 2739 // of the bounding box 2740 // are in the original image's scale. 2741 // The bounding box is computed to "frame" the face in accordance with 2742 // human 2743 // expectations. It is based on the landmarker results. 2744 // Note that one or more x and/or y coordinates may not be generated in 2745 // the 2746 // `BoundingPoly` (the polygon will be unbounded) if only a partial 2747 // face 2748 // appears in the image to be annotated. 2749 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2750 2751 // DetectionConfidence: Detection confidence. Range [0, 1]. 2752 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 2753 2754 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 2755 // than the 2756 // `boundingPoly`, and encloses only the skin part of the face. 2757 // Typically, it 2758 // is used to eliminate the face from any image analysis that detects 2759 // the 2760 // "amount of skin" visible in an image. It is not based on 2761 // the 2762 // landmarker results, only on the initial face detection, hence 2763 // the <code>fd</code> (face detection) prefix. 2764 FdBoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 2765 2766 // HeadwearLikelihood: Headwear likelihood. 2767 // 2768 // Possible values: 2769 // "UNKNOWN" - Unknown likelihood. 2770 // "VERY_UNLIKELY" - It is very unlikely. 2771 // "UNLIKELY" - It is unlikely. 2772 // "POSSIBLE" - It is possible. 2773 // "LIKELY" - It is likely. 2774 // "VERY_LIKELY" - It is very likely. 2775 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 2776 2777 // JoyLikelihood: Joy likelihood. 2778 // 2779 // Possible values: 2780 // "UNKNOWN" - Unknown likelihood. 2781 // "VERY_UNLIKELY" - It is very unlikely. 2782 // "UNLIKELY" - It is unlikely. 2783 // "POSSIBLE" - It is possible. 2784 // "LIKELY" - It is likely. 2785 // "VERY_LIKELY" - It is very likely. 2786 JoyLikelihood string `json:"joyLikelihood,omitempty"` 2787 2788 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 2789 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 2790 2791 // Landmarks: Detected face landmarks. 2792 Landmarks []*GoogleCloudVisionV1p1beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 2793 2794 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 2795 // that the face is 2796 // pointing relative to the vertical plane perpendicular to the image. 2797 // Range 2798 // [-180,180]. 2799 PanAngle float64 `json:"panAngle,omitempty"` 2800 2801 // RollAngle: Roll angle, which indicates the amount of 2802 // clockwise/anti-clockwise rotation 2803 // of the face relative to the image vertical about the axis 2804 // perpendicular to 2805 // the face. Range [-180,180]. 2806 RollAngle float64 `json:"rollAngle,omitempty"` 2807 2808 // SorrowLikelihood: Sorrow likelihood. 2809 // 2810 // Possible values: 2811 // "UNKNOWN" - Unknown likelihood. 2812 // "VERY_UNLIKELY" - It is very unlikely. 2813 // "UNLIKELY" - It is unlikely. 2814 // "POSSIBLE" - It is possible. 2815 // "LIKELY" - It is likely. 2816 // "VERY_LIKELY" - It is very likely. 2817 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 2818 2819 // SurpriseLikelihood: Surprise likelihood. 2820 // 2821 // Possible values: 2822 // "UNKNOWN" - Unknown likelihood. 2823 // "VERY_UNLIKELY" - It is very unlikely. 2824 // "UNLIKELY" - It is unlikely. 2825 // "POSSIBLE" - It is possible. 2826 // "LIKELY" - It is likely. 2827 // "VERY_LIKELY" - It is very likely. 2828 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 2829 2830 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 2831 // that the face is 2832 // pointing relative to the image's horizontal plane. Range [-180,180]. 2833 TiltAngle float64 `json:"tiltAngle,omitempty"` 2834 2835 // UnderExposedLikelihood: Under-exposed likelihood. 2836 // 2837 // Possible values: 2838 // "UNKNOWN" - Unknown likelihood. 2839 // "VERY_UNLIKELY" - It is very unlikely. 2840 // "UNLIKELY" - It is unlikely. 2841 // "POSSIBLE" - It is possible. 2842 // "LIKELY" - It is likely. 2843 // "VERY_LIKELY" - It is very likely. 2844 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 2845 2846 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 2847 // unconditionally include in API requests. By default, fields with 2848 // empty values are omitted from API requests. However, any non-pointer, 2849 // non-interface field appearing in ForceSendFields will be sent to the 2850 // server regardless of whether the field is empty or not. This may be 2851 // used to include empty fields in Patch requests. 2852 ForceSendFields []string `json:"-"` 2853 2854 // NullFields is a list of field names (e.g. "AngerLikelihood") to 2855 // include in API requests with the JSON null value. By default, fields 2856 // with empty values are omitted from API requests. However, any field 2857 // with an empty value appearing in NullFields will be sent to the 2858 // server as null. It is an error if a field in this list has a 2859 // non-empty value. This may be used to include null fields in Patch 2860 // requests. 2861 NullFields []string `json:"-"` 2862} 2863 2864func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 2865 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2866 raw := NoMethod(*s) 2867 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2868} 2869 2870func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 2871 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2872 var s1 struct { 2873 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 2874 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 2875 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 2876 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 2877 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 2878 *NoMethod 2879 } 2880 s1.NoMethod = (*NoMethod)(s) 2881 if err := json.Unmarshal(data, &s1); err != nil { 2882 return err 2883 } 2884 s.DetectionConfidence = float64(s1.DetectionConfidence) 2885 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 2886 s.PanAngle = float64(s1.PanAngle) 2887 s.RollAngle = float64(s1.RollAngle) 2888 s.TiltAngle = float64(s1.TiltAngle) 2889 return nil 2890} 2891 2892// GoogleCloudVisionV1p1beta1FaceAnnotationLandmark: A face-specific 2893// landmark (for example, a face feature). 2894type GoogleCloudVisionV1p1beta1FaceAnnotationLandmark struct { 2895 // Position: Face landmark position. 2896 Position *GoogleCloudVisionV1p1beta1Position `json:"position,omitempty"` 2897 2898 // Type: Face landmark type. 2899 // 2900 // Possible values: 2901 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 2902 // filled. 2903 // "LEFT_EYE" - Left eye. 2904 // "RIGHT_EYE" - Right eye. 2905 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 2906 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 2907 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 2908 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 2909 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 2910 // "NOSE_TIP" - Nose tip. 2911 // "UPPER_LIP" - Upper lip. 2912 // "LOWER_LIP" - Lower lip. 2913 // "MOUTH_LEFT" - Mouth left. 2914 // "MOUTH_RIGHT" - Mouth right. 2915 // "MOUTH_CENTER" - Mouth center. 2916 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 2917 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 2918 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 2919 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 2920 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 2921 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 2922 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 2923 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 2924 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 2925 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 2926 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 2927 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 2928 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 2929 // "LEFT_EAR_TRAGION" - Left ear tragion. 2930 // "RIGHT_EAR_TRAGION" - Right ear tragion. 2931 // "LEFT_EYE_PUPIL" - Left eye pupil. 2932 // "RIGHT_EYE_PUPIL" - Right eye pupil. 2933 // "FOREHEAD_GLABELLA" - Forehead glabella. 2934 // "CHIN_GNATHION" - Chin gnathion. 2935 // "CHIN_LEFT_GONION" - Chin left gonion. 2936 // "CHIN_RIGHT_GONION" - Chin right gonion. 2937 Type string `json:"type,omitempty"` 2938 2939 // ForceSendFields is a list of field names (e.g. "Position") to 2940 // unconditionally include in API requests. By default, fields with 2941 // empty values are omitted from API requests. However, any non-pointer, 2942 // non-interface field appearing in ForceSendFields will be sent to the 2943 // server regardless of whether the field is empty or not. This may be 2944 // used to include empty fields in Patch requests. 2945 ForceSendFields []string `json:"-"` 2946 2947 // NullFields is a list of field names (e.g. "Position") to include in 2948 // API requests with the JSON null value. By default, fields with empty 2949 // values are omitted from API requests. However, any field with an 2950 // empty value appearing in NullFields will be sent to the server as 2951 // null. It is an error if a field in this list has a non-empty value. 2952 // This may be used to include null fields in Patch requests. 2953 NullFields []string `json:"-"` 2954} 2955 2956func (s *GoogleCloudVisionV1p1beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 2957 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotationLandmark 2958 raw := NoMethod(*s) 2959 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2960} 2961 2962// GoogleCloudVisionV1p1beta1GcsDestination: The Google Cloud Storage 2963// location where the output will be written to. 2964type GoogleCloudVisionV1p1beta1GcsDestination struct { 2965 // Uri: Google Cloud Storage URI prefix where the results will be 2966 // stored. Results 2967 // will be in JSON format and preceded by its corresponding input URI 2968 // prefix. 2969 // This field can either represent a gcs file prefix or gcs directory. 2970 // In 2971 // either case, the uri should be unique because in order to get all of 2972 // the 2973 // output files, you will need to do a wildcard gcs search on the uri 2974 // prefix 2975 // you provide. 2976 // 2977 // Examples: 2978 // 2979 // * File Prefix: gs://bucket-name/here/filenameprefix The output 2980 // files 2981 // will be created in gs://bucket-name/here/ and the names of the 2982 // output files will begin with "filenameprefix". 2983 // 2984 // * Directory Prefix: gs://bucket-name/some/location/ The output 2985 // files 2986 // will be created in gs://bucket-name/some/location/ and the names of 2987 // the 2988 // output files could be anything because there was no filename 2989 // prefix 2990 // specified. 2991 // 2992 // If multiple outputs, each response is still AnnotateFileResponse, 2993 // each of 2994 // which contains some subset of the full list of 2995 // AnnotateImageResponse. 2996 // Multiple outputs can happen if, for example, the output JSON is too 2997 // large 2998 // and overflows into multiple sharded files. 2999 Uri string `json:"uri,omitempty"` 3000 3001 // ForceSendFields is a list of field names (e.g. "Uri") to 3002 // unconditionally include in API requests. By default, fields with 3003 // empty values are omitted from API requests. However, any non-pointer, 3004 // non-interface field appearing in ForceSendFields will be sent to the 3005 // server regardless of whether the field is empty or not. This may be 3006 // used to include empty fields in Patch requests. 3007 ForceSendFields []string `json:"-"` 3008 3009 // NullFields is a list of field names (e.g. "Uri") to include in API 3010 // requests with the JSON null value. By default, fields with empty 3011 // values are omitted from API requests. However, any field with an 3012 // empty value appearing in NullFields will be sent to the server as 3013 // null. It is an error if a field in this list has a non-empty value. 3014 // This may be used to include null fields in Patch requests. 3015 NullFields []string `json:"-"` 3016} 3017 3018func (s *GoogleCloudVisionV1p1beta1GcsDestination) MarshalJSON() ([]byte, error) { 3019 type NoMethod GoogleCloudVisionV1p1beta1GcsDestination 3020 raw := NoMethod(*s) 3021 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3022} 3023 3024// GoogleCloudVisionV1p1beta1GcsSource: The Google Cloud Storage 3025// location where the input will be read from. 3026type GoogleCloudVisionV1p1beta1GcsSource struct { 3027 // Uri: Google Cloud Storage URI for the input file. This must only be 3028 // a 3029 // Google Cloud Storage object. Wildcards are not currently supported. 3030 Uri string `json:"uri,omitempty"` 3031 3032 // ForceSendFields is a list of field names (e.g. "Uri") to 3033 // unconditionally include in API requests. By default, fields with 3034 // empty values are omitted from API requests. However, any non-pointer, 3035 // non-interface field appearing in ForceSendFields will be sent to the 3036 // server regardless of whether the field is empty or not. This may be 3037 // used to include empty fields in Patch requests. 3038 ForceSendFields []string `json:"-"` 3039 3040 // NullFields is a list of field names (e.g. "Uri") to include in API 3041 // requests with the JSON null value. By default, fields with empty 3042 // values are omitted from API requests. However, any field with an 3043 // empty value appearing in NullFields will be sent to the server as 3044 // null. It is an error if a field in this list has a non-empty value. 3045 // This may be used to include null fields in Patch requests. 3046 NullFields []string `json:"-"` 3047} 3048 3049func (s *GoogleCloudVisionV1p1beta1GcsSource) MarshalJSON() ([]byte, error) { 3050 type NoMethod GoogleCloudVisionV1p1beta1GcsSource 3051 raw := NoMethod(*s) 3052 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3053} 3054 3055// GoogleCloudVisionV1p1beta1ImageAnnotationContext: If an image was 3056// produced from a file (e.g. a PDF), this message gives 3057// information about the source of that image. 3058type GoogleCloudVisionV1p1beta1ImageAnnotationContext struct { 3059 // PageNumber: If the file was a PDF or TIFF, this field gives the page 3060 // number within 3061 // the file used to produce the image. 3062 PageNumber int64 `json:"pageNumber,omitempty"` 3063 3064 // Uri: The URI of the file used to produce the image. 3065 Uri string `json:"uri,omitempty"` 3066 3067 // ForceSendFields is a list of field names (e.g. "PageNumber") to 3068 // unconditionally include in API requests. By default, fields with 3069 // empty values are omitted from API requests. However, any non-pointer, 3070 // non-interface field appearing in ForceSendFields will be sent to the 3071 // server regardless of whether the field is empty or not. This may be 3072 // used to include empty fields in Patch requests. 3073 ForceSendFields []string `json:"-"` 3074 3075 // NullFields is a list of field names (e.g. "PageNumber") to include in 3076 // API requests with the JSON null value. By default, fields with empty 3077 // values are omitted from API requests. However, any field with an 3078 // empty value appearing in NullFields will be sent to the server as 3079 // null. It is an error if a field in this list has a non-empty value. 3080 // This may be used to include null fields in Patch requests. 3081 NullFields []string `json:"-"` 3082} 3083 3084func (s *GoogleCloudVisionV1p1beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 3085 type NoMethod GoogleCloudVisionV1p1beta1ImageAnnotationContext 3086 raw := NoMethod(*s) 3087 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3088} 3089 3090// GoogleCloudVisionV1p1beta1ImageProperties: Stores image properties, 3091// such as dominant colors. 3092type GoogleCloudVisionV1p1beta1ImageProperties struct { 3093 // DominantColors: If present, dominant colors completed successfully. 3094 DominantColors *GoogleCloudVisionV1p1beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 3095 3096 // ForceSendFields is a list of field names (e.g. "DominantColors") to 3097 // unconditionally include in API requests. By default, fields with 3098 // empty values are omitted from API requests. However, any non-pointer, 3099 // non-interface field appearing in ForceSendFields will be sent to the 3100 // server regardless of whether the field is empty or not. This may be 3101 // used to include empty fields in Patch requests. 3102 ForceSendFields []string `json:"-"` 3103 3104 // NullFields is a list of field names (e.g. "DominantColors") to 3105 // include in API requests with the JSON null value. By default, fields 3106 // with empty values are omitted from API requests. However, any field 3107 // with an empty value appearing in NullFields will be sent to the 3108 // server as null. It is an error if a field in this list has a 3109 // non-empty value. This may be used to include null fields in Patch 3110 // requests. 3111 NullFields []string `json:"-"` 3112} 3113 3114func (s *GoogleCloudVisionV1p1beta1ImageProperties) MarshalJSON() ([]byte, error) { 3115 type NoMethod GoogleCloudVisionV1p1beta1ImageProperties 3116 raw := NoMethod(*s) 3117 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3118} 3119 3120// GoogleCloudVisionV1p1beta1InputConfig: The desired input location and 3121// metadata. 3122type GoogleCloudVisionV1p1beta1InputConfig struct { 3123 // Content: File content, represented as a stream of bytes. 3124 // Note: As with all `bytes` fields, protobuffers use a pure 3125 // binary 3126 // representation, whereas JSON representations use base64. 3127 // 3128 // Currently, this field only works for BatchAnnotateFiles requests. It 3129 // does 3130 // not work for AsyncBatchAnnotateFiles requests. 3131 Content string `json:"content,omitempty"` 3132 3133 // GcsSource: The Google Cloud Storage location to read the input from. 3134 GcsSource *GoogleCloudVisionV1p1beta1GcsSource `json:"gcsSource,omitempty"` 3135 3136 // MimeType: The type of the file. Currently only "application/pdf", 3137 // "image/tiff" and 3138 // "image/gif" are supported. Wildcards are not supported. 3139 MimeType string `json:"mimeType,omitempty"` 3140 3141 // ForceSendFields is a list of field names (e.g. "Content") to 3142 // unconditionally include in API requests. By default, fields with 3143 // empty values are omitted from API requests. However, any non-pointer, 3144 // non-interface field appearing in ForceSendFields will be sent to the 3145 // server regardless of whether the field is empty or not. This may be 3146 // used to include empty fields in Patch requests. 3147 ForceSendFields []string `json:"-"` 3148 3149 // NullFields is a list of field names (e.g. "Content") to include in 3150 // API requests with the JSON null value. By default, fields with empty 3151 // values are omitted from API requests. However, any field with an 3152 // empty value appearing in NullFields will be sent to the server as 3153 // null. It is an error if a field in this list has a non-empty value. 3154 // This may be used to include null fields in Patch requests. 3155 NullFields []string `json:"-"` 3156} 3157 3158func (s *GoogleCloudVisionV1p1beta1InputConfig) MarshalJSON() ([]byte, error) { 3159 type NoMethod GoogleCloudVisionV1p1beta1InputConfig 3160 raw := NoMethod(*s) 3161 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3162} 3163 3164// GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation: Set of detected 3165// objects with bounding boxes. 3166type GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation struct { 3167 // BoundingPoly: Image region to which this object belongs. This must be 3168 // populated. 3169 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 3170 3171 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 3172 // For more 3173 // information, 3174 // see 3175 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3176 LanguageCode string `json:"languageCode,omitempty"` 3177 3178 // Mid: Object ID that should align with EntityAnnotation mid. 3179 Mid string `json:"mid,omitempty"` 3180 3181 // Name: Object name, expressed in its `language_code` language. 3182 Name string `json:"name,omitempty"` 3183 3184 // Score: Score of the result. Range [0, 1]. 3185 Score float64 `json:"score,omitempty"` 3186 3187 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 3188 // unconditionally include in API requests. By default, fields with 3189 // empty values are omitted from API requests. However, any non-pointer, 3190 // non-interface field appearing in ForceSendFields will be sent to the 3191 // server regardless of whether the field is empty or not. This may be 3192 // used to include empty fields in Patch requests. 3193 ForceSendFields []string `json:"-"` 3194 3195 // NullFields is a list of field names (e.g. "BoundingPoly") to include 3196 // in API requests with the JSON null value. By default, fields with 3197 // empty values are omitted from API requests. However, any field with 3198 // an empty value appearing in NullFields will be sent to the server as 3199 // null. It is an error if a field in this list has a non-empty value. 3200 // This may be used to include null fields in Patch requests. 3201 NullFields []string `json:"-"` 3202} 3203 3204func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 3205 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 3206 raw := NoMethod(*s) 3207 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3208} 3209 3210func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 3211 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 3212 var s1 struct { 3213 Score gensupport.JSONFloat64 `json:"score"` 3214 *NoMethod 3215 } 3216 s1.NoMethod = (*NoMethod)(s) 3217 if err := json.Unmarshal(data, &s1); err != nil { 3218 return err 3219 } 3220 s.Score = float64(s1.Score) 3221 return nil 3222} 3223 3224// GoogleCloudVisionV1p1beta1LocationInfo: Detected entity location 3225// information. 3226type GoogleCloudVisionV1p1beta1LocationInfo struct { 3227 // LatLng: lat/long location coordinates. 3228 LatLng *LatLng `json:"latLng,omitempty"` 3229 3230 // ForceSendFields is a list of field names (e.g. "LatLng") to 3231 // unconditionally include in API requests. By default, fields with 3232 // empty values are omitted from API requests. However, any non-pointer, 3233 // non-interface field appearing in ForceSendFields will be sent to the 3234 // server regardless of whether the field is empty or not. This may be 3235 // used to include empty fields in Patch requests. 3236 ForceSendFields []string `json:"-"` 3237 3238 // NullFields is a list of field names (e.g. "LatLng") to include in API 3239 // requests with the JSON null value. By default, fields with empty 3240 // values are omitted from API requests. However, any field with an 3241 // empty value appearing in NullFields will be sent to the server as 3242 // null. It is an error if a field in this list has a non-empty value. 3243 // This may be used to include null fields in Patch requests. 3244 NullFields []string `json:"-"` 3245} 3246 3247func (s *GoogleCloudVisionV1p1beta1LocationInfo) MarshalJSON() ([]byte, error) { 3248 type NoMethod GoogleCloudVisionV1p1beta1LocationInfo 3249 raw := NoMethod(*s) 3250 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3251} 3252 3253// GoogleCloudVisionV1p1beta1NormalizedVertex: A vertex represents a 2D 3254// point in the image. 3255// NOTE: the normalized vertex coordinates are relative to the original 3256// image 3257// and range from 0 to 1. 3258type GoogleCloudVisionV1p1beta1NormalizedVertex struct { 3259 // X: X coordinate. 3260 X float64 `json:"x,omitempty"` 3261 3262 // Y: Y coordinate. 3263 Y float64 `json:"y,omitempty"` 3264 3265 // ForceSendFields is a list of field names (e.g. "X") to 3266 // unconditionally include in API requests. By default, fields with 3267 // empty values are omitted from API requests. However, any non-pointer, 3268 // non-interface field appearing in ForceSendFields will be sent to the 3269 // server regardless of whether the field is empty or not. This may be 3270 // used to include empty fields in Patch requests. 3271 ForceSendFields []string `json:"-"` 3272 3273 // NullFields is a list of field names (e.g. "X") to include in API 3274 // requests with the JSON null value. By default, fields with empty 3275 // values are omitted from API requests. However, any field with an 3276 // empty value appearing in NullFields will be sent to the server as 3277 // null. It is an error if a field in this list has a non-empty value. 3278 // This may be used to include null fields in Patch requests. 3279 NullFields []string `json:"-"` 3280} 3281 3282func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 3283 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 3284 raw := NoMethod(*s) 3285 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3286} 3287 3288func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 3289 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 3290 var s1 struct { 3291 X gensupport.JSONFloat64 `json:"x"` 3292 Y gensupport.JSONFloat64 `json:"y"` 3293 *NoMethod 3294 } 3295 s1.NoMethod = (*NoMethod)(s) 3296 if err := json.Unmarshal(data, &s1); err != nil { 3297 return err 3298 } 3299 s.X = float64(s1.X) 3300 s.Y = float64(s1.Y) 3301 return nil 3302} 3303 3304// GoogleCloudVisionV1p1beta1OperationMetadata: Contains metadata for 3305// the BatchAnnotateImages operation. 3306type GoogleCloudVisionV1p1beta1OperationMetadata struct { 3307 // CreateTime: The time when the batch request was received. 3308 CreateTime string `json:"createTime,omitempty"` 3309 3310 // State: Current state of the batch operation. 3311 // 3312 // Possible values: 3313 // "STATE_UNSPECIFIED" - Invalid. 3314 // "CREATED" - Request is received. 3315 // "RUNNING" - Request is actively being processed. 3316 // "DONE" - The batch processing is done. 3317 // "CANCELLED" - The batch processing was cancelled. 3318 State string `json:"state,omitempty"` 3319 3320 // UpdateTime: The time when the operation result was last updated. 3321 UpdateTime string `json:"updateTime,omitempty"` 3322 3323 // ForceSendFields is a list of field names (e.g. "CreateTime") to 3324 // unconditionally include in API requests. By default, fields with 3325 // empty values are omitted from API requests. However, any non-pointer, 3326 // non-interface field appearing in ForceSendFields will be sent to the 3327 // server regardless of whether the field is empty or not. This may be 3328 // used to include empty fields in Patch requests. 3329 ForceSendFields []string `json:"-"` 3330 3331 // NullFields is a list of field names (e.g. "CreateTime") to include in 3332 // API 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 *GoogleCloudVisionV1p1beta1OperationMetadata) MarshalJSON() ([]byte, error) { 3341 type NoMethod GoogleCloudVisionV1p1beta1OperationMetadata 3342 raw := NoMethod(*s) 3343 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3344} 3345 3346// GoogleCloudVisionV1p1beta1OutputConfig: The desired output location 3347// and metadata. 3348type GoogleCloudVisionV1p1beta1OutputConfig struct { 3349 // BatchSize: The max number of response protos to put into each output 3350 // JSON file on 3351 // Google Cloud Storage. 3352 // The valid range is [1, 100]. If not specified, the default value is 3353 // 20. 3354 // 3355 // For example, for one pdf file with 100 pages, 100 response protos 3356 // will 3357 // be generated. If `batch_size` = 20, then 5 json files each 3358 // containing 20 response protos will be written under the 3359 // prefix 3360 // `gcs_destination`.`uri`. 3361 // 3362 // Currently, batch_size only applies to GcsDestination, with potential 3363 // future 3364 // support for other output configurations. 3365 BatchSize int64 `json:"batchSize,omitempty"` 3366 3367 // GcsDestination: The Google Cloud Storage location to write the 3368 // output(s) to. 3369 GcsDestination *GoogleCloudVisionV1p1beta1GcsDestination `json:"gcsDestination,omitempty"` 3370 3371 // ForceSendFields is a list of field names (e.g. "BatchSize") to 3372 // unconditionally include in API requests. By default, fields with 3373 // empty values are omitted from API requests. However, any non-pointer, 3374 // non-interface field appearing in ForceSendFields will be sent to the 3375 // server regardless of whether the field is empty or not. This may be 3376 // used to include empty fields in Patch requests. 3377 ForceSendFields []string `json:"-"` 3378 3379 // NullFields is a list of field names (e.g. "BatchSize") to include in 3380 // API requests with the JSON null value. By default, fields with empty 3381 // values are omitted from API requests. However, any field with an 3382 // empty value appearing in NullFields will be sent to the server as 3383 // null. It is an error if a field in this list has a non-empty value. 3384 // This may be used to include null fields in Patch requests. 3385 NullFields []string `json:"-"` 3386} 3387 3388func (s *GoogleCloudVisionV1p1beta1OutputConfig) MarshalJSON() ([]byte, error) { 3389 type NoMethod GoogleCloudVisionV1p1beta1OutputConfig 3390 raw := NoMethod(*s) 3391 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3392} 3393 3394// GoogleCloudVisionV1p1beta1Page: Detected page from OCR. 3395type GoogleCloudVisionV1p1beta1Page struct { 3396 // Blocks: List of blocks of text, images etc on this page. 3397 Blocks []*GoogleCloudVisionV1p1beta1Block `json:"blocks,omitempty"` 3398 3399 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 3400 Confidence float64 `json:"confidence,omitempty"` 3401 3402 // Height: Page height. For PDFs the unit is points. For images 3403 // (including 3404 // TIFFs) the unit is pixels. 3405 Height int64 `json:"height,omitempty"` 3406 3407 // Property: Additional information detected on the page. 3408 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3409 3410 // Width: Page width. For PDFs the unit is points. For images 3411 // (including 3412 // TIFFs) the unit is pixels. 3413 Width int64 `json:"width,omitempty"` 3414 3415 // ForceSendFields is a list of field names (e.g. "Blocks") to 3416 // unconditionally include in API requests. By default, fields with 3417 // empty values are omitted from API requests. However, any non-pointer, 3418 // non-interface field appearing in ForceSendFields will be sent to the 3419 // server regardless of whether the field is empty or not. This may be 3420 // used to include empty fields in Patch requests. 3421 ForceSendFields []string `json:"-"` 3422 3423 // NullFields is a list of field names (e.g. "Blocks") to include in API 3424 // requests with the JSON null value. By default, fields with empty 3425 // values are omitted from API requests. However, any field with an 3426 // empty value appearing in NullFields will be sent to the server as 3427 // null. It is an error if a field in this list has a non-empty value. 3428 // This may be used to include null fields in Patch requests. 3429 NullFields []string `json:"-"` 3430} 3431 3432func (s *GoogleCloudVisionV1p1beta1Page) MarshalJSON() ([]byte, error) { 3433 type NoMethod GoogleCloudVisionV1p1beta1Page 3434 raw := NoMethod(*s) 3435 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3436} 3437 3438func (s *GoogleCloudVisionV1p1beta1Page) UnmarshalJSON(data []byte) error { 3439 type NoMethod GoogleCloudVisionV1p1beta1Page 3440 var s1 struct { 3441 Confidence gensupport.JSONFloat64 `json:"confidence"` 3442 *NoMethod 3443 } 3444 s1.NoMethod = (*NoMethod)(s) 3445 if err := json.Unmarshal(data, &s1); err != nil { 3446 return err 3447 } 3448 s.Confidence = float64(s1.Confidence) 3449 return nil 3450} 3451 3452// GoogleCloudVisionV1p1beta1Paragraph: Structural unit of text 3453// representing a number of words in certain order. 3454type GoogleCloudVisionV1p1beta1Paragraph struct { 3455 // BoundingBox: The bounding box for the paragraph. 3456 // The vertices are in the order of top-left, top-right, 3457 // bottom-right, 3458 // bottom-left. When a rotation of the bounding box is detected the 3459 // rotation 3460 // is represented as around the top-left corner as defined when the text 3461 // is 3462 // read in the 'natural' orientation. 3463 // For example: 3464 // * when the text is horizontal it might look like: 3465 // 0----1 3466 // | | 3467 // 3----2 3468 // * when it's rotated 180 degrees around the top-left corner it 3469 // becomes: 3470 // 2----3 3471 // | | 3472 // 1----0 3473 // and the vertex order will still be (0, 1, 2, 3). 3474 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3475 3476 // Confidence: Confidence of the OCR results for the paragraph. Range 3477 // [0, 1]. 3478 Confidence float64 `json:"confidence,omitempty"` 3479 3480 // Property: Additional information detected for the paragraph. 3481 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3482 3483 // Words: List of all words in this paragraph. 3484 Words []*GoogleCloudVisionV1p1beta1Word `json:"words,omitempty"` 3485 3486 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3487 // unconditionally include in API requests. By default, fields with 3488 // empty values are omitted from API requests. However, any non-pointer, 3489 // non-interface field appearing in ForceSendFields will be sent to the 3490 // server regardless of whether the field is empty or not. This may be 3491 // used to include empty fields in Patch requests. 3492 ForceSendFields []string `json:"-"` 3493 3494 // NullFields is a list of field names (e.g. "BoundingBox") to include 3495 // in API requests with the JSON null value. By default, fields with 3496 // empty values are omitted from API requests. However, any field with 3497 // an empty value appearing in NullFields will be sent to the server as 3498 // null. It is an error if a field in this list has a non-empty value. 3499 // This may be used to include null fields in Patch requests. 3500 NullFields []string `json:"-"` 3501} 3502 3503func (s *GoogleCloudVisionV1p1beta1Paragraph) MarshalJSON() ([]byte, error) { 3504 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 3505 raw := NoMethod(*s) 3506 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3507} 3508 3509func (s *GoogleCloudVisionV1p1beta1Paragraph) UnmarshalJSON(data []byte) error { 3510 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 3511 var s1 struct { 3512 Confidence gensupport.JSONFloat64 `json:"confidence"` 3513 *NoMethod 3514 } 3515 s1.NoMethod = (*NoMethod)(s) 3516 if err := json.Unmarshal(data, &s1); err != nil { 3517 return err 3518 } 3519 s.Confidence = float64(s1.Confidence) 3520 return nil 3521} 3522 3523// GoogleCloudVisionV1p1beta1Position: A 3D position in the image, used 3524// primarily for Face detection landmarks. 3525// A valid Position must have both x and y coordinates. 3526// The position coordinates are in the same scale as the original image. 3527type GoogleCloudVisionV1p1beta1Position struct { 3528 // X: X coordinate. 3529 X float64 `json:"x,omitempty"` 3530 3531 // Y: Y coordinate. 3532 Y float64 `json:"y,omitempty"` 3533 3534 // Z: Z coordinate (or depth). 3535 Z float64 `json:"z,omitempty"` 3536 3537 // ForceSendFields is a list of field names (e.g. "X") to 3538 // unconditionally include in API requests. By default, fields with 3539 // empty values are omitted from API requests. However, any non-pointer, 3540 // non-interface field appearing in ForceSendFields will be sent to the 3541 // server regardless of whether the field is empty or not. This may be 3542 // used to include empty fields in Patch requests. 3543 ForceSendFields []string `json:"-"` 3544 3545 // NullFields is a list of field names (e.g. "X") to include in API 3546 // requests with the JSON null value. By default, fields with empty 3547 // values are omitted from API requests. However, any field with an 3548 // empty value appearing in NullFields will be sent to the server as 3549 // null. It is an error if a field in this list has a non-empty value. 3550 // This may be used to include null fields in Patch requests. 3551 NullFields []string `json:"-"` 3552} 3553 3554func (s *GoogleCloudVisionV1p1beta1Position) MarshalJSON() ([]byte, error) { 3555 type NoMethod GoogleCloudVisionV1p1beta1Position 3556 raw := NoMethod(*s) 3557 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3558} 3559 3560func (s *GoogleCloudVisionV1p1beta1Position) UnmarshalJSON(data []byte) error { 3561 type NoMethod GoogleCloudVisionV1p1beta1Position 3562 var s1 struct { 3563 X gensupport.JSONFloat64 `json:"x"` 3564 Y gensupport.JSONFloat64 `json:"y"` 3565 Z gensupport.JSONFloat64 `json:"z"` 3566 *NoMethod 3567 } 3568 s1.NoMethod = (*NoMethod)(s) 3569 if err := json.Unmarshal(data, &s1); err != nil { 3570 return err 3571 } 3572 s.X = float64(s1.X) 3573 s.Y = float64(s1.Y) 3574 s.Z = float64(s1.Z) 3575 return nil 3576} 3577 3578// GoogleCloudVisionV1p1beta1Product: A Product contains 3579// ReferenceImages. 3580type GoogleCloudVisionV1p1beta1Product struct { 3581 // Description: User-provided metadata to be stored with this product. 3582 // Must be at most 4096 3583 // characters long. 3584 Description string `json:"description,omitempty"` 3585 3586 // DisplayName: The user-provided name for this Product. Must not be 3587 // empty. Must be at most 3588 // 4096 characters long. 3589 DisplayName string `json:"displayName,omitempty"` 3590 3591 // Name: The resource name of the product. 3592 // 3593 // Format 3594 // is: 3595 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 3596 // 3597 // This field is ignored when creating a product. 3598 Name string `json:"name,omitempty"` 3599 3600 // ProductCategory: Immutable. The category for the product identified 3601 // by the reference image. This should 3602 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 3603 // categories 3604 // "homegoods", "apparel", and "toys" are still supported, but these 3605 // should 3606 // not be used for new products. 3607 ProductCategory string `json:"productCategory,omitempty"` 3608 3609 // ProductLabels: Key-value pairs that can be attached to a product. At 3610 // query time, 3611 // constraints can be specified based on the product_labels. 3612 // 3613 // Note that integer values can be provided as strings, e.g. "1199". 3614 // Only 3615 // strings with integer values can match a range-based restriction which 3616 // is 3617 // to be supported soon. 3618 // 3619 // Multiple values can be assigned to the same key. One product may have 3620 // up to 3621 // 500 product_labels. 3622 // 3623 // Notice that the total number of distinct product_labels over all 3624 // products 3625 // in one ProductSet cannot exceed 1M, otherwise the product search 3626 // pipeline 3627 // will refuse to work for that ProductSet. 3628 ProductLabels []*GoogleCloudVisionV1p1beta1ProductKeyValue `json:"productLabels,omitempty"` 3629 3630 // ForceSendFields is a list of field names (e.g. "Description") to 3631 // unconditionally include in API requests. By default, fields with 3632 // empty values are omitted from API requests. However, any non-pointer, 3633 // non-interface field appearing in ForceSendFields will be sent to the 3634 // server regardless of whether the field is empty or not. This may be 3635 // used to include empty fields in Patch requests. 3636 ForceSendFields []string `json:"-"` 3637 3638 // NullFields is a list of field names (e.g. "Description") to include 3639 // in API requests with the JSON null value. By default, fields with 3640 // empty values are omitted from API requests. However, any field with 3641 // an empty value appearing in NullFields will be sent to the server as 3642 // null. It is an error if a field in this list has a non-empty value. 3643 // This may be used to include null fields in Patch requests. 3644 NullFields []string `json:"-"` 3645} 3646 3647func (s *GoogleCloudVisionV1p1beta1Product) MarshalJSON() ([]byte, error) { 3648 type NoMethod GoogleCloudVisionV1p1beta1Product 3649 raw := NoMethod(*s) 3650 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3651} 3652 3653// GoogleCloudVisionV1p1beta1ProductKeyValue: A product label 3654// represented as a key-value pair. 3655type GoogleCloudVisionV1p1beta1ProductKeyValue struct { 3656 // Key: The key of the label attached to the product. Cannot be empty 3657 // and cannot 3658 // exceed 128 bytes. 3659 Key string `json:"key,omitempty"` 3660 3661 // Value: The value of the label attached to the product. Cannot be 3662 // empty and 3663 // cannot exceed 128 bytes. 3664 Value string `json:"value,omitempty"` 3665 3666 // ForceSendFields is a list of field names (e.g. "Key") to 3667 // unconditionally include in API requests. By default, fields with 3668 // empty values are omitted from API requests. However, any non-pointer, 3669 // non-interface field appearing in ForceSendFields will be sent to the 3670 // server regardless of whether the field is empty or not. This may be 3671 // used to include empty fields in Patch requests. 3672 ForceSendFields []string `json:"-"` 3673 3674 // NullFields is a list of field names (e.g. "Key") to include in API 3675 // requests with the JSON null value. By default, fields with empty 3676 // values are omitted from API requests. However, any field with an 3677 // empty value appearing in NullFields will be sent to the server as 3678 // null. It is an error if a field in this list has a non-empty value. 3679 // This may be used to include null fields in Patch requests. 3680 NullFields []string `json:"-"` 3681} 3682 3683func (s *GoogleCloudVisionV1p1beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 3684 type NoMethod GoogleCloudVisionV1p1beta1ProductKeyValue 3685 raw := NoMethod(*s) 3686 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3687} 3688 3689// GoogleCloudVisionV1p1beta1ProductSearchResults: Results for a product 3690// search request. 3691type GoogleCloudVisionV1p1beta1ProductSearchResults struct { 3692 // IndexTime: Timestamp of the index which provided these results. 3693 // Products added to the 3694 // product set and products removed from the product set after this time 3695 // are 3696 // not reflected in the current results. 3697 IndexTime string `json:"indexTime,omitempty"` 3698 3699 // ProductGroupedResults: List of results grouped by products detected 3700 // in the query image. Each entry 3701 // corresponds to one bounding polygon in the query image, and contains 3702 // the 3703 // matching products specific to that region. There may be duplicate 3704 // product 3705 // matches in the union of all the per-product results. 3706 ProductGroupedResults []*GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 3707 3708 // Results: List of results, one for each product match. 3709 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 3710 3711 // ForceSendFields is a list of field names (e.g. "IndexTime") to 3712 // unconditionally include in API requests. By default, fields with 3713 // empty values are omitted from API requests. However, any non-pointer, 3714 // non-interface field appearing in ForceSendFields will be sent to the 3715 // server regardless of whether the field is empty or not. This may be 3716 // used to include empty fields in Patch requests. 3717 ForceSendFields []string `json:"-"` 3718 3719 // NullFields is a list of field names (e.g. "IndexTime") to include in 3720 // API requests with the JSON null value. By default, fields with empty 3721 // values are omitted from API requests. However, any field with an 3722 // empty value appearing in NullFields will be sent to the server as 3723 // null. It is an error if a field in this list has a non-empty value. 3724 // This may be used to include null fields in Patch requests. 3725 NullFields []string `json:"-"` 3726} 3727 3728func (s *GoogleCloudVisionV1p1beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 3729 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResults 3730 raw := NoMethod(*s) 3731 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3732} 3733 3734// GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult: 3735// Information about the products similar to a single product in a 3736// query 3737// image. 3738type GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult struct { 3739 // BoundingPoly: The bounding polygon around the product detected in the 3740 // query image. 3741 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 3742 3743 // ObjectAnnotations: List of generic predictions for the object in the 3744 // bounding box. 3745 ObjectAnnotations []*GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 3746 3747 // Results: List of results, one for each product match. 3748 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 3749 3750 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 3751 // unconditionally include in API requests. By default, fields with 3752 // empty values are omitted from API requests. However, any non-pointer, 3753 // non-interface field appearing in ForceSendFields will be sent to the 3754 // server regardless of whether the field is empty or not. This may be 3755 // used to include empty fields in Patch requests. 3756 ForceSendFields []string `json:"-"` 3757 3758 // NullFields is a list of field names (e.g. "BoundingPoly") to include 3759 // in API requests with the JSON null value. By default, fields with 3760 // empty values are omitted from API requests. However, any field with 3761 // an empty value appearing in NullFields will be sent to the server as 3762 // null. It is an error if a field in this list has a non-empty value. 3763 // This may be used to include null fields in Patch requests. 3764 NullFields []string `json:"-"` 3765} 3766 3767func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 3768 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult 3769 raw := NoMethod(*s) 3770 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3771} 3772 3773// GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation: 3774// Prediction for what the object in the bounding box is. 3775type GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation struct { 3776 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 3777 // For more 3778 // information, 3779 // see 3780 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3781 LanguageCode string `json:"languageCode,omitempty"` 3782 3783 // Mid: Object ID that should align with EntityAnnotation mid. 3784 Mid string `json:"mid,omitempty"` 3785 3786 // Name: Object name, expressed in its `language_code` language. 3787 Name string `json:"name,omitempty"` 3788 3789 // Score: Score of the result. Range [0, 1]. 3790 Score float64 `json:"score,omitempty"` 3791 3792 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 3793 // unconditionally include in API requests. By default, fields with 3794 // empty values are omitted from API requests. However, any non-pointer, 3795 // non-interface field appearing in ForceSendFields will be sent to the 3796 // server regardless of whether the field is empty or not. This may be 3797 // used to include empty fields in Patch requests. 3798 ForceSendFields []string `json:"-"` 3799 3800 // NullFields is a list of field names (e.g. "LanguageCode") to include 3801 // in API requests with the JSON null value. By default, fields with 3802 // empty values are omitted from API requests. However, any field with 3803 // an empty value appearing in NullFields will be sent to the server as 3804 // null. It is an error if a field in this list has a non-empty value. 3805 // This may be used to include null fields in Patch requests. 3806 NullFields []string `json:"-"` 3807} 3808 3809func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 3810 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 3811 raw := NoMethod(*s) 3812 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3813} 3814 3815func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 3816 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 3817 var s1 struct { 3818 Score gensupport.JSONFloat64 `json:"score"` 3819 *NoMethod 3820 } 3821 s1.NoMethod = (*NoMethod)(s) 3822 if err := json.Unmarshal(data, &s1); err != nil { 3823 return err 3824 } 3825 s.Score = float64(s1.Score) 3826 return nil 3827} 3828 3829// GoogleCloudVisionV1p1beta1ProductSearchResultsResult: Information 3830// about a product. 3831type GoogleCloudVisionV1p1beta1ProductSearchResultsResult struct { 3832 // Image: The resource name of the image from the product that is the 3833 // closest match 3834 // to the query. 3835 Image string `json:"image,omitempty"` 3836 3837 // Product: The Product. 3838 Product *GoogleCloudVisionV1p1beta1Product `json:"product,omitempty"` 3839 3840 // Score: A confidence level on the match, ranging from 0 (no 3841 // confidence) to 3842 // 1 (full confidence). 3843 Score float64 `json:"score,omitempty"` 3844 3845 // ForceSendFields is a list of field names (e.g. "Image") to 3846 // unconditionally include in API requests. By default, fields with 3847 // empty values are omitted from API requests. However, any non-pointer, 3848 // non-interface field appearing in ForceSendFields will be sent to the 3849 // server regardless of whether the field is empty or not. This may be 3850 // used to include empty fields in Patch requests. 3851 ForceSendFields []string `json:"-"` 3852 3853 // NullFields is a list of field names (e.g. "Image") to include in API 3854 // requests with the JSON null value. By default, fields with empty 3855 // values are omitted from API requests. However, any field with an 3856 // empty value appearing in NullFields will be sent to the server as 3857 // null. It is an error if a field in this list has a non-empty value. 3858 // This may be used to include null fields in Patch requests. 3859 NullFields []string `json:"-"` 3860} 3861 3862func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 3863 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3864 raw := NoMethod(*s) 3865 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3866} 3867 3868func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 3869 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3870 var s1 struct { 3871 Score gensupport.JSONFloat64 `json:"score"` 3872 *NoMethod 3873 } 3874 s1.NoMethod = (*NoMethod)(s) 3875 if err := json.Unmarshal(data, &s1); err != nil { 3876 return err 3877 } 3878 s.Score = float64(s1.Score) 3879 return nil 3880} 3881 3882// GoogleCloudVisionV1p1beta1Property: A `Property` consists of a 3883// user-supplied name/value pair. 3884type GoogleCloudVisionV1p1beta1Property struct { 3885 // Name: Name of the property. 3886 Name string `json:"name,omitempty"` 3887 3888 // Uint64Value: Value of numeric properties. 3889 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 3890 3891 // Value: Value of the property. 3892 Value string `json:"value,omitempty"` 3893 3894 // ForceSendFields is a list of field names (e.g. "Name") to 3895 // unconditionally include in API requests. By default, fields with 3896 // empty values are omitted from API requests. However, any non-pointer, 3897 // non-interface field appearing in ForceSendFields will be sent to the 3898 // server regardless of whether the field is empty or not. This may be 3899 // used to include empty fields in Patch requests. 3900 ForceSendFields []string `json:"-"` 3901 3902 // NullFields is a list of field names (e.g. "Name") to include in API 3903 // requests with the JSON null value. By default, fields with empty 3904 // values are omitted from API requests. However, any field with an 3905 // empty value appearing in NullFields will be sent to the server as 3906 // null. It is an error if a field in this list has a non-empty value. 3907 // This may be used to include null fields in Patch requests. 3908 NullFields []string `json:"-"` 3909} 3910 3911func (s *GoogleCloudVisionV1p1beta1Property) MarshalJSON() ([]byte, error) { 3912 type NoMethod GoogleCloudVisionV1p1beta1Property 3913 raw := NoMethod(*s) 3914 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3915} 3916 3917// GoogleCloudVisionV1p1beta1SafeSearchAnnotation: Set of features 3918// pertaining to the image, computed by computer vision 3919// methods over safe-search verticals (for example, adult, spoof, 3920// medical, 3921// violence). 3922type GoogleCloudVisionV1p1beta1SafeSearchAnnotation struct { 3923 // Adult: Represents the adult content likelihood for the image. Adult 3924 // content may 3925 // contain elements such as nudity, pornographic images or cartoons, 3926 // or 3927 // sexual activities. 3928 // 3929 // Possible values: 3930 // "UNKNOWN" - Unknown likelihood. 3931 // "VERY_UNLIKELY" - It is very unlikely. 3932 // "UNLIKELY" - It is unlikely. 3933 // "POSSIBLE" - It is possible. 3934 // "LIKELY" - It is likely. 3935 // "VERY_LIKELY" - It is very likely. 3936 Adult string `json:"adult,omitempty"` 3937 3938 // Medical: Likelihood that this is a medical image. 3939 // 3940 // Possible values: 3941 // "UNKNOWN" - Unknown likelihood. 3942 // "VERY_UNLIKELY" - It is very unlikely. 3943 // "UNLIKELY" - It is unlikely. 3944 // "POSSIBLE" - It is possible. 3945 // "LIKELY" - It is likely. 3946 // "VERY_LIKELY" - It is very likely. 3947 Medical string `json:"medical,omitempty"` 3948 3949 // Racy: Likelihood that the request image contains racy content. Racy 3950 // content may 3951 // include (but is not limited to) skimpy or sheer clothing, 3952 // strategically 3953 // covered nudity, lewd or provocative poses, or close-ups of 3954 // sensitive 3955 // body areas. 3956 // 3957 // Possible values: 3958 // "UNKNOWN" - Unknown likelihood. 3959 // "VERY_UNLIKELY" - It is very unlikely. 3960 // "UNLIKELY" - It is unlikely. 3961 // "POSSIBLE" - It is possible. 3962 // "LIKELY" - It is likely. 3963 // "VERY_LIKELY" - It is very likely. 3964 Racy string `json:"racy,omitempty"` 3965 3966 // Spoof: Spoof likelihood. The likelihood that an modification 3967 // was made to the image's canonical version to make it appear 3968 // funny or offensive. 3969 // 3970 // Possible values: 3971 // "UNKNOWN" - Unknown likelihood. 3972 // "VERY_UNLIKELY" - It is very unlikely. 3973 // "UNLIKELY" - It is unlikely. 3974 // "POSSIBLE" - It is possible. 3975 // "LIKELY" - It is likely. 3976 // "VERY_LIKELY" - It is very likely. 3977 Spoof string `json:"spoof,omitempty"` 3978 3979 // Violence: Likelihood that this image contains violent content. 3980 // 3981 // Possible values: 3982 // "UNKNOWN" - Unknown likelihood. 3983 // "VERY_UNLIKELY" - It is very unlikely. 3984 // "UNLIKELY" - It is unlikely. 3985 // "POSSIBLE" - It is possible. 3986 // "LIKELY" - It is likely. 3987 // "VERY_LIKELY" - It is very likely. 3988 Violence string `json:"violence,omitempty"` 3989 3990 // ForceSendFields is a list of field names (e.g. "Adult") to 3991 // unconditionally include in API requests. By default, fields with 3992 // empty values are omitted from API requests. However, any non-pointer, 3993 // non-interface field appearing in ForceSendFields will be sent to the 3994 // server regardless of whether the field is empty or not. This may be 3995 // used to include empty fields in Patch requests. 3996 ForceSendFields []string `json:"-"` 3997 3998 // NullFields is a list of field names (e.g. "Adult") to include in API 3999 // requests with the JSON null value. By default, fields with empty 4000 // values are omitted from API requests. However, any field with an 4001 // empty value appearing in NullFields will be sent to the server as 4002 // null. It is an error if a field in this list has a non-empty value. 4003 // This may be used to include null fields in Patch requests. 4004 NullFields []string `json:"-"` 4005} 4006 4007func (s *GoogleCloudVisionV1p1beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 4008 type NoMethod GoogleCloudVisionV1p1beta1SafeSearchAnnotation 4009 raw := NoMethod(*s) 4010 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4011} 4012 4013// GoogleCloudVisionV1p1beta1Symbol: A single symbol representation. 4014type GoogleCloudVisionV1p1beta1Symbol struct { 4015 // BoundingBox: The bounding box for the symbol. 4016 // The vertices are in the order of top-left, top-right, 4017 // bottom-right, 4018 // bottom-left. When a rotation of the bounding box is detected the 4019 // rotation 4020 // is represented as around the top-left corner as defined when the text 4021 // is 4022 // read in the 'natural' orientation. 4023 // For example: 4024 // * when the text is horizontal it might look like: 4025 // 0----1 4026 // | | 4027 // 3----2 4028 // * when it's rotated 180 degrees around the top-left corner it 4029 // becomes: 4030 // 2----3 4031 // | | 4032 // 1----0 4033 // and the vertex order will still be (0, 1, 2, 3). 4034 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 4035 4036 // Confidence: Confidence of the OCR results for the symbol. Range [0, 4037 // 1]. 4038 Confidence float64 `json:"confidence,omitempty"` 4039 4040 // Property: Additional information detected for the symbol. 4041 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 4042 4043 // Text: The actual UTF-8 representation of the symbol. 4044 Text string `json:"text,omitempty"` 4045 4046 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 4047 // unconditionally include in API requests. By default, fields with 4048 // empty values are omitted from API requests. However, any non-pointer, 4049 // non-interface field appearing in ForceSendFields will be sent to the 4050 // server regardless of whether the field is empty or not. This may be 4051 // used to include empty fields in Patch requests. 4052 ForceSendFields []string `json:"-"` 4053 4054 // NullFields is a list of field names (e.g. "BoundingBox") to include 4055 // in API requests with the JSON null value. By default, fields with 4056 // empty values are omitted from API requests. However, any field with 4057 // an empty value appearing in NullFields will be sent to the server as 4058 // null. It is an error if a field in this list has a non-empty value. 4059 // This may be used to include null fields in Patch requests. 4060 NullFields []string `json:"-"` 4061} 4062 4063func (s *GoogleCloudVisionV1p1beta1Symbol) MarshalJSON() ([]byte, error) { 4064 type NoMethod GoogleCloudVisionV1p1beta1Symbol 4065 raw := NoMethod(*s) 4066 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4067} 4068 4069func (s *GoogleCloudVisionV1p1beta1Symbol) UnmarshalJSON(data []byte) error { 4070 type NoMethod GoogleCloudVisionV1p1beta1Symbol 4071 var s1 struct { 4072 Confidence gensupport.JSONFloat64 `json:"confidence"` 4073 *NoMethod 4074 } 4075 s1.NoMethod = (*NoMethod)(s) 4076 if err := json.Unmarshal(data, &s1); err != nil { 4077 return err 4078 } 4079 s.Confidence = float64(s1.Confidence) 4080 return nil 4081} 4082 4083// GoogleCloudVisionV1p1beta1TextAnnotation: TextAnnotation contains a 4084// structured representation of OCR extracted text. 4085// The hierarchy of an OCR extracted text structure is like this: 4086// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 4087// Symbol 4088// Each structural component, starting from Page, may further have their 4089// own 4090// properties. Properties describe detected languages, breaks etc.. 4091// Please refer 4092// to the TextAnnotation.TextProperty message definition below for 4093// more 4094// detail. 4095type GoogleCloudVisionV1p1beta1TextAnnotation struct { 4096 // Pages: List of pages detected by OCR. 4097 Pages []*GoogleCloudVisionV1p1beta1Page `json:"pages,omitempty"` 4098 4099 // Text: UTF-8 text detected on the pages. 4100 Text string `json:"text,omitempty"` 4101 4102 // ForceSendFields is a list of field names (e.g. "Pages") to 4103 // unconditionally include in API requests. By default, fields with 4104 // empty values are omitted from API requests. However, any non-pointer, 4105 // non-interface field appearing in ForceSendFields will be sent to the 4106 // server regardless of whether the field is empty or not. This may be 4107 // used to include empty fields in Patch requests. 4108 ForceSendFields []string `json:"-"` 4109 4110 // NullFields is a list of field names (e.g. "Pages") to include in API 4111 // requests with the JSON null value. By default, fields with empty 4112 // values are omitted from API requests. However, any field with an 4113 // empty value appearing in NullFields will be sent to the server as 4114 // null. It is an error if a field in this list has a non-empty value. 4115 // This may be used to include null fields in Patch requests. 4116 NullFields []string `json:"-"` 4117} 4118 4119func (s *GoogleCloudVisionV1p1beta1TextAnnotation) MarshalJSON() ([]byte, error) { 4120 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotation 4121 raw := NoMethod(*s) 4122 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4123} 4124 4125// GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak: Detected start 4126// or end of a structural component. 4127type GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak struct { 4128 // IsPrefix: True if break prepends the element. 4129 IsPrefix bool `json:"isPrefix,omitempty"` 4130 4131 // Type: Detected break type. 4132 // 4133 // Possible values: 4134 // "UNKNOWN" - Unknown break label type. 4135 // "SPACE" - Regular space. 4136 // "SURE_SPACE" - Sure space (very wide). 4137 // "EOL_SURE_SPACE" - Line-wrapping break. 4138 // "HYPHEN" - End-line hyphen that is not present in text; does not 4139 // co-occur with 4140 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 4141 // "LINE_BREAK" - Line break that ends a paragraph. 4142 Type string `json:"type,omitempty"` 4143 4144 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 4145 // unconditionally include in API requests. By default, fields with 4146 // empty values are omitted from API requests. However, any non-pointer, 4147 // non-interface field appearing in ForceSendFields will be sent to the 4148 // server regardless of whether the field is empty or not. This may be 4149 // used to include empty fields in Patch requests. 4150 ForceSendFields []string `json:"-"` 4151 4152 // NullFields is a list of field names (e.g. "IsPrefix") to include in 4153 // API requests with the JSON null value. By default, fields with empty 4154 // values are omitted from API requests. However, any field with an 4155 // empty value appearing in NullFields will be sent to the server as 4156 // null. It is an error if a field in this list has a non-empty value. 4157 // This may be used to include null fields in Patch requests. 4158 NullFields []string `json:"-"` 4159} 4160 4161func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 4162 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak 4163 raw := NoMethod(*s) 4164 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4165} 4166 4167// GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage: Detected 4168// language for a structural component. 4169type GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage struct { 4170 // Confidence: Confidence of detected language. Range [0, 1]. 4171 Confidence float64 `json:"confidence,omitempty"` 4172 4173 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 4174 // For more 4175 // information, 4176 // see 4177 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 4178 LanguageCode string `json:"languageCode,omitempty"` 4179 4180 // ForceSendFields is a list of field names (e.g. "Confidence") to 4181 // unconditionally include in API requests. By default, fields with 4182 // empty values are omitted from API requests. However, any non-pointer, 4183 // non-interface field appearing in ForceSendFields will be sent to the 4184 // server regardless of whether the field is empty or not. This may be 4185 // used to include empty fields in Patch requests. 4186 ForceSendFields []string `json:"-"` 4187 4188 // NullFields is a list of field names (e.g. "Confidence") to include in 4189 // API requests with the JSON null value. By default, fields with empty 4190 // values are omitted from API requests. However, any field with an 4191 // empty value appearing in NullFields will be sent to the server as 4192 // null. It is an error if a field in this list has a non-empty value. 4193 // This may be used to include null fields in Patch requests. 4194 NullFields []string `json:"-"` 4195} 4196 4197func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 4198 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 4199 raw := NoMethod(*s) 4200 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4201} 4202 4203func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 4204 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 4205 var s1 struct { 4206 Confidence gensupport.JSONFloat64 `json:"confidence"` 4207 *NoMethod 4208 } 4209 s1.NoMethod = (*NoMethod)(s) 4210 if err := json.Unmarshal(data, &s1); err != nil { 4211 return err 4212 } 4213 s.Confidence = float64(s1.Confidence) 4214 return nil 4215} 4216 4217// GoogleCloudVisionV1p1beta1TextAnnotationTextProperty: Additional 4218// information detected on the structural component. 4219type GoogleCloudVisionV1p1beta1TextAnnotationTextProperty struct { 4220 // DetectedBreak: Detected start or end of a text segment. 4221 DetectedBreak *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 4222 4223 // DetectedLanguages: A list of detected languages together with 4224 // confidence. 4225 DetectedLanguages []*GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 4226 4227 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 4228 // unconditionally include in API requests. By default, fields with 4229 // empty values are omitted from API requests. However, any non-pointer, 4230 // non-interface field appearing in ForceSendFields will be sent to the 4231 // server regardless of whether the field is empty or not. This may be 4232 // used to include empty fields in Patch requests. 4233 ForceSendFields []string `json:"-"` 4234 4235 // NullFields is a list of field names (e.g. "DetectedBreak") to include 4236 // in API requests with the JSON null value. By default, fields with 4237 // empty values are omitted from API requests. However, any field with 4238 // an empty value appearing in NullFields will be sent to the server as 4239 // null. It is an error if a field in this list has a non-empty value. 4240 // This may be used to include null fields in Patch requests. 4241 NullFields []string `json:"-"` 4242} 4243 4244func (s *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 4245 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationTextProperty 4246 raw := NoMethod(*s) 4247 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4248} 4249 4250// GoogleCloudVisionV1p1beta1Vertex: A vertex represents a 2D point in 4251// the image. 4252// NOTE: the vertex coordinates are in the same scale as the original 4253// image. 4254type GoogleCloudVisionV1p1beta1Vertex struct { 4255 // X: X coordinate. 4256 X int64 `json:"x,omitempty"` 4257 4258 // Y: Y coordinate. 4259 Y int64 `json:"y,omitempty"` 4260 4261 // ForceSendFields is a list of field names (e.g. "X") to 4262 // unconditionally include in API requests. By default, fields with 4263 // empty values are omitted from API requests. However, any non-pointer, 4264 // non-interface field appearing in ForceSendFields will be sent to the 4265 // server regardless of whether the field is empty or not. This may be 4266 // used to include empty fields in Patch requests. 4267 ForceSendFields []string `json:"-"` 4268 4269 // NullFields is a list of field names (e.g. "X") to include in API 4270 // requests with the JSON null value. By default, fields with empty 4271 // values are omitted from API requests. However, any field with an 4272 // empty value appearing in NullFields will be sent to the server as 4273 // null. It is an error if a field in this list has a non-empty value. 4274 // This may be used to include null fields in Patch requests. 4275 NullFields []string `json:"-"` 4276} 4277 4278func (s *GoogleCloudVisionV1p1beta1Vertex) MarshalJSON() ([]byte, error) { 4279 type NoMethod GoogleCloudVisionV1p1beta1Vertex 4280 raw := NoMethod(*s) 4281 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4282} 4283 4284// GoogleCloudVisionV1p1beta1WebDetection: Relevant information for the 4285// image from the Internet. 4286type GoogleCloudVisionV1p1beta1WebDetection struct { 4287 // BestGuessLabels: The service's best guess as to the topic of the 4288 // request image. 4289 // Inferred from similar images on the open web. 4290 BestGuessLabels []*GoogleCloudVisionV1p1beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 4291 4292 // FullMatchingImages: Fully matching images from the Internet. 4293 // Can include resized copies of the query image. 4294 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 4295 4296 // PagesWithMatchingImages: Web pages containing the matching images 4297 // from the Internet. 4298 PagesWithMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 4299 4300 // PartialMatchingImages: Partial matching images from the 4301 // Internet. 4302 // Those images are similar enough to share some key-point features. 4303 // For 4304 // example an original image will likely have partial matching for its 4305 // crops. 4306 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 4307 4308 // VisuallySimilarImages: The visually similar image results. 4309 VisuallySimilarImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 4310 4311 // WebEntities: Deduced entities from similar images on the Internet. 4312 WebEntities []*GoogleCloudVisionV1p1beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 4313 4314 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 4315 // unconditionally include in API requests. By default, fields with 4316 // empty values are omitted from API requests. However, any non-pointer, 4317 // non-interface field appearing in ForceSendFields will be sent to the 4318 // server regardless of whether the field is empty or not. This may be 4319 // used to include empty fields in Patch requests. 4320 ForceSendFields []string `json:"-"` 4321 4322 // NullFields is a list of field names (e.g. "BestGuessLabels") to 4323 // include in API requests with the JSON null value. By default, fields 4324 // with empty values are omitted from API requests. However, any field 4325 // with an empty value appearing in NullFields will be sent to the 4326 // server as null. It is an error if a field in this list has a 4327 // non-empty value. This may be used to include null fields in Patch 4328 // requests. 4329 NullFields []string `json:"-"` 4330} 4331 4332func (s *GoogleCloudVisionV1p1beta1WebDetection) MarshalJSON() ([]byte, error) { 4333 type NoMethod GoogleCloudVisionV1p1beta1WebDetection 4334 raw := NoMethod(*s) 4335 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4336} 4337 4338// GoogleCloudVisionV1p1beta1WebDetectionWebEntity: Entity deduced from 4339// similar images on the Internet. 4340type GoogleCloudVisionV1p1beta1WebDetectionWebEntity struct { 4341 // Description: Canonical description of the entity, in English. 4342 Description string `json:"description,omitempty"` 4343 4344 // EntityId: Opaque entity ID. 4345 EntityId string `json:"entityId,omitempty"` 4346 4347 // Score: Overall relevancy score for the entity. 4348 // Not normalized and not comparable across different image queries. 4349 Score float64 `json:"score,omitempty"` 4350 4351 // ForceSendFields is a list of field names (e.g. "Description") to 4352 // unconditionally include in API requests. By default, fields with 4353 // empty values are omitted from API requests. However, any non-pointer, 4354 // non-interface field appearing in ForceSendFields will be sent to the 4355 // server regardless of whether the field is empty or not. This may be 4356 // used to include empty fields in Patch requests. 4357 ForceSendFields []string `json:"-"` 4358 4359 // NullFields is a list of field names (e.g. "Description") to include 4360 // in API requests with the JSON null value. By default, fields with 4361 // empty values are omitted from API requests. However, any field with 4362 // an empty value appearing in NullFields will be sent to the server as 4363 // null. It is an error if a field in this list has a non-empty value. 4364 // This may be used to include null fields in Patch requests. 4365 NullFields []string `json:"-"` 4366} 4367 4368func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 4369 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 4370 raw := NoMethod(*s) 4371 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4372} 4373 4374func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 4375 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 4376 var s1 struct { 4377 Score gensupport.JSONFloat64 `json:"score"` 4378 *NoMethod 4379 } 4380 s1.NoMethod = (*NoMethod)(s) 4381 if err := json.Unmarshal(data, &s1); err != nil { 4382 return err 4383 } 4384 s.Score = float64(s1.Score) 4385 return nil 4386} 4387 4388// GoogleCloudVisionV1p1beta1WebDetectionWebImage: Metadata for online 4389// images. 4390type GoogleCloudVisionV1p1beta1WebDetectionWebImage struct { 4391 // Score: (Deprecated) Overall relevancy score for the image. 4392 Score float64 `json:"score,omitempty"` 4393 4394 // Url: The result image URL. 4395 Url string `json:"url,omitempty"` 4396 4397 // ForceSendFields is a list of field names (e.g. "Score") to 4398 // unconditionally include in API requests. By default, fields with 4399 // empty values are omitted from API requests. However, any non-pointer, 4400 // non-interface field appearing in ForceSendFields will be sent to the 4401 // server regardless of whether the field is empty or not. This may be 4402 // used to include empty fields in Patch requests. 4403 ForceSendFields []string `json:"-"` 4404 4405 // NullFields is a list of field names (e.g. "Score") to include in API 4406 // requests with the JSON null value. By default, fields with empty 4407 // values are omitted from API requests. However, any field with an 4408 // empty value appearing in NullFields will be sent to the server as 4409 // null. It is an error if a field in this list has a non-empty value. 4410 // This may be used to include null fields in Patch requests. 4411 NullFields []string `json:"-"` 4412} 4413 4414func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 4415 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 4416 raw := NoMethod(*s) 4417 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4418} 4419 4420func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 4421 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 4422 var s1 struct { 4423 Score gensupport.JSONFloat64 `json:"score"` 4424 *NoMethod 4425 } 4426 s1.NoMethod = (*NoMethod)(s) 4427 if err := json.Unmarshal(data, &s1); err != nil { 4428 return err 4429 } 4430 s.Score = float64(s1.Score) 4431 return nil 4432} 4433 4434// GoogleCloudVisionV1p1beta1WebDetectionWebLabel: Label to provide 4435// extra metadata for the web detection. 4436type GoogleCloudVisionV1p1beta1WebDetectionWebLabel struct { 4437 // Label: Label for extra metadata. 4438 Label string `json:"label,omitempty"` 4439 4440 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 4441 // or "sr-Latn". 4442 // For more information, 4443 // see 4444 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 4445 LanguageCode string `json:"languageCode,omitempty"` 4446 4447 // ForceSendFields is a list of field names (e.g. "Label") to 4448 // unconditionally include in API requests. By default, fields with 4449 // empty values are omitted from API requests. However, any non-pointer, 4450 // non-interface field appearing in ForceSendFields will be sent to the 4451 // server regardless of whether the field is empty or not. This may be 4452 // used to include empty fields in Patch requests. 4453 ForceSendFields []string `json:"-"` 4454 4455 // NullFields is a list of field names (e.g. "Label") to include in API 4456 // requests with the JSON null value. By default, fields with empty 4457 // values are omitted from API requests. However, any field with an 4458 // empty value appearing in NullFields will be sent to the server as 4459 // null. It is an error if a field in this list has a non-empty value. 4460 // This may be used to include null fields in Patch requests. 4461 NullFields []string `json:"-"` 4462} 4463 4464func (s *GoogleCloudVisionV1p1beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 4465 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebLabel 4466 raw := NoMethod(*s) 4467 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4468} 4469 4470// GoogleCloudVisionV1p1beta1WebDetectionWebPage: Metadata for web 4471// pages. 4472type GoogleCloudVisionV1p1beta1WebDetectionWebPage struct { 4473 // FullMatchingImages: Fully matching images on the page. 4474 // Can include resized copies of the query image. 4475 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 4476 4477 // PageTitle: Title for the web page, may contain HTML markups. 4478 PageTitle string `json:"pageTitle,omitempty"` 4479 4480 // PartialMatchingImages: Partial matching images on the page. 4481 // Those images are similar enough to share some key-point features. 4482 // For 4483 // example an original image will likely have partial matching for 4484 // its 4485 // crops. 4486 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 4487 4488 // Score: (Deprecated) Overall relevancy score for the web page. 4489 Score float64 `json:"score,omitempty"` 4490 4491 // Url: The result web page URL. 4492 Url string `json:"url,omitempty"` 4493 4494 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 4495 // to unconditionally include in API requests. By default, fields with 4496 // empty values are omitted from API requests. However, any non-pointer, 4497 // non-interface field appearing in ForceSendFields will be sent to the 4498 // server regardless of whether the field is empty or not. This may be 4499 // used to include empty fields in Patch requests. 4500 ForceSendFields []string `json:"-"` 4501 4502 // NullFields is a list of field names (e.g. "FullMatchingImages") to 4503 // include in API requests with the JSON null value. By default, fields 4504 // with empty values are omitted from API requests. However, any field 4505 // with an empty value appearing in NullFields will be sent to the 4506 // server as null. It is an error if a field in this list has a 4507 // non-empty value. This may be used to include null fields in Patch 4508 // requests. 4509 NullFields []string `json:"-"` 4510} 4511 4512func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 4513 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 4514 raw := NoMethod(*s) 4515 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4516} 4517 4518func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 4519 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 4520 var s1 struct { 4521 Score gensupport.JSONFloat64 `json:"score"` 4522 *NoMethod 4523 } 4524 s1.NoMethod = (*NoMethod)(s) 4525 if err := json.Unmarshal(data, &s1); err != nil { 4526 return err 4527 } 4528 s.Score = float64(s1.Score) 4529 return nil 4530} 4531 4532// GoogleCloudVisionV1p1beta1Word: A word representation. 4533type GoogleCloudVisionV1p1beta1Word struct { 4534 // BoundingBox: The bounding box for the word. 4535 // The vertices are in the order of top-left, top-right, 4536 // bottom-right, 4537 // bottom-left. When a rotation of the bounding box is detected the 4538 // rotation 4539 // is represented as around the top-left corner as defined when the text 4540 // is 4541 // read in the 'natural' orientation. 4542 // For example: 4543 // * when the text is horizontal it might look like: 4544 // 0----1 4545 // | | 4546 // 3----2 4547 // * when it's rotated 180 degrees around the top-left corner it 4548 // becomes: 4549 // 2----3 4550 // | | 4551 // 1----0 4552 // and the vertex order will still be (0, 1, 2, 3). 4553 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 4554 4555 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 4556 Confidence float64 `json:"confidence,omitempty"` 4557 4558 // Property: Additional information detected for the word. 4559 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 4560 4561 // Symbols: List of symbols in the word. 4562 // The order of the symbols follows the natural reading order. 4563 Symbols []*GoogleCloudVisionV1p1beta1Symbol `json:"symbols,omitempty"` 4564 4565 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 4566 // unconditionally include in API requests. By default, fields with 4567 // empty values are omitted from API requests. However, any non-pointer, 4568 // non-interface field appearing in ForceSendFields will be sent to the 4569 // server regardless of whether the field is empty or not. This may be 4570 // used to include empty fields in Patch requests. 4571 ForceSendFields []string `json:"-"` 4572 4573 // NullFields is a list of field names (e.g. "BoundingBox") to include 4574 // in API requests with the JSON null value. By default, fields with 4575 // empty values are omitted from API requests. However, any field with 4576 // an empty value appearing in NullFields will be sent to the server as 4577 // null. It is an error if a field in this list has a non-empty value. 4578 // This may be used to include null fields in Patch requests. 4579 NullFields []string `json:"-"` 4580} 4581 4582func (s *GoogleCloudVisionV1p1beta1Word) MarshalJSON() ([]byte, error) { 4583 type NoMethod GoogleCloudVisionV1p1beta1Word 4584 raw := NoMethod(*s) 4585 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4586} 4587 4588func (s *GoogleCloudVisionV1p1beta1Word) UnmarshalJSON(data []byte) error { 4589 type NoMethod GoogleCloudVisionV1p1beta1Word 4590 var s1 struct { 4591 Confidence gensupport.JSONFloat64 `json:"confidence"` 4592 *NoMethod 4593 } 4594 s1.NoMethod = (*NoMethod)(s) 4595 if err := json.Unmarshal(data, &s1); err != nil { 4596 return err 4597 } 4598 s.Confidence = float64(s1.Confidence) 4599 return nil 4600} 4601 4602// GoogleCloudVisionV1p2beta1AnnotateFileResponse: Response to a single 4603// file annotation request. A file may contain one or more 4604// images, which individually have their own responses. 4605type GoogleCloudVisionV1p2beta1AnnotateFileResponse struct { 4606 // Error: If set, represents the error message for the failed request. 4607 // The 4608 // `responses` field will not be set in this case. 4609 Error *Status `json:"error,omitempty"` 4610 4611 // InputConfig: Information about the file for which this response is 4612 // generated. 4613 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 4614 4615 // Responses: Individual responses to images found within the file. This 4616 // field will be 4617 // empty if the `error` field is set. 4618 Responses []*GoogleCloudVisionV1p2beta1AnnotateImageResponse `json:"responses,omitempty"` 4619 4620 // TotalPages: This field gives the total number of pages in the file. 4621 TotalPages int64 `json:"totalPages,omitempty"` 4622 4623 // ForceSendFields is a list of field names (e.g. "Error") to 4624 // unconditionally include in API requests. By default, fields with 4625 // empty values are omitted from API requests. However, any non-pointer, 4626 // non-interface field appearing in ForceSendFields will be sent to the 4627 // server regardless of whether the field is empty or not. This may be 4628 // used to include empty fields in Patch requests. 4629 ForceSendFields []string `json:"-"` 4630 4631 // NullFields is a list of field names (e.g. "Error") to include in API 4632 // requests with the JSON null value. By default, fields with empty 4633 // values are omitted from API requests. However, any field with an 4634 // empty value appearing in NullFields will be sent to the server as 4635 // null. It is an error if a field in this list has a non-empty value. 4636 // This may be used to include null fields in Patch requests. 4637 NullFields []string `json:"-"` 4638} 4639 4640func (s *GoogleCloudVisionV1p2beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 4641 type NoMethod GoogleCloudVisionV1p2beta1AnnotateFileResponse 4642 raw := NoMethod(*s) 4643 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4644} 4645 4646// GoogleCloudVisionV1p2beta1AnnotateImageResponse: Response to an image 4647// annotation request. 4648type GoogleCloudVisionV1p2beta1AnnotateImageResponse struct { 4649 // Context: If present, contextual information is needed to understand 4650 // where this image 4651 // comes from. 4652 Context *GoogleCloudVisionV1p2beta1ImageAnnotationContext `json:"context,omitempty"` 4653 4654 // CropHintsAnnotation: If present, crop hints have completed 4655 // successfully. 4656 CropHintsAnnotation *GoogleCloudVisionV1p2beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 4657 4658 // Error: If set, represents the error message for the operation. 4659 // Note that filled-in image annotations are guaranteed to be 4660 // correct, even when `error` is set. 4661 Error *Status `json:"error,omitempty"` 4662 4663 // FaceAnnotations: If present, face detection has completed 4664 // successfully. 4665 FaceAnnotations []*GoogleCloudVisionV1p2beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 4666 4667 // FullTextAnnotation: If present, text (OCR) detection or document 4668 // (OCR) text detection has 4669 // completed successfully. 4670 // This annotation provides the structural hierarchy for the OCR 4671 // detected 4672 // text. 4673 FullTextAnnotation *GoogleCloudVisionV1p2beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 4674 4675 // ImagePropertiesAnnotation: If present, image properties were 4676 // extracted successfully. 4677 ImagePropertiesAnnotation *GoogleCloudVisionV1p2beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 4678 4679 // LabelAnnotations: If present, label detection has completed 4680 // successfully. 4681 LabelAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 4682 4683 // LandmarkAnnotations: If present, landmark detection has completed 4684 // successfully. 4685 LandmarkAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 4686 4687 // LocalizedObjectAnnotations: If present, localized object detection 4688 // has completed successfully. 4689 // This will be sorted descending by confidence score. 4690 LocalizedObjectAnnotations []*GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 4691 4692 // LogoAnnotations: If present, logo detection has completed 4693 // successfully. 4694 LogoAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 4695 4696 // ProductSearchResults: If present, product search has completed 4697 // successfully. 4698 ProductSearchResults *GoogleCloudVisionV1p2beta1ProductSearchResults `json:"productSearchResults,omitempty"` 4699 4700 // SafeSearchAnnotation: If present, safe-search annotation has 4701 // completed successfully. 4702 SafeSearchAnnotation *GoogleCloudVisionV1p2beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 4703 4704 // TextAnnotations: If present, text (OCR) detection has completed 4705 // successfully. 4706 TextAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"textAnnotations,omitempty"` 4707 4708 // WebDetection: If present, web detection has completed successfully. 4709 WebDetection *GoogleCloudVisionV1p2beta1WebDetection `json:"webDetection,omitempty"` 4710 4711 // ForceSendFields is a list of field names (e.g. "Context") to 4712 // unconditionally include in API requests. By default, fields with 4713 // empty values are omitted from API requests. However, any non-pointer, 4714 // non-interface field appearing in ForceSendFields will be sent to the 4715 // server regardless of whether the field is empty or not. This may be 4716 // used to include empty fields in Patch requests. 4717 ForceSendFields []string `json:"-"` 4718 4719 // NullFields is a list of field names (e.g. "Context") to include in 4720 // API requests with the JSON null value. By default, fields with empty 4721 // values are omitted from API requests. However, any field with an 4722 // empty value appearing in NullFields will be sent to the server as 4723 // null. It is an error if a field in this list has a non-empty value. 4724 // This may be used to include null fields in Patch requests. 4725 NullFields []string `json:"-"` 4726} 4727 4728func (s *GoogleCloudVisionV1p2beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 4729 type NoMethod GoogleCloudVisionV1p2beta1AnnotateImageResponse 4730 raw := NoMethod(*s) 4731 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4732} 4733 4734// GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse: The response for 4735// a single offline file annotation request. 4736type GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse struct { 4737 // OutputConfig: The output location and metadata from 4738 // AsyncAnnotateFileRequest. 4739 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 4740 4741 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 4742 // unconditionally include in API requests. By default, fields with 4743 // empty values are omitted from API requests. However, any non-pointer, 4744 // non-interface field appearing in ForceSendFields will be sent to the 4745 // server regardless of whether the field is empty or not. This may be 4746 // used to include empty fields in Patch requests. 4747 ForceSendFields []string `json:"-"` 4748 4749 // NullFields is a list of field names (e.g. "OutputConfig") to include 4750 // in API requests with the JSON null value. By default, fields with 4751 // empty values are omitted from API requests. However, any field with 4752 // an empty value appearing in NullFields will be sent to the server as 4753 // null. It is an error if a field in this list has a non-empty value. 4754 // This may be used to include null fields in Patch requests. 4755 NullFields []string `json:"-"` 4756} 4757 4758func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 4759 type NoMethod GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse 4760 raw := NoMethod(*s) 4761 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4762} 4763 4764// GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse: Response 4765// to an async batch file annotation request. 4766type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse struct { 4767 // Responses: The list of file annotation responses, one for each 4768 // request in 4769 // AsyncBatchAnnotateFilesRequest. 4770 Responses []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 4771 4772 // ForceSendFields is a list of field names (e.g. "Responses") to 4773 // unconditionally include in API requests. By default, fields with 4774 // empty values are omitted from API requests. However, any non-pointer, 4775 // non-interface field appearing in ForceSendFields will be sent to the 4776 // server regardless of whether the field is empty or not. This may be 4777 // used to include empty fields in Patch requests. 4778 ForceSendFields []string `json:"-"` 4779 4780 // NullFields is a list of field names (e.g. "Responses") to include in 4781 // API requests with the JSON null value. By default, fields with empty 4782 // values are omitted from API requests. However, any field with an 4783 // empty value appearing in NullFields will be sent to the server as 4784 // null. It is an error if a field in this list has a non-empty value. 4785 // This may be used to include null fields in Patch requests. 4786 NullFields []string `json:"-"` 4787} 4788 4789func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 4790 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse 4791 raw := NoMethod(*s) 4792 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4793} 4794 4795// GoogleCloudVisionV1p2beta1Block: Logical element on the page. 4796type GoogleCloudVisionV1p2beta1Block struct { 4797 // BlockType: Detected block type (text, image etc) for this block. 4798 // 4799 // Possible values: 4800 // "UNKNOWN" - Unknown block type. 4801 // "TEXT" - Regular text block. 4802 // "TABLE" - Table block. 4803 // "PICTURE" - Image block. 4804 // "RULER" - Horizontal/vertical line box. 4805 // "BARCODE" - Barcode block. 4806 BlockType string `json:"blockType,omitempty"` 4807 4808 // BoundingBox: The bounding box for the block. 4809 // The vertices are in the order of top-left, top-right, 4810 // bottom-right, 4811 // bottom-left. When a rotation of the bounding box is detected the 4812 // rotation 4813 // is represented as around the top-left corner as defined when the text 4814 // is 4815 // read in the 'natural' orientation. 4816 // For example: 4817 // 4818 // * when the text is horizontal it might look like: 4819 // 4820 // 0----1 4821 // | | 4822 // 3----2 4823 // 4824 // * when it's rotated 180 degrees around the top-left corner it 4825 // becomes: 4826 // 4827 // 2----3 4828 // | | 4829 // 1----0 4830 // 4831 // and the vertex order will still be (0, 1, 2, 3). 4832 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 4833 4834 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 4835 Confidence float64 `json:"confidence,omitempty"` 4836 4837 // Paragraphs: List of paragraphs in this block (if this blocks is of 4838 // type text). 4839 Paragraphs []*GoogleCloudVisionV1p2beta1Paragraph `json:"paragraphs,omitempty"` 4840 4841 // Property: Additional information detected for the block. 4842 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 4843 4844 // ForceSendFields is a list of field names (e.g. "BlockType") to 4845 // unconditionally include in API requests. By default, fields with 4846 // empty values are omitted from API requests. However, any non-pointer, 4847 // non-interface field appearing in ForceSendFields will be sent to the 4848 // server regardless of whether the field is empty or not. This may be 4849 // used to include empty fields in Patch requests. 4850 ForceSendFields []string `json:"-"` 4851 4852 // NullFields is a list of field names (e.g. "BlockType") to include in 4853 // API requests with the JSON null value. By default, fields with empty 4854 // values are omitted from API requests. However, any field with an 4855 // empty value appearing in NullFields will be sent to the server as 4856 // null. It is an error if a field in this list has a non-empty value. 4857 // This may be used to include null fields in Patch requests. 4858 NullFields []string `json:"-"` 4859} 4860 4861func (s *GoogleCloudVisionV1p2beta1Block) MarshalJSON() ([]byte, error) { 4862 type NoMethod GoogleCloudVisionV1p2beta1Block 4863 raw := NoMethod(*s) 4864 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4865} 4866 4867func (s *GoogleCloudVisionV1p2beta1Block) UnmarshalJSON(data []byte) error { 4868 type NoMethod GoogleCloudVisionV1p2beta1Block 4869 var s1 struct { 4870 Confidence gensupport.JSONFloat64 `json:"confidence"` 4871 *NoMethod 4872 } 4873 s1.NoMethod = (*NoMethod)(s) 4874 if err := json.Unmarshal(data, &s1); err != nil { 4875 return err 4876 } 4877 s.Confidence = float64(s1.Confidence) 4878 return nil 4879} 4880 4881// GoogleCloudVisionV1p2beta1BoundingPoly: A bounding polygon for the 4882// detected image annotation. 4883type GoogleCloudVisionV1p2beta1BoundingPoly struct { 4884 // NormalizedVertices: The bounding polygon normalized vertices. 4885 NormalizedVertices []*GoogleCloudVisionV1p2beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 4886 4887 // Vertices: The bounding polygon vertices. 4888 Vertices []*GoogleCloudVisionV1p2beta1Vertex `json:"vertices,omitempty"` 4889 4890 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 4891 // to unconditionally include in API requests. By default, fields with 4892 // empty values are omitted from API requests. However, any non-pointer, 4893 // non-interface field appearing in ForceSendFields will be sent to the 4894 // server regardless of whether the field is empty or not. This may be 4895 // used to include empty fields in Patch requests. 4896 ForceSendFields []string `json:"-"` 4897 4898 // NullFields is a list of field names (e.g. "NormalizedVertices") to 4899 // include in API requests with the JSON null value. By default, fields 4900 // with empty values are omitted from API requests. However, any field 4901 // with an empty value appearing in NullFields will be sent to the 4902 // server as null. It is an error if a field in this list has a 4903 // non-empty value. This may be used to include null fields in Patch 4904 // requests. 4905 NullFields []string `json:"-"` 4906} 4907 4908func (s *GoogleCloudVisionV1p2beta1BoundingPoly) MarshalJSON() ([]byte, error) { 4909 type NoMethod GoogleCloudVisionV1p2beta1BoundingPoly 4910 raw := NoMethod(*s) 4911 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4912} 4913 4914// GoogleCloudVisionV1p2beta1ColorInfo: Color information consists of 4915// RGB channels, score, and the fraction of 4916// the image that the color occupies in the image. 4917type GoogleCloudVisionV1p2beta1ColorInfo struct { 4918 // Color: RGB components of the color. 4919 Color *Color `json:"color,omitempty"` 4920 4921 // PixelFraction: The fraction of pixels the color occupies in the 4922 // image. 4923 // Value in range [0, 1]. 4924 PixelFraction float64 `json:"pixelFraction,omitempty"` 4925 4926 // Score: Image-specific score for this color. Value in range [0, 1]. 4927 Score float64 `json:"score,omitempty"` 4928 4929 // ForceSendFields is a list of field names (e.g. "Color") to 4930 // unconditionally include in API requests. By default, fields with 4931 // empty values are omitted from API requests. However, any non-pointer, 4932 // non-interface field appearing in ForceSendFields will be sent to the 4933 // server regardless of whether the field is empty or not. This may be 4934 // used to include empty fields in Patch requests. 4935 ForceSendFields []string `json:"-"` 4936 4937 // NullFields is a list of field names (e.g. "Color") to include in API 4938 // requests with the JSON null value. By default, fields with empty 4939 // values are omitted from API requests. However, any field with an 4940 // empty value appearing in NullFields will be sent to the server as 4941 // null. It is an error if a field in this list has a non-empty value. 4942 // This may be used to include null fields in Patch requests. 4943 NullFields []string `json:"-"` 4944} 4945 4946func (s *GoogleCloudVisionV1p2beta1ColorInfo) MarshalJSON() ([]byte, error) { 4947 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4948 raw := NoMethod(*s) 4949 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4950} 4951 4952func (s *GoogleCloudVisionV1p2beta1ColorInfo) UnmarshalJSON(data []byte) error { 4953 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4954 var s1 struct { 4955 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 4956 Score gensupport.JSONFloat64 `json:"score"` 4957 *NoMethod 4958 } 4959 s1.NoMethod = (*NoMethod)(s) 4960 if err := json.Unmarshal(data, &s1); err != nil { 4961 return err 4962 } 4963 s.PixelFraction = float64(s1.PixelFraction) 4964 s.Score = float64(s1.Score) 4965 return nil 4966} 4967 4968// GoogleCloudVisionV1p2beta1CropHint: Single crop hint that is used to 4969// generate a new crop when serving an image. 4970type GoogleCloudVisionV1p2beta1CropHint struct { 4971 // BoundingPoly: The bounding polygon for the crop region. The 4972 // coordinates of the bounding 4973 // box are in the original image's scale. 4974 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4975 4976 // Confidence: Confidence of this being a salient region. Range [0, 1]. 4977 Confidence float64 `json:"confidence,omitempty"` 4978 4979 // ImportanceFraction: Fraction of importance of this salient region 4980 // with respect to the original 4981 // image. 4982 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 4983 4984 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4985 // unconditionally include in API requests. By default, fields with 4986 // empty values are omitted from API requests. However, any non-pointer, 4987 // non-interface field appearing in ForceSendFields will be sent to the 4988 // server regardless of whether the field is empty or not. This may be 4989 // used to include empty fields in Patch requests. 4990 ForceSendFields []string `json:"-"` 4991 4992 // NullFields is a list of field names (e.g. "BoundingPoly") to include 4993 // in API requests with the JSON null value. By default, fields with 4994 // empty values are omitted from API requests. However, any field with 4995 // an empty value appearing in NullFields will be sent to the server as 4996 // null. It is an error if a field in this list has a non-empty value. 4997 // This may be used to include null fields in Patch requests. 4998 NullFields []string `json:"-"` 4999} 5000 5001func (s *GoogleCloudVisionV1p2beta1CropHint) MarshalJSON() ([]byte, error) { 5002 type NoMethod GoogleCloudVisionV1p2beta1CropHint 5003 raw := NoMethod(*s) 5004 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5005} 5006 5007func (s *GoogleCloudVisionV1p2beta1CropHint) UnmarshalJSON(data []byte) error { 5008 type NoMethod GoogleCloudVisionV1p2beta1CropHint 5009 var s1 struct { 5010 Confidence gensupport.JSONFloat64 `json:"confidence"` 5011 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 5012 *NoMethod 5013 } 5014 s1.NoMethod = (*NoMethod)(s) 5015 if err := json.Unmarshal(data, &s1); err != nil { 5016 return err 5017 } 5018 s.Confidence = float64(s1.Confidence) 5019 s.ImportanceFraction = float64(s1.ImportanceFraction) 5020 return nil 5021} 5022 5023// GoogleCloudVisionV1p2beta1CropHintsAnnotation: Set of crop hints that 5024// are used to generate new crops when serving images. 5025type GoogleCloudVisionV1p2beta1CropHintsAnnotation struct { 5026 // CropHints: Crop hint results. 5027 CropHints []*GoogleCloudVisionV1p2beta1CropHint `json:"cropHints,omitempty"` 5028 5029 // ForceSendFields is a list of field names (e.g. "CropHints") to 5030 // unconditionally include in API requests. By default, fields with 5031 // empty values are omitted from API requests. However, any non-pointer, 5032 // non-interface field appearing in ForceSendFields will be sent to the 5033 // server regardless of whether the field is empty or not. This may be 5034 // used to include empty fields in Patch requests. 5035 ForceSendFields []string `json:"-"` 5036 5037 // NullFields is a list of field names (e.g. "CropHints") to include in 5038 // API requests with the JSON null value. By default, fields with empty 5039 // values are omitted from API requests. However, any field with an 5040 // empty value appearing in NullFields will be sent to the server as 5041 // null. It is an error if a field in this list has a non-empty value. 5042 // This may be used to include null fields in Patch requests. 5043 NullFields []string `json:"-"` 5044} 5045 5046func (s *GoogleCloudVisionV1p2beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 5047 type NoMethod GoogleCloudVisionV1p2beta1CropHintsAnnotation 5048 raw := NoMethod(*s) 5049 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5050} 5051 5052// GoogleCloudVisionV1p2beta1DominantColorsAnnotation: Set of dominant 5053// colors and their corresponding scores. 5054type GoogleCloudVisionV1p2beta1DominantColorsAnnotation struct { 5055 // Colors: RGB color values with their score and pixel fraction. 5056 Colors []*GoogleCloudVisionV1p2beta1ColorInfo `json:"colors,omitempty"` 5057 5058 // ForceSendFields is a list of field names (e.g. "Colors") to 5059 // unconditionally include in API requests. By default, fields with 5060 // empty values are omitted from API requests. However, any non-pointer, 5061 // non-interface field appearing in ForceSendFields will be sent to the 5062 // server regardless of whether the field is empty or not. This may be 5063 // used to include empty fields in Patch requests. 5064 ForceSendFields []string `json:"-"` 5065 5066 // NullFields is a list of field names (e.g. "Colors") to include in API 5067 // requests with the JSON null value. By default, fields with empty 5068 // values are omitted from API requests. However, any field with an 5069 // empty value appearing in NullFields will be sent to the server as 5070 // null. It is an error if a field in this list has a non-empty value. 5071 // This may be used to include null fields in Patch requests. 5072 NullFields []string `json:"-"` 5073} 5074 5075func (s *GoogleCloudVisionV1p2beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 5076 type NoMethod GoogleCloudVisionV1p2beta1DominantColorsAnnotation 5077 raw := NoMethod(*s) 5078 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5079} 5080 5081// GoogleCloudVisionV1p2beta1EntityAnnotation: Set of detected entity 5082// features. 5083type GoogleCloudVisionV1p2beta1EntityAnnotation struct { 5084 // BoundingPoly: Image region to which this entity belongs. Not 5085 // produced 5086 // for `LABEL_DETECTION` features. 5087 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5088 5089 // Confidence: **Deprecated. Use `score` instead.** 5090 // The accuracy of the entity detection in an image. 5091 // For example, for an image in which the "Eiffel Tower" entity is 5092 // detected, 5093 // this field represents the confidence that there is a tower in the 5094 // query 5095 // image. Range [0, 1]. 5096 Confidence float64 `json:"confidence,omitempty"` 5097 5098 // Description: Entity textual description, expressed in its `locale` 5099 // language. 5100 Description string `json:"description,omitempty"` 5101 5102 // Locale: The language code for the locale in which the entity 5103 // textual 5104 // `description` is expressed. 5105 Locale string `json:"locale,omitempty"` 5106 5107 // Locations: The location information for the detected entity. 5108 // Multiple 5109 // `LocationInfo` elements can be present because one location 5110 // may 5111 // indicate the location of the scene in the image, and another 5112 // location 5113 // may indicate the location of the place where the image was 5114 // taken. 5115 // Location information is usually present for landmarks. 5116 Locations []*GoogleCloudVisionV1p2beta1LocationInfo `json:"locations,omitempty"` 5117 5118 // Mid: Opaque entity ID. Some IDs may be available in 5119 // [Google Knowledge Graph 5120 // Search 5121 // API](https://developers.google.com/knowledge-graph/). 5122 Mid string `json:"mid,omitempty"` 5123 5124 // Properties: Some entities may have optional user-supplied `Property` 5125 // (name/value) 5126 // fields, such a score or string that qualifies the entity. 5127 Properties []*GoogleCloudVisionV1p2beta1Property `json:"properties,omitempty"` 5128 5129 // Score: Overall score of the result. Range [0, 1]. 5130 Score float64 `json:"score,omitempty"` 5131 5132 // Topicality: The relevancy of the ICA (Image Content Annotation) label 5133 // to the 5134 // image. For example, the relevancy of "tower" is likely higher to an 5135 // image 5136 // containing the detected "Eiffel Tower" than to an image containing 5137 // a 5138 // detected distant towering building, even though the confidence 5139 // that 5140 // there is a tower in each image may be the same. Range [0, 1]. 5141 Topicality float64 `json:"topicality,omitempty"` 5142 5143 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5144 // unconditionally include in API requests. By default, fields with 5145 // empty values are omitted from API requests. However, any non-pointer, 5146 // non-interface field appearing in ForceSendFields will be sent to the 5147 // server regardless of whether the field is empty or not. This may be 5148 // used to include empty fields in Patch requests. 5149 ForceSendFields []string `json:"-"` 5150 5151 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5152 // in API requests with the JSON null value. By default, fields with 5153 // empty values are omitted from API requests. However, any field with 5154 // an 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 *GoogleCloudVisionV1p2beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 5161 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 5162 raw := NoMethod(*s) 5163 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5164} 5165 5166func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 5167 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 5168 var s1 struct { 5169 Confidence gensupport.JSONFloat64 `json:"confidence"` 5170 Score gensupport.JSONFloat64 `json:"score"` 5171 Topicality gensupport.JSONFloat64 `json:"topicality"` 5172 *NoMethod 5173 } 5174 s1.NoMethod = (*NoMethod)(s) 5175 if err := json.Unmarshal(data, &s1); err != nil { 5176 return err 5177 } 5178 s.Confidence = float64(s1.Confidence) 5179 s.Score = float64(s1.Score) 5180 s.Topicality = float64(s1.Topicality) 5181 return nil 5182} 5183 5184// GoogleCloudVisionV1p2beta1FaceAnnotation: A face annotation object 5185// contains the results of face detection. 5186type GoogleCloudVisionV1p2beta1FaceAnnotation struct { 5187 // AngerLikelihood: Anger likelihood. 5188 // 5189 // Possible values: 5190 // "UNKNOWN" - Unknown likelihood. 5191 // "VERY_UNLIKELY" - It is very unlikely. 5192 // "UNLIKELY" - It is unlikely. 5193 // "POSSIBLE" - It is possible. 5194 // "LIKELY" - It is likely. 5195 // "VERY_LIKELY" - It is very likely. 5196 AngerLikelihood string `json:"angerLikelihood,omitempty"` 5197 5198 // BlurredLikelihood: Blurred likelihood. 5199 // 5200 // Possible values: 5201 // "UNKNOWN" - Unknown likelihood. 5202 // "VERY_UNLIKELY" - It is very unlikely. 5203 // "UNLIKELY" - It is unlikely. 5204 // "POSSIBLE" - It is possible. 5205 // "LIKELY" - It is likely. 5206 // "VERY_LIKELY" - It is very likely. 5207 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 5208 5209 // BoundingPoly: The bounding polygon around the face. The coordinates 5210 // of the bounding box 5211 // are in the original image's scale. 5212 // The bounding box is computed to "frame" the face in accordance with 5213 // human 5214 // expectations. It is based on the landmarker results. 5215 // Note that one or more x and/or y coordinates may not be generated in 5216 // the 5217 // `BoundingPoly` (the polygon will be unbounded) if only a partial 5218 // face 5219 // appears in the image to be annotated. 5220 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5221 5222 // DetectionConfidence: Detection confidence. Range [0, 1]. 5223 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 5224 5225 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 5226 // than the 5227 // `boundingPoly`, and encloses only the skin part of the face. 5228 // Typically, it 5229 // is used to eliminate the face from any image analysis that detects 5230 // the 5231 // "amount of skin" visible in an image. It is not based on 5232 // the 5233 // landmarker results, only on the initial face detection, hence 5234 // the <code>fd</code> (face detection) prefix. 5235 FdBoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 5236 5237 // HeadwearLikelihood: Headwear likelihood. 5238 // 5239 // Possible values: 5240 // "UNKNOWN" - Unknown likelihood. 5241 // "VERY_UNLIKELY" - It is very unlikely. 5242 // "UNLIKELY" - It is unlikely. 5243 // "POSSIBLE" - It is possible. 5244 // "LIKELY" - It is likely. 5245 // "VERY_LIKELY" - It is very likely. 5246 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 5247 5248 // JoyLikelihood: Joy likelihood. 5249 // 5250 // Possible values: 5251 // "UNKNOWN" - Unknown likelihood. 5252 // "VERY_UNLIKELY" - It is very unlikely. 5253 // "UNLIKELY" - It is unlikely. 5254 // "POSSIBLE" - It is possible. 5255 // "LIKELY" - It is likely. 5256 // "VERY_LIKELY" - It is very likely. 5257 JoyLikelihood string `json:"joyLikelihood,omitempty"` 5258 5259 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 5260 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 5261 5262 // Landmarks: Detected face landmarks. 5263 Landmarks []*GoogleCloudVisionV1p2beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 5264 5265 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 5266 // that the face is 5267 // pointing relative to the vertical plane perpendicular to the image. 5268 // Range 5269 // [-180,180]. 5270 PanAngle float64 `json:"panAngle,omitempty"` 5271 5272 // RollAngle: Roll angle, which indicates the amount of 5273 // clockwise/anti-clockwise rotation 5274 // of the face relative to the image vertical about the axis 5275 // perpendicular to 5276 // the face. Range [-180,180]. 5277 RollAngle float64 `json:"rollAngle,omitempty"` 5278 5279 // SorrowLikelihood: Sorrow likelihood. 5280 // 5281 // Possible values: 5282 // "UNKNOWN" - Unknown likelihood. 5283 // "VERY_UNLIKELY" - It is very unlikely. 5284 // "UNLIKELY" - It is unlikely. 5285 // "POSSIBLE" - It is possible. 5286 // "LIKELY" - It is likely. 5287 // "VERY_LIKELY" - It is very likely. 5288 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 5289 5290 // SurpriseLikelihood: Surprise likelihood. 5291 // 5292 // Possible values: 5293 // "UNKNOWN" - Unknown likelihood. 5294 // "VERY_UNLIKELY" - It is very unlikely. 5295 // "UNLIKELY" - It is unlikely. 5296 // "POSSIBLE" - It is possible. 5297 // "LIKELY" - It is likely. 5298 // "VERY_LIKELY" - It is very likely. 5299 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 5300 5301 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 5302 // that the face is 5303 // pointing relative to the image's horizontal plane. Range [-180,180]. 5304 TiltAngle float64 `json:"tiltAngle,omitempty"` 5305 5306 // UnderExposedLikelihood: Under-exposed likelihood. 5307 // 5308 // Possible values: 5309 // "UNKNOWN" - Unknown likelihood. 5310 // "VERY_UNLIKELY" - It is very unlikely. 5311 // "UNLIKELY" - It is unlikely. 5312 // "POSSIBLE" - It is possible. 5313 // "LIKELY" - It is likely. 5314 // "VERY_LIKELY" - It is very likely. 5315 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 5316 5317 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 5318 // unconditionally include in API requests. By default, fields with 5319 // empty values are omitted from API requests. However, any non-pointer, 5320 // non-interface field appearing in ForceSendFields will be sent to the 5321 // server regardless of whether the field is empty or not. This may be 5322 // used to include empty fields in Patch requests. 5323 ForceSendFields []string `json:"-"` 5324 5325 // NullFields is a list of field names (e.g. "AngerLikelihood") to 5326 // include in API requests with the JSON null value. By default, fields 5327 // with empty values are omitted from API requests. However, any field 5328 // with an empty value appearing in NullFields will be sent to the 5329 // server as null. It is an error if a field in this list has a 5330 // non-empty value. This may be used to include null fields in Patch 5331 // requests. 5332 NullFields []string `json:"-"` 5333} 5334 5335func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 5336 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 5337 raw := NoMethod(*s) 5338 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5339} 5340 5341func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 5342 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 5343 var s1 struct { 5344 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 5345 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 5346 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 5347 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 5348 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 5349 *NoMethod 5350 } 5351 s1.NoMethod = (*NoMethod)(s) 5352 if err := json.Unmarshal(data, &s1); err != nil { 5353 return err 5354 } 5355 s.DetectionConfidence = float64(s1.DetectionConfidence) 5356 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 5357 s.PanAngle = float64(s1.PanAngle) 5358 s.RollAngle = float64(s1.RollAngle) 5359 s.TiltAngle = float64(s1.TiltAngle) 5360 return nil 5361} 5362 5363// GoogleCloudVisionV1p2beta1FaceAnnotationLandmark: A face-specific 5364// landmark (for example, a face feature). 5365type GoogleCloudVisionV1p2beta1FaceAnnotationLandmark struct { 5366 // Position: Face landmark position. 5367 Position *GoogleCloudVisionV1p2beta1Position `json:"position,omitempty"` 5368 5369 // Type: Face landmark type. 5370 // 5371 // Possible values: 5372 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 5373 // filled. 5374 // "LEFT_EYE" - Left eye. 5375 // "RIGHT_EYE" - Right eye. 5376 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 5377 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 5378 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 5379 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 5380 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 5381 // "NOSE_TIP" - Nose tip. 5382 // "UPPER_LIP" - Upper lip. 5383 // "LOWER_LIP" - Lower lip. 5384 // "MOUTH_LEFT" - Mouth left. 5385 // "MOUTH_RIGHT" - Mouth right. 5386 // "MOUTH_CENTER" - Mouth center. 5387 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 5388 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 5389 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 5390 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 5391 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 5392 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 5393 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 5394 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 5395 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 5396 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 5397 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 5398 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 5399 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 5400 // "LEFT_EAR_TRAGION" - Left ear tragion. 5401 // "RIGHT_EAR_TRAGION" - Right ear tragion. 5402 // "LEFT_EYE_PUPIL" - Left eye pupil. 5403 // "RIGHT_EYE_PUPIL" - Right eye pupil. 5404 // "FOREHEAD_GLABELLA" - Forehead glabella. 5405 // "CHIN_GNATHION" - Chin gnathion. 5406 // "CHIN_LEFT_GONION" - Chin left gonion. 5407 // "CHIN_RIGHT_GONION" - Chin right gonion. 5408 Type string `json:"type,omitempty"` 5409 5410 // ForceSendFields is a list of field names (e.g. "Position") to 5411 // unconditionally include in API requests. By default, fields with 5412 // empty values are omitted from API requests. However, any non-pointer, 5413 // non-interface field appearing in ForceSendFields will be sent to the 5414 // server regardless of whether the field is empty or not. This may be 5415 // used to include empty fields in Patch requests. 5416 ForceSendFields []string `json:"-"` 5417 5418 // NullFields is a list of field names (e.g. "Position") to include in 5419 // API requests with the JSON null value. By default, fields with empty 5420 // values are omitted from API requests. However, any field with an 5421 // empty value appearing in NullFields will be sent to the server as 5422 // null. It is an error if a field in this list has a non-empty value. 5423 // This may be used to include null fields in Patch requests. 5424 NullFields []string `json:"-"` 5425} 5426 5427func (s *GoogleCloudVisionV1p2beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 5428 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotationLandmark 5429 raw := NoMethod(*s) 5430 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5431} 5432 5433// GoogleCloudVisionV1p2beta1GcsDestination: The Google Cloud Storage 5434// location where the output will be written to. 5435type GoogleCloudVisionV1p2beta1GcsDestination struct { 5436 // Uri: Google Cloud Storage URI prefix where the results will be 5437 // stored. Results 5438 // will be in JSON format and preceded by its corresponding input URI 5439 // prefix. 5440 // This field can either represent a gcs file prefix or gcs directory. 5441 // In 5442 // either case, the uri should be unique because in order to get all of 5443 // the 5444 // output files, you will need to do a wildcard gcs search on the uri 5445 // prefix 5446 // you provide. 5447 // 5448 // Examples: 5449 // 5450 // * File Prefix: gs://bucket-name/here/filenameprefix The output 5451 // files 5452 // will be created in gs://bucket-name/here/ and the names of the 5453 // output files will begin with "filenameprefix". 5454 // 5455 // * Directory Prefix: gs://bucket-name/some/location/ The output 5456 // files 5457 // will be created in gs://bucket-name/some/location/ and the names of 5458 // the 5459 // output files could be anything because there was no filename 5460 // prefix 5461 // specified. 5462 // 5463 // If multiple outputs, each response is still AnnotateFileResponse, 5464 // each of 5465 // which contains some subset of the full list of 5466 // AnnotateImageResponse. 5467 // Multiple outputs can happen if, for example, the output JSON is too 5468 // large 5469 // and overflows into multiple sharded files. 5470 Uri string `json:"uri,omitempty"` 5471 5472 // ForceSendFields is a list of field names (e.g. "Uri") to 5473 // unconditionally include in API requests. By default, fields with 5474 // empty values are omitted from API requests. However, any non-pointer, 5475 // non-interface field appearing in ForceSendFields will be sent to the 5476 // server regardless of whether the field is empty or not. This may be 5477 // used to include empty fields in Patch requests. 5478 ForceSendFields []string `json:"-"` 5479 5480 // NullFields is a list of field names (e.g. "Uri") to include in API 5481 // requests with the JSON null value. By default, fields with empty 5482 // values are omitted from API requests. However, any field with an 5483 // empty value appearing in NullFields will be sent to the server as 5484 // null. It is an error if a field in this list has a non-empty value. 5485 // This may be used to include null fields in Patch requests. 5486 NullFields []string `json:"-"` 5487} 5488 5489func (s *GoogleCloudVisionV1p2beta1GcsDestination) MarshalJSON() ([]byte, error) { 5490 type NoMethod GoogleCloudVisionV1p2beta1GcsDestination 5491 raw := NoMethod(*s) 5492 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5493} 5494 5495// GoogleCloudVisionV1p2beta1GcsSource: The Google Cloud Storage 5496// location where the input will be read from. 5497type GoogleCloudVisionV1p2beta1GcsSource struct { 5498 // Uri: Google Cloud Storage URI for the input file. This must only be 5499 // a 5500 // Google Cloud Storage object. Wildcards are not currently supported. 5501 Uri string `json:"uri,omitempty"` 5502 5503 // ForceSendFields is a list of field names (e.g. "Uri") to 5504 // unconditionally include in API requests. By default, fields with 5505 // empty values are omitted from API requests. However, any non-pointer, 5506 // non-interface field appearing in ForceSendFields will be sent to the 5507 // server regardless of whether the field is empty or not. This may be 5508 // used to include empty fields in Patch requests. 5509 ForceSendFields []string `json:"-"` 5510 5511 // NullFields is a list of field names (e.g. "Uri") to include in API 5512 // requests with the JSON null value. By default, fields with empty 5513 // values are omitted from API requests. However, any field with an 5514 // empty value appearing in NullFields will be sent to the server as 5515 // null. It is an error if a field in this list has a non-empty value. 5516 // This may be used to include null fields in Patch requests. 5517 NullFields []string `json:"-"` 5518} 5519 5520func (s *GoogleCloudVisionV1p2beta1GcsSource) MarshalJSON() ([]byte, error) { 5521 type NoMethod GoogleCloudVisionV1p2beta1GcsSource 5522 raw := NoMethod(*s) 5523 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5524} 5525 5526// GoogleCloudVisionV1p2beta1ImageAnnotationContext: If an image was 5527// produced from a file (e.g. a PDF), this message gives 5528// information about the source of that image. 5529type GoogleCloudVisionV1p2beta1ImageAnnotationContext struct { 5530 // PageNumber: If the file was a PDF or TIFF, this field gives the page 5531 // number within 5532 // the file used to produce the image. 5533 PageNumber int64 `json:"pageNumber,omitempty"` 5534 5535 // Uri: The URI of the file used to produce the image. 5536 Uri string `json:"uri,omitempty"` 5537 5538 // ForceSendFields is a list of field names (e.g. "PageNumber") to 5539 // unconditionally include in API requests. By default, fields with 5540 // empty values are omitted from API requests. However, any non-pointer, 5541 // non-interface field appearing in ForceSendFields will be sent to the 5542 // server regardless of whether the field is empty or not. This may be 5543 // used to include empty fields in Patch requests. 5544 ForceSendFields []string `json:"-"` 5545 5546 // NullFields is a list of field names (e.g. "PageNumber") to include in 5547 // API requests with the JSON null value. By default, fields with empty 5548 // values are omitted from API requests. However, any field with an 5549 // empty value appearing in NullFields will be sent to the server as 5550 // null. It is an error if a field in this list has a non-empty value. 5551 // This may be used to include null fields in Patch requests. 5552 NullFields []string `json:"-"` 5553} 5554 5555func (s *GoogleCloudVisionV1p2beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 5556 type NoMethod GoogleCloudVisionV1p2beta1ImageAnnotationContext 5557 raw := NoMethod(*s) 5558 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5559} 5560 5561// GoogleCloudVisionV1p2beta1ImageProperties: Stores image properties, 5562// such as dominant colors. 5563type GoogleCloudVisionV1p2beta1ImageProperties struct { 5564 // DominantColors: If present, dominant colors completed successfully. 5565 DominantColors *GoogleCloudVisionV1p2beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 5566 5567 // ForceSendFields is a list of field names (e.g. "DominantColors") to 5568 // unconditionally include in API requests. By default, fields with 5569 // empty values are omitted from API requests. However, any non-pointer, 5570 // non-interface field appearing in ForceSendFields will be sent to the 5571 // server regardless of whether the field is empty or not. This may be 5572 // used to include empty fields in Patch requests. 5573 ForceSendFields []string `json:"-"` 5574 5575 // NullFields is a list of field names (e.g. "DominantColors") to 5576 // include in API requests with the JSON null value. By default, fields 5577 // with empty values are omitted from API requests. However, any field 5578 // with an empty value appearing in NullFields will be sent to the 5579 // server as null. It is an error if a field in this list has a 5580 // non-empty value. This may be used to include null fields in Patch 5581 // requests. 5582 NullFields []string `json:"-"` 5583} 5584 5585func (s *GoogleCloudVisionV1p2beta1ImageProperties) MarshalJSON() ([]byte, error) { 5586 type NoMethod GoogleCloudVisionV1p2beta1ImageProperties 5587 raw := NoMethod(*s) 5588 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5589} 5590 5591// GoogleCloudVisionV1p2beta1InputConfig: The desired input location and 5592// metadata. 5593type GoogleCloudVisionV1p2beta1InputConfig struct { 5594 // Content: File content, represented as a stream of bytes. 5595 // Note: As with all `bytes` fields, protobuffers use a pure 5596 // binary 5597 // representation, whereas JSON representations use base64. 5598 // 5599 // Currently, this field only works for BatchAnnotateFiles requests. It 5600 // does 5601 // not work for AsyncBatchAnnotateFiles requests. 5602 Content string `json:"content,omitempty"` 5603 5604 // GcsSource: The Google Cloud Storage location to read the input from. 5605 GcsSource *GoogleCloudVisionV1p2beta1GcsSource `json:"gcsSource,omitempty"` 5606 5607 // MimeType: The type of the file. Currently only "application/pdf", 5608 // "image/tiff" and 5609 // "image/gif" are supported. Wildcards are not supported. 5610 MimeType string `json:"mimeType,omitempty"` 5611 5612 // ForceSendFields is a list of field names (e.g. "Content") to 5613 // unconditionally include in API requests. By default, fields with 5614 // empty values are omitted from API requests. However, any non-pointer, 5615 // non-interface field appearing in ForceSendFields will be sent to the 5616 // server regardless of whether the field is empty or not. This may be 5617 // used to include empty fields in Patch requests. 5618 ForceSendFields []string `json:"-"` 5619 5620 // NullFields is a list of field names (e.g. "Content") to include in 5621 // API requests with the JSON null value. By default, fields with empty 5622 // values are omitted from API requests. However, any field with an 5623 // empty value appearing in NullFields will be sent to the server as 5624 // null. It is an error if a field in this list has a non-empty value. 5625 // This may be used to include null fields in Patch requests. 5626 NullFields []string `json:"-"` 5627} 5628 5629func (s *GoogleCloudVisionV1p2beta1InputConfig) MarshalJSON() ([]byte, error) { 5630 type NoMethod GoogleCloudVisionV1p2beta1InputConfig 5631 raw := NoMethod(*s) 5632 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5633} 5634 5635// GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation: Set of detected 5636// objects with bounding boxes. 5637type GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation struct { 5638 // BoundingPoly: Image region to which this object belongs. This must be 5639 // populated. 5640 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5641 5642 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 5643 // For more 5644 // information, 5645 // see 5646 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 5647 LanguageCode string `json:"languageCode,omitempty"` 5648 5649 // Mid: Object ID that should align with EntityAnnotation mid. 5650 Mid string `json:"mid,omitempty"` 5651 5652 // Name: Object name, expressed in its `language_code` language. 5653 Name string `json:"name,omitempty"` 5654 5655 // Score: Score of the result. Range [0, 1]. 5656 Score float64 `json:"score,omitempty"` 5657 5658 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5659 // unconditionally include in API requests. By default, fields with 5660 // empty values are omitted from API requests. However, any non-pointer, 5661 // non-interface field appearing in ForceSendFields will be sent to the 5662 // server regardless of whether the field is empty or not. This may be 5663 // used to include empty fields in Patch requests. 5664 ForceSendFields []string `json:"-"` 5665 5666 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5667 // in API requests with the JSON null value. By default, fields with 5668 // empty values are omitted from API requests. However, any field with 5669 // an empty value appearing in NullFields will be sent to the server as 5670 // null. It is an error if a field in this list has a non-empty value. 5671 // This may be used to include null fields in Patch requests. 5672 NullFields []string `json:"-"` 5673} 5674 5675func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 5676 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5677 raw := NoMethod(*s) 5678 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5679} 5680 5681func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 5682 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5683 var s1 struct { 5684 Score gensupport.JSONFloat64 `json:"score"` 5685 *NoMethod 5686 } 5687 s1.NoMethod = (*NoMethod)(s) 5688 if err := json.Unmarshal(data, &s1); err != nil { 5689 return err 5690 } 5691 s.Score = float64(s1.Score) 5692 return nil 5693} 5694 5695// GoogleCloudVisionV1p2beta1LocationInfo: Detected entity location 5696// information. 5697type GoogleCloudVisionV1p2beta1LocationInfo struct { 5698 // LatLng: lat/long location coordinates. 5699 LatLng *LatLng `json:"latLng,omitempty"` 5700 5701 // ForceSendFields is a list of field names (e.g. "LatLng") to 5702 // unconditionally include in API requests. By default, fields with 5703 // empty values are omitted from API requests. However, any non-pointer, 5704 // non-interface field appearing in ForceSendFields will be sent to the 5705 // server regardless of whether the field is empty or not. This may be 5706 // used to include empty fields in Patch requests. 5707 ForceSendFields []string `json:"-"` 5708 5709 // NullFields is a list of field names (e.g. "LatLng") to include in API 5710 // requests with the JSON null value. By default, fields with empty 5711 // values are omitted from API requests. However, any field with an 5712 // empty value appearing in NullFields will be sent to the server as 5713 // null. It is an error if a field in this list has a non-empty value. 5714 // This may be used to include null fields in Patch requests. 5715 NullFields []string `json:"-"` 5716} 5717 5718func (s *GoogleCloudVisionV1p2beta1LocationInfo) MarshalJSON() ([]byte, error) { 5719 type NoMethod GoogleCloudVisionV1p2beta1LocationInfo 5720 raw := NoMethod(*s) 5721 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5722} 5723 5724// GoogleCloudVisionV1p2beta1NormalizedVertex: A vertex represents a 2D 5725// point in the image. 5726// NOTE: the normalized vertex coordinates are relative to the original 5727// image 5728// and range from 0 to 1. 5729type GoogleCloudVisionV1p2beta1NormalizedVertex struct { 5730 // X: X coordinate. 5731 X float64 `json:"x,omitempty"` 5732 5733 // Y: Y coordinate. 5734 Y float64 `json:"y,omitempty"` 5735 5736 // ForceSendFields is a list of field names (e.g. "X") to 5737 // unconditionally include in API requests. By default, fields with 5738 // empty values are omitted from API requests. However, any non-pointer, 5739 // non-interface field appearing in ForceSendFields will be sent to the 5740 // server regardless of whether the field is empty or not. This may be 5741 // used to include empty fields in Patch requests. 5742 ForceSendFields []string `json:"-"` 5743 5744 // NullFields is a list of field names (e.g. "X") to include in API 5745 // requests with the JSON null value. By default, fields with empty 5746 // values are omitted from API requests. However, any field with an 5747 // empty value appearing in NullFields will be sent to the server as 5748 // null. It is an error if a field in this list has a non-empty value. 5749 // This may be used to include null fields in Patch requests. 5750 NullFields []string `json:"-"` 5751} 5752 5753func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 5754 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5755 raw := NoMethod(*s) 5756 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5757} 5758 5759func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 5760 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5761 var s1 struct { 5762 X gensupport.JSONFloat64 `json:"x"` 5763 Y gensupport.JSONFloat64 `json:"y"` 5764 *NoMethod 5765 } 5766 s1.NoMethod = (*NoMethod)(s) 5767 if err := json.Unmarshal(data, &s1); err != nil { 5768 return err 5769 } 5770 s.X = float64(s1.X) 5771 s.Y = float64(s1.Y) 5772 return nil 5773} 5774 5775// GoogleCloudVisionV1p2beta1OperationMetadata: Contains metadata for 5776// the BatchAnnotateImages operation. 5777type GoogleCloudVisionV1p2beta1OperationMetadata struct { 5778 // CreateTime: The time when the batch request was received. 5779 CreateTime string `json:"createTime,omitempty"` 5780 5781 // State: Current state of the batch operation. 5782 // 5783 // Possible values: 5784 // "STATE_UNSPECIFIED" - Invalid. 5785 // "CREATED" - Request is received. 5786 // "RUNNING" - Request is actively being processed. 5787 // "DONE" - The batch processing is done. 5788 // "CANCELLED" - The batch processing was cancelled. 5789 State string `json:"state,omitempty"` 5790 5791 // UpdateTime: The time when the operation result was last updated. 5792 UpdateTime string `json:"updateTime,omitempty"` 5793 5794 // ForceSendFields is a list of field names (e.g. "CreateTime") to 5795 // unconditionally include in API requests. By default, fields with 5796 // empty values are omitted from API requests. However, any non-pointer, 5797 // non-interface field appearing in ForceSendFields will be sent to the 5798 // server regardless of whether the field is empty or not. This may be 5799 // used to include empty fields in Patch requests. 5800 ForceSendFields []string `json:"-"` 5801 5802 // NullFields is a list of field names (e.g. "CreateTime") to include in 5803 // API requests with the JSON null value. By default, fields with empty 5804 // values are omitted from API requests. However, any field with an 5805 // empty value appearing in NullFields will be sent to the server as 5806 // null. It is an error if a field in this list has a non-empty value. 5807 // This may be used to include null fields in Patch requests. 5808 NullFields []string `json:"-"` 5809} 5810 5811func (s *GoogleCloudVisionV1p2beta1OperationMetadata) MarshalJSON() ([]byte, error) { 5812 type NoMethod GoogleCloudVisionV1p2beta1OperationMetadata 5813 raw := NoMethod(*s) 5814 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5815} 5816 5817// GoogleCloudVisionV1p2beta1OutputConfig: The desired output location 5818// and metadata. 5819type GoogleCloudVisionV1p2beta1OutputConfig struct { 5820 // BatchSize: The max number of response protos to put into each output 5821 // JSON file on 5822 // Google Cloud Storage. 5823 // The valid range is [1, 100]. If not specified, the default value is 5824 // 20. 5825 // 5826 // For example, for one pdf file with 100 pages, 100 response protos 5827 // will 5828 // be generated. If `batch_size` = 20, then 5 json files each 5829 // containing 20 response protos will be written under the 5830 // prefix 5831 // `gcs_destination`.`uri`. 5832 // 5833 // Currently, batch_size only applies to GcsDestination, with potential 5834 // future 5835 // support for other output configurations. 5836 BatchSize int64 `json:"batchSize,omitempty"` 5837 5838 // GcsDestination: The Google Cloud Storage location to write the 5839 // output(s) to. 5840 GcsDestination *GoogleCloudVisionV1p2beta1GcsDestination `json:"gcsDestination,omitempty"` 5841 5842 // ForceSendFields is a list of field names (e.g. "BatchSize") to 5843 // unconditionally include in API requests. By default, fields with 5844 // empty values are omitted from API requests. However, any non-pointer, 5845 // non-interface field appearing in ForceSendFields will be sent to the 5846 // server regardless of whether the field is empty or not. This may be 5847 // used to include empty fields in Patch requests. 5848 ForceSendFields []string `json:"-"` 5849 5850 // NullFields is a list of field names (e.g. "BatchSize") to include in 5851 // API 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 *GoogleCloudVisionV1p2beta1OutputConfig) MarshalJSON() ([]byte, error) { 5860 type NoMethod GoogleCloudVisionV1p2beta1OutputConfig 5861 raw := NoMethod(*s) 5862 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5863} 5864 5865// GoogleCloudVisionV1p2beta1Page: Detected page from OCR. 5866type GoogleCloudVisionV1p2beta1Page struct { 5867 // Blocks: List of blocks of text, images etc on this page. 5868 Blocks []*GoogleCloudVisionV1p2beta1Block `json:"blocks,omitempty"` 5869 5870 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 5871 Confidence float64 `json:"confidence,omitempty"` 5872 5873 // Height: Page height. For PDFs the unit is points. For images 5874 // (including 5875 // TIFFs) the unit is pixels. 5876 Height int64 `json:"height,omitempty"` 5877 5878 // Property: Additional information detected on the page. 5879 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5880 5881 // Width: Page width. For PDFs the unit is points. For images 5882 // (including 5883 // TIFFs) the unit is pixels. 5884 Width int64 `json:"width,omitempty"` 5885 5886 // ForceSendFields is a list of field names (e.g. "Blocks") to 5887 // unconditionally include in API requests. By default, fields with 5888 // empty values are omitted from API requests. However, any non-pointer, 5889 // non-interface field appearing in ForceSendFields will be sent to the 5890 // server regardless of whether the field is empty or not. This may be 5891 // used to include empty fields in Patch requests. 5892 ForceSendFields []string `json:"-"` 5893 5894 // NullFields is a list of field names (e.g. "Blocks") to include in API 5895 // requests with the JSON null value. By default, fields with empty 5896 // values are omitted from API requests. However, any field with an 5897 // empty value appearing in NullFields will be sent to the server as 5898 // null. It is an error if a field in this list has a non-empty value. 5899 // This may be used to include null fields in Patch requests. 5900 NullFields []string `json:"-"` 5901} 5902 5903func (s *GoogleCloudVisionV1p2beta1Page) MarshalJSON() ([]byte, error) { 5904 type NoMethod GoogleCloudVisionV1p2beta1Page 5905 raw := NoMethod(*s) 5906 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5907} 5908 5909func (s *GoogleCloudVisionV1p2beta1Page) UnmarshalJSON(data []byte) error { 5910 type NoMethod GoogleCloudVisionV1p2beta1Page 5911 var s1 struct { 5912 Confidence gensupport.JSONFloat64 `json:"confidence"` 5913 *NoMethod 5914 } 5915 s1.NoMethod = (*NoMethod)(s) 5916 if err := json.Unmarshal(data, &s1); err != nil { 5917 return err 5918 } 5919 s.Confidence = float64(s1.Confidence) 5920 return nil 5921} 5922 5923// GoogleCloudVisionV1p2beta1Paragraph: Structural unit of text 5924// representing a number of words in certain order. 5925type GoogleCloudVisionV1p2beta1Paragraph struct { 5926 // BoundingBox: The bounding box for the paragraph. 5927 // The vertices are in the order of top-left, top-right, 5928 // bottom-right, 5929 // bottom-left. When a rotation of the bounding box is detected the 5930 // rotation 5931 // is represented as around the top-left corner as defined when the text 5932 // is 5933 // read in the 'natural' orientation. 5934 // For example: 5935 // * when the text is horizontal it might look like: 5936 // 0----1 5937 // | | 5938 // 3----2 5939 // * when it's rotated 180 degrees around the top-left corner it 5940 // becomes: 5941 // 2----3 5942 // | | 5943 // 1----0 5944 // and the vertex order will still be (0, 1, 2, 3). 5945 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 5946 5947 // Confidence: Confidence of the OCR results for the paragraph. Range 5948 // [0, 1]. 5949 Confidence float64 `json:"confidence,omitempty"` 5950 5951 // Property: Additional information detected for the paragraph. 5952 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5953 5954 // Words: List of all words in this paragraph. 5955 Words []*GoogleCloudVisionV1p2beta1Word `json:"words,omitempty"` 5956 5957 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 5958 // unconditionally include in API requests. By default, fields with 5959 // empty values are omitted from API requests. However, any non-pointer, 5960 // non-interface field appearing in ForceSendFields will be sent to the 5961 // server regardless of whether the field is empty or not. This may be 5962 // used to include empty fields in Patch requests. 5963 ForceSendFields []string `json:"-"` 5964 5965 // NullFields is a list of field names (e.g. "BoundingBox") to include 5966 // in API requests with the JSON null value. By default, fields with 5967 // empty values are omitted from API requests. However, any field with 5968 // an empty value appearing in NullFields will be sent to the server as 5969 // null. It is an error if a field in this list has a non-empty value. 5970 // This may be used to include null fields in Patch requests. 5971 NullFields []string `json:"-"` 5972} 5973 5974func (s *GoogleCloudVisionV1p2beta1Paragraph) MarshalJSON() ([]byte, error) { 5975 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5976 raw := NoMethod(*s) 5977 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5978} 5979 5980func (s *GoogleCloudVisionV1p2beta1Paragraph) UnmarshalJSON(data []byte) error { 5981 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5982 var s1 struct { 5983 Confidence gensupport.JSONFloat64 `json:"confidence"` 5984 *NoMethod 5985 } 5986 s1.NoMethod = (*NoMethod)(s) 5987 if err := json.Unmarshal(data, &s1); err != nil { 5988 return err 5989 } 5990 s.Confidence = float64(s1.Confidence) 5991 return nil 5992} 5993 5994// GoogleCloudVisionV1p2beta1Position: A 3D position in the image, used 5995// primarily for Face detection landmarks. 5996// A valid Position must have both x and y coordinates. 5997// The position coordinates are in the same scale as the original image. 5998type GoogleCloudVisionV1p2beta1Position struct { 5999 // X: X coordinate. 6000 X float64 `json:"x,omitempty"` 6001 6002 // Y: Y coordinate. 6003 Y float64 `json:"y,omitempty"` 6004 6005 // Z: Z coordinate (or depth). 6006 Z float64 `json:"z,omitempty"` 6007 6008 // ForceSendFields is a list of field names (e.g. "X") to 6009 // unconditionally include in API requests. By default, fields with 6010 // empty values are omitted from API requests. However, any non-pointer, 6011 // non-interface field appearing in ForceSendFields will be sent to the 6012 // server regardless of whether the field is empty or not. This may be 6013 // used to include empty fields in Patch requests. 6014 ForceSendFields []string `json:"-"` 6015 6016 // NullFields is a list of field names (e.g. "X") to include in API 6017 // requests with the JSON null value. By default, fields with empty 6018 // values are omitted from API requests. However, any field with an 6019 // empty value appearing in NullFields will be sent to the server as 6020 // null. It is an error if a field in this list has a non-empty value. 6021 // This may be used to include null fields in Patch requests. 6022 NullFields []string `json:"-"` 6023} 6024 6025func (s *GoogleCloudVisionV1p2beta1Position) MarshalJSON() ([]byte, error) { 6026 type NoMethod GoogleCloudVisionV1p2beta1Position 6027 raw := NoMethod(*s) 6028 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6029} 6030 6031func (s *GoogleCloudVisionV1p2beta1Position) UnmarshalJSON(data []byte) error { 6032 type NoMethod GoogleCloudVisionV1p2beta1Position 6033 var s1 struct { 6034 X gensupport.JSONFloat64 `json:"x"` 6035 Y gensupport.JSONFloat64 `json:"y"` 6036 Z gensupport.JSONFloat64 `json:"z"` 6037 *NoMethod 6038 } 6039 s1.NoMethod = (*NoMethod)(s) 6040 if err := json.Unmarshal(data, &s1); err != nil { 6041 return err 6042 } 6043 s.X = float64(s1.X) 6044 s.Y = float64(s1.Y) 6045 s.Z = float64(s1.Z) 6046 return nil 6047} 6048 6049// GoogleCloudVisionV1p2beta1Product: A Product contains 6050// ReferenceImages. 6051type GoogleCloudVisionV1p2beta1Product struct { 6052 // Description: User-provided metadata to be stored with this product. 6053 // Must be at most 4096 6054 // characters long. 6055 Description string `json:"description,omitempty"` 6056 6057 // DisplayName: The user-provided name for this Product. Must not be 6058 // empty. Must be at most 6059 // 4096 characters long. 6060 DisplayName string `json:"displayName,omitempty"` 6061 6062 // Name: The resource name of the product. 6063 // 6064 // Format 6065 // is: 6066 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 6067 // 6068 // This field is ignored when creating a product. 6069 Name string `json:"name,omitempty"` 6070 6071 // ProductCategory: Immutable. The category for the product identified 6072 // by the reference image. This should 6073 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 6074 // categories 6075 // "homegoods", "apparel", and "toys" are still supported, but these 6076 // should 6077 // not be used for new products. 6078 ProductCategory string `json:"productCategory,omitempty"` 6079 6080 // ProductLabels: Key-value pairs that can be attached to a product. At 6081 // query time, 6082 // constraints can be specified based on the product_labels. 6083 // 6084 // Note that integer values can be provided as strings, e.g. "1199". 6085 // Only 6086 // strings with integer values can match a range-based restriction which 6087 // is 6088 // to be supported soon. 6089 // 6090 // Multiple values can be assigned to the same key. One product may have 6091 // up to 6092 // 500 product_labels. 6093 // 6094 // Notice that the total number of distinct product_labels over all 6095 // products 6096 // in one ProductSet cannot exceed 1M, otherwise the product search 6097 // pipeline 6098 // will refuse to work for that ProductSet. 6099 ProductLabels []*GoogleCloudVisionV1p2beta1ProductKeyValue `json:"productLabels,omitempty"` 6100 6101 // ForceSendFields is a list of field names (e.g. "Description") to 6102 // unconditionally include in API requests. By default, fields with 6103 // empty values are omitted from API requests. However, any non-pointer, 6104 // non-interface field appearing in ForceSendFields will be sent to the 6105 // server regardless of whether the field is empty or not. This may be 6106 // used to include empty fields in Patch requests. 6107 ForceSendFields []string `json:"-"` 6108 6109 // NullFields is a list of field names (e.g. "Description") to include 6110 // in API requests with the JSON null value. By default, fields with 6111 // empty values are omitted from API requests. However, any field with 6112 // an empty value appearing in NullFields will be sent to the server as 6113 // null. It is an error if a field in this list has a non-empty value. 6114 // This may be used to include null fields in Patch requests. 6115 NullFields []string `json:"-"` 6116} 6117 6118func (s *GoogleCloudVisionV1p2beta1Product) MarshalJSON() ([]byte, error) { 6119 type NoMethod GoogleCloudVisionV1p2beta1Product 6120 raw := NoMethod(*s) 6121 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6122} 6123 6124// GoogleCloudVisionV1p2beta1ProductKeyValue: A product label 6125// represented as a key-value pair. 6126type GoogleCloudVisionV1p2beta1ProductKeyValue struct { 6127 // Key: The key of the label attached to the product. Cannot be empty 6128 // and cannot 6129 // exceed 128 bytes. 6130 Key string `json:"key,omitempty"` 6131 6132 // Value: The value of the label attached to the product. Cannot be 6133 // empty and 6134 // cannot exceed 128 bytes. 6135 Value string `json:"value,omitempty"` 6136 6137 // ForceSendFields is a list of field names (e.g. "Key") to 6138 // unconditionally include in API requests. By default, fields with 6139 // empty values are omitted from API requests. However, any non-pointer, 6140 // non-interface field appearing in ForceSendFields will be sent to the 6141 // server regardless of whether the field is empty or not. This may be 6142 // used to include empty fields in Patch requests. 6143 ForceSendFields []string `json:"-"` 6144 6145 // NullFields is a list of field names (e.g. "Key") to include in API 6146 // requests with the JSON null value. By default, fields with empty 6147 // values are omitted from API requests. However, any field with an 6148 // empty value appearing in NullFields will be sent to the server as 6149 // null. It is an error if a field in this list has a non-empty value. 6150 // This may be used to include null fields in Patch requests. 6151 NullFields []string `json:"-"` 6152} 6153 6154func (s *GoogleCloudVisionV1p2beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 6155 type NoMethod GoogleCloudVisionV1p2beta1ProductKeyValue 6156 raw := NoMethod(*s) 6157 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6158} 6159 6160// GoogleCloudVisionV1p2beta1ProductSearchResults: Results for a product 6161// search request. 6162type GoogleCloudVisionV1p2beta1ProductSearchResults struct { 6163 // IndexTime: Timestamp of the index which provided these results. 6164 // Products added to the 6165 // product set and products removed from the product set after this time 6166 // are 6167 // not reflected in the current results. 6168 IndexTime string `json:"indexTime,omitempty"` 6169 6170 // ProductGroupedResults: List of results grouped by products detected 6171 // in the query image. Each entry 6172 // corresponds to one bounding polygon in the query image, and contains 6173 // the 6174 // matching products specific to that region. There may be duplicate 6175 // product 6176 // matches in the union of all the per-product results. 6177 ProductGroupedResults []*GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 6178 6179 // Results: List of results, one for each product match. 6180 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 6181 6182 // ForceSendFields is a list of field names (e.g. "IndexTime") to 6183 // unconditionally include in API requests. By default, fields with 6184 // empty values are omitted from API requests. However, any non-pointer, 6185 // non-interface field appearing in ForceSendFields will be sent to the 6186 // server regardless of whether the field is empty or not. This may be 6187 // used to include empty fields in Patch requests. 6188 ForceSendFields []string `json:"-"` 6189 6190 // NullFields is a list of field names (e.g. "IndexTime") to include in 6191 // API 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 *GoogleCloudVisionV1p2beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 6200 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResults 6201 raw := NoMethod(*s) 6202 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6203} 6204 6205// GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult: 6206// Information about the products similar to a single product in a 6207// query 6208// image. 6209type GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult struct { 6210 // BoundingPoly: The bounding polygon around the product detected in the 6211 // query image. 6212 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 6213 6214 // ObjectAnnotations: List of generic predictions for the object in the 6215 // bounding box. 6216 ObjectAnnotations []*GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 6217 6218 // Results: List of results, one for each product match. 6219 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 6220 6221 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 6222 // unconditionally include in API requests. By default, fields with 6223 // empty values are omitted from API requests. However, any non-pointer, 6224 // non-interface field appearing in ForceSendFields will be sent to the 6225 // server regardless of whether the field is empty or not. This may be 6226 // used to include empty fields in Patch requests. 6227 ForceSendFields []string `json:"-"` 6228 6229 // NullFields is a list of field names (e.g. "BoundingPoly") to include 6230 // in API requests with the JSON null value. By default, fields with 6231 // empty values are omitted from API requests. However, any field with 6232 // an empty value appearing in NullFields will be sent to the server as 6233 // null. It is an error if a field in this list has a non-empty value. 6234 // This may be used to include null fields in Patch requests. 6235 NullFields []string `json:"-"` 6236} 6237 6238func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 6239 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult 6240 raw := NoMethod(*s) 6241 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6242} 6243 6244// GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation: 6245// Prediction for what the object in the bounding box is. 6246type GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation struct { 6247 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 6248 // For more 6249 // information, 6250 // see 6251 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6252 LanguageCode string `json:"languageCode,omitempty"` 6253 6254 // Mid: Object ID that should align with EntityAnnotation mid. 6255 Mid string `json:"mid,omitempty"` 6256 6257 // Name: Object name, expressed in its `language_code` language. 6258 Name string `json:"name,omitempty"` 6259 6260 // Score: Score of the result. Range [0, 1]. 6261 Score float64 `json:"score,omitempty"` 6262 6263 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 6264 // unconditionally include in API requests. By default, fields with 6265 // empty values are omitted from API requests. However, any non-pointer, 6266 // non-interface field appearing in ForceSendFields will be sent to the 6267 // server regardless of whether the field is empty or not. This may be 6268 // used to include empty fields in Patch requests. 6269 ForceSendFields []string `json:"-"` 6270 6271 // NullFields is a list of field names (e.g. "LanguageCode") to include 6272 // in API requests with the JSON null value. By default, fields with 6273 // empty values are omitted from API requests. However, any field with 6274 // an empty value appearing in NullFields will be sent to the server as 6275 // null. It is an error if a field in this list has a non-empty value. 6276 // This may be used to include null fields in Patch requests. 6277 NullFields []string `json:"-"` 6278} 6279 6280func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 6281 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 6282 raw := NoMethod(*s) 6283 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6284} 6285 6286func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 6287 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 6288 var s1 struct { 6289 Score gensupport.JSONFloat64 `json:"score"` 6290 *NoMethod 6291 } 6292 s1.NoMethod = (*NoMethod)(s) 6293 if err := json.Unmarshal(data, &s1); err != nil { 6294 return err 6295 } 6296 s.Score = float64(s1.Score) 6297 return nil 6298} 6299 6300// GoogleCloudVisionV1p2beta1ProductSearchResultsResult: Information 6301// about a product. 6302type GoogleCloudVisionV1p2beta1ProductSearchResultsResult struct { 6303 // Image: The resource name of the image from the product that is the 6304 // closest match 6305 // to the query. 6306 Image string `json:"image,omitempty"` 6307 6308 // Product: The Product. 6309 Product *GoogleCloudVisionV1p2beta1Product `json:"product,omitempty"` 6310 6311 // Score: A confidence level on the match, ranging from 0 (no 6312 // confidence) to 6313 // 1 (full confidence). 6314 Score float64 `json:"score,omitempty"` 6315 6316 // ForceSendFields is a list of field names (e.g. "Image") to 6317 // unconditionally include in API requests. By default, fields with 6318 // empty values are omitted from API requests. However, any non-pointer, 6319 // non-interface field appearing in ForceSendFields will be sent to the 6320 // server regardless of whether the field is empty or not. This may be 6321 // used to include empty fields in Patch requests. 6322 ForceSendFields []string `json:"-"` 6323 6324 // NullFields is a list of field names (e.g. "Image") to include in API 6325 // requests with the JSON null value. By default, fields with empty 6326 // values are omitted from API requests. However, any field with an 6327 // empty value appearing in NullFields will be sent to the server as 6328 // null. It is an error if a field in this list has a non-empty value. 6329 // This may be used to include null fields in Patch requests. 6330 NullFields []string `json:"-"` 6331} 6332 6333func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 6334 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 6335 raw := NoMethod(*s) 6336 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6337} 6338 6339func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 6340 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 6341 var s1 struct { 6342 Score gensupport.JSONFloat64 `json:"score"` 6343 *NoMethod 6344 } 6345 s1.NoMethod = (*NoMethod)(s) 6346 if err := json.Unmarshal(data, &s1); err != nil { 6347 return err 6348 } 6349 s.Score = float64(s1.Score) 6350 return nil 6351} 6352 6353// GoogleCloudVisionV1p2beta1Property: A `Property` consists of a 6354// user-supplied name/value pair. 6355type GoogleCloudVisionV1p2beta1Property struct { 6356 // Name: Name of the property. 6357 Name string `json:"name,omitempty"` 6358 6359 // Uint64Value: Value of numeric properties. 6360 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 6361 6362 // Value: Value of the property. 6363 Value string `json:"value,omitempty"` 6364 6365 // ForceSendFields is a list of field names (e.g. "Name") to 6366 // unconditionally include in API requests. By default, fields with 6367 // empty values are omitted from API requests. However, any non-pointer, 6368 // non-interface field appearing in ForceSendFields will be sent to the 6369 // server regardless of whether the field is empty or not. This may be 6370 // used to include empty fields in Patch requests. 6371 ForceSendFields []string `json:"-"` 6372 6373 // NullFields is a list of field names (e.g. "Name") to include in API 6374 // requests with the JSON null value. By default, fields with empty 6375 // values are omitted from API requests. However, any field with an 6376 // empty value appearing in NullFields will be sent to the server as 6377 // null. It is an error if a field in this list has a non-empty value. 6378 // This may be used to include null fields in Patch requests. 6379 NullFields []string `json:"-"` 6380} 6381 6382func (s *GoogleCloudVisionV1p2beta1Property) MarshalJSON() ([]byte, error) { 6383 type NoMethod GoogleCloudVisionV1p2beta1Property 6384 raw := NoMethod(*s) 6385 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6386} 6387 6388// GoogleCloudVisionV1p2beta1SafeSearchAnnotation: Set of features 6389// pertaining to the image, computed by computer vision 6390// methods over safe-search verticals (for example, adult, spoof, 6391// medical, 6392// violence). 6393type GoogleCloudVisionV1p2beta1SafeSearchAnnotation struct { 6394 // Adult: Represents the adult content likelihood for the image. Adult 6395 // content may 6396 // contain elements such as nudity, pornographic images or cartoons, 6397 // or 6398 // sexual activities. 6399 // 6400 // Possible values: 6401 // "UNKNOWN" - Unknown likelihood. 6402 // "VERY_UNLIKELY" - It is very unlikely. 6403 // "UNLIKELY" - It is unlikely. 6404 // "POSSIBLE" - It is possible. 6405 // "LIKELY" - It is likely. 6406 // "VERY_LIKELY" - It is very likely. 6407 Adult string `json:"adult,omitempty"` 6408 6409 // Medical: Likelihood that this is a medical image. 6410 // 6411 // Possible values: 6412 // "UNKNOWN" - Unknown likelihood. 6413 // "VERY_UNLIKELY" - It is very unlikely. 6414 // "UNLIKELY" - It is unlikely. 6415 // "POSSIBLE" - It is possible. 6416 // "LIKELY" - It is likely. 6417 // "VERY_LIKELY" - It is very likely. 6418 Medical string `json:"medical,omitempty"` 6419 6420 // Racy: Likelihood that the request image contains racy content. Racy 6421 // content may 6422 // include (but is not limited to) skimpy or sheer clothing, 6423 // strategically 6424 // covered nudity, lewd or provocative poses, or close-ups of 6425 // sensitive 6426 // body areas. 6427 // 6428 // Possible values: 6429 // "UNKNOWN" - Unknown likelihood. 6430 // "VERY_UNLIKELY" - It is very unlikely. 6431 // "UNLIKELY" - It is unlikely. 6432 // "POSSIBLE" - It is possible. 6433 // "LIKELY" - It is likely. 6434 // "VERY_LIKELY" - It is very likely. 6435 Racy string `json:"racy,omitempty"` 6436 6437 // Spoof: Spoof likelihood. The likelihood that an modification 6438 // was made to the image's canonical version to make it appear 6439 // funny or offensive. 6440 // 6441 // Possible values: 6442 // "UNKNOWN" - Unknown likelihood. 6443 // "VERY_UNLIKELY" - It is very unlikely. 6444 // "UNLIKELY" - It is unlikely. 6445 // "POSSIBLE" - It is possible. 6446 // "LIKELY" - It is likely. 6447 // "VERY_LIKELY" - It is very likely. 6448 Spoof string `json:"spoof,omitempty"` 6449 6450 // Violence: Likelihood that this image contains violent content. 6451 // 6452 // Possible values: 6453 // "UNKNOWN" - Unknown likelihood. 6454 // "VERY_UNLIKELY" - It is very unlikely. 6455 // "UNLIKELY" - It is unlikely. 6456 // "POSSIBLE" - It is possible. 6457 // "LIKELY" - It is likely. 6458 // "VERY_LIKELY" - It is very likely. 6459 Violence string `json:"violence,omitempty"` 6460 6461 // ForceSendFields is a list of field names (e.g. "Adult") to 6462 // unconditionally include in API requests. By default, fields with 6463 // empty values are omitted from API requests. However, any non-pointer, 6464 // non-interface field appearing in ForceSendFields will be sent to the 6465 // server regardless of whether the field is empty or not. This may be 6466 // used to include empty fields in Patch requests. 6467 ForceSendFields []string `json:"-"` 6468 6469 // NullFields is a list of field names (e.g. "Adult") to include in API 6470 // requests with the JSON null value. By default, fields with empty 6471 // values are omitted from API requests. However, any field with an 6472 // empty value appearing in NullFields will be sent to the server as 6473 // null. It is an error if a field in this list has a non-empty value. 6474 // This may be used to include null fields in Patch requests. 6475 NullFields []string `json:"-"` 6476} 6477 6478func (s *GoogleCloudVisionV1p2beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 6479 type NoMethod GoogleCloudVisionV1p2beta1SafeSearchAnnotation 6480 raw := NoMethod(*s) 6481 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6482} 6483 6484// GoogleCloudVisionV1p2beta1Symbol: A single symbol representation. 6485type GoogleCloudVisionV1p2beta1Symbol struct { 6486 // BoundingBox: The bounding box for the symbol. 6487 // The vertices are in the order of top-left, top-right, 6488 // bottom-right, 6489 // bottom-left. When a rotation of the bounding box is detected the 6490 // rotation 6491 // is represented as around the top-left corner as defined when the text 6492 // is 6493 // read in the 'natural' orientation. 6494 // For example: 6495 // * when the text is horizontal it might look like: 6496 // 0----1 6497 // | | 6498 // 3----2 6499 // * when it's rotated 180 degrees around the top-left corner it 6500 // becomes: 6501 // 2----3 6502 // | | 6503 // 1----0 6504 // and the vertex order will still be (0, 1, 2, 3). 6505 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 6506 6507 // Confidence: Confidence of the OCR results for the symbol. Range [0, 6508 // 1]. 6509 Confidence float64 `json:"confidence,omitempty"` 6510 6511 // Property: Additional information detected for the symbol. 6512 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 6513 6514 // Text: The actual UTF-8 representation of the symbol. 6515 Text string `json:"text,omitempty"` 6516 6517 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 6518 // unconditionally include in API requests. By default, fields with 6519 // empty values are omitted from API requests. However, any non-pointer, 6520 // non-interface field appearing in ForceSendFields will be sent to the 6521 // server regardless of whether the field is empty or not. This may be 6522 // used to include empty fields in Patch requests. 6523 ForceSendFields []string `json:"-"` 6524 6525 // NullFields is a list of field names (e.g. "BoundingBox") to include 6526 // in API requests with the JSON null value. By default, fields with 6527 // empty values are omitted from API requests. However, any field with 6528 // an empty value appearing in NullFields will be sent to the server as 6529 // null. It is an error if a field in this list has a non-empty value. 6530 // This may be used to include null fields in Patch requests. 6531 NullFields []string `json:"-"` 6532} 6533 6534func (s *GoogleCloudVisionV1p2beta1Symbol) MarshalJSON() ([]byte, error) { 6535 type NoMethod GoogleCloudVisionV1p2beta1Symbol 6536 raw := NoMethod(*s) 6537 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6538} 6539 6540func (s *GoogleCloudVisionV1p2beta1Symbol) UnmarshalJSON(data []byte) error { 6541 type NoMethod GoogleCloudVisionV1p2beta1Symbol 6542 var s1 struct { 6543 Confidence gensupport.JSONFloat64 `json:"confidence"` 6544 *NoMethod 6545 } 6546 s1.NoMethod = (*NoMethod)(s) 6547 if err := json.Unmarshal(data, &s1); err != nil { 6548 return err 6549 } 6550 s.Confidence = float64(s1.Confidence) 6551 return nil 6552} 6553 6554// GoogleCloudVisionV1p2beta1TextAnnotation: TextAnnotation contains a 6555// structured representation of OCR extracted text. 6556// The hierarchy of an OCR extracted text structure is like this: 6557// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 6558// Symbol 6559// Each structural component, starting from Page, may further have their 6560// own 6561// properties. Properties describe detected languages, breaks etc.. 6562// Please refer 6563// to the TextAnnotation.TextProperty message definition below for 6564// more 6565// detail. 6566type GoogleCloudVisionV1p2beta1TextAnnotation struct { 6567 // Pages: List of pages detected by OCR. 6568 Pages []*GoogleCloudVisionV1p2beta1Page `json:"pages,omitempty"` 6569 6570 // Text: UTF-8 text detected on the pages. 6571 Text string `json:"text,omitempty"` 6572 6573 // ForceSendFields is a list of field names (e.g. "Pages") to 6574 // unconditionally include in API requests. By default, fields with 6575 // empty values are omitted from API requests. However, any non-pointer, 6576 // non-interface field appearing in ForceSendFields will be sent to the 6577 // server regardless of whether the field is empty or not. This may be 6578 // used to include empty fields in Patch requests. 6579 ForceSendFields []string `json:"-"` 6580 6581 // NullFields is a list of field names (e.g. "Pages") to include in API 6582 // requests with the JSON null value. By default, fields with empty 6583 // values are omitted from API requests. However, any field with an 6584 // empty value appearing in NullFields will be sent to the server as 6585 // null. It is an error if a field in this list has a non-empty value. 6586 // This may be used to include null fields in Patch requests. 6587 NullFields []string `json:"-"` 6588} 6589 6590func (s *GoogleCloudVisionV1p2beta1TextAnnotation) MarshalJSON() ([]byte, error) { 6591 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotation 6592 raw := NoMethod(*s) 6593 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6594} 6595 6596// GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak: Detected start 6597// or end of a structural component. 6598type GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak struct { 6599 // IsPrefix: True if break prepends the element. 6600 IsPrefix bool `json:"isPrefix,omitempty"` 6601 6602 // Type: Detected break type. 6603 // 6604 // Possible values: 6605 // "UNKNOWN" - Unknown break label type. 6606 // "SPACE" - Regular space. 6607 // "SURE_SPACE" - Sure space (very wide). 6608 // "EOL_SURE_SPACE" - Line-wrapping break. 6609 // "HYPHEN" - End-line hyphen that is not present in text; does not 6610 // co-occur with 6611 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 6612 // "LINE_BREAK" - Line break that ends a paragraph. 6613 Type string `json:"type,omitempty"` 6614 6615 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 6616 // unconditionally include in API requests. By default, fields with 6617 // empty values are omitted from API requests. However, any non-pointer, 6618 // non-interface field appearing in ForceSendFields will be sent to the 6619 // server regardless of whether the field is empty or not. This may be 6620 // used to include empty fields in Patch requests. 6621 ForceSendFields []string `json:"-"` 6622 6623 // NullFields is a list of field names (e.g. "IsPrefix") to include in 6624 // API requests with the JSON null value. By default, fields with empty 6625 // values are omitted from API requests. However, any field with an 6626 // empty value appearing in NullFields will be sent to the server as 6627 // null. It is an error if a field in this list has a non-empty value. 6628 // This may be used to include null fields in Patch requests. 6629 NullFields []string `json:"-"` 6630} 6631 6632func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 6633 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak 6634 raw := NoMethod(*s) 6635 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6636} 6637 6638// GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage: Detected 6639// language for a structural component. 6640type GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage struct { 6641 // Confidence: Confidence of detected language. Range [0, 1]. 6642 Confidence float64 `json:"confidence,omitempty"` 6643 6644 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 6645 // For more 6646 // information, 6647 // see 6648 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6649 LanguageCode string `json:"languageCode,omitempty"` 6650 6651 // ForceSendFields is a list of field names (e.g. "Confidence") to 6652 // unconditionally include in API requests. By default, fields with 6653 // empty values are omitted from API requests. However, any non-pointer, 6654 // non-interface field appearing in ForceSendFields will be sent to the 6655 // server regardless of whether the field is empty or not. This may be 6656 // used to include empty fields in Patch requests. 6657 ForceSendFields []string `json:"-"` 6658 6659 // NullFields is a list of field names (e.g. "Confidence") to include in 6660 // API requests with the JSON null value. By default, fields with empty 6661 // values are omitted from API requests. However, any field with an 6662 // empty value appearing in NullFields will be sent to the server as 6663 // null. It is an error if a field in this list has a non-empty value. 6664 // This may be used to include null fields in Patch requests. 6665 NullFields []string `json:"-"` 6666} 6667 6668func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 6669 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6670 raw := NoMethod(*s) 6671 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6672} 6673 6674func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 6675 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6676 var s1 struct { 6677 Confidence gensupport.JSONFloat64 `json:"confidence"` 6678 *NoMethod 6679 } 6680 s1.NoMethod = (*NoMethod)(s) 6681 if err := json.Unmarshal(data, &s1); err != nil { 6682 return err 6683 } 6684 s.Confidence = float64(s1.Confidence) 6685 return nil 6686} 6687 6688// GoogleCloudVisionV1p2beta1TextAnnotationTextProperty: Additional 6689// information detected on the structural component. 6690type GoogleCloudVisionV1p2beta1TextAnnotationTextProperty struct { 6691 // DetectedBreak: Detected start or end of a text segment. 6692 DetectedBreak *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 6693 6694 // DetectedLanguages: A list of detected languages together with 6695 // confidence. 6696 DetectedLanguages []*GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 6697 6698 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 6699 // unconditionally include in API requests. By default, fields with 6700 // empty values are omitted from API requests. However, any non-pointer, 6701 // non-interface field appearing in ForceSendFields will be sent to the 6702 // server regardless of whether the field is empty or not. This may be 6703 // used to include empty fields in Patch requests. 6704 ForceSendFields []string `json:"-"` 6705 6706 // NullFields is a list of field names (e.g. "DetectedBreak") to include 6707 // in API requests with the JSON null value. By default, fields with 6708 // empty values are omitted from API requests. However, any field with 6709 // an empty value appearing in NullFields will be sent to the server as 6710 // null. It is an error if a field in this list has a non-empty value. 6711 // This may be used to include null fields in Patch requests. 6712 NullFields []string `json:"-"` 6713} 6714 6715func (s *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 6716 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationTextProperty 6717 raw := NoMethod(*s) 6718 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6719} 6720 6721// GoogleCloudVisionV1p2beta1Vertex: A vertex represents a 2D point in 6722// the image. 6723// NOTE: the vertex coordinates are in the same scale as the original 6724// image. 6725type GoogleCloudVisionV1p2beta1Vertex struct { 6726 // X: X coordinate. 6727 X int64 `json:"x,omitempty"` 6728 6729 // Y: Y coordinate. 6730 Y int64 `json:"y,omitempty"` 6731 6732 // ForceSendFields is a list of field names (e.g. "X") to 6733 // unconditionally include in API requests. By default, fields with 6734 // empty values are omitted from API requests. However, any non-pointer, 6735 // non-interface field appearing in ForceSendFields will be sent to the 6736 // server regardless of whether the field is empty or not. This may be 6737 // used to include empty fields in Patch requests. 6738 ForceSendFields []string `json:"-"` 6739 6740 // NullFields is a list of field names (e.g. "X") to include in API 6741 // requests with the JSON null value. By default, fields with empty 6742 // values are omitted from API requests. However, any field with an 6743 // empty value appearing in NullFields will be sent to the server as 6744 // null. It is an error if a field in this list has a non-empty value. 6745 // This may be used to include null fields in Patch requests. 6746 NullFields []string `json:"-"` 6747} 6748 6749func (s *GoogleCloudVisionV1p2beta1Vertex) MarshalJSON() ([]byte, error) { 6750 type NoMethod GoogleCloudVisionV1p2beta1Vertex 6751 raw := NoMethod(*s) 6752 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6753} 6754 6755// GoogleCloudVisionV1p2beta1WebDetection: Relevant information for the 6756// image from the Internet. 6757type GoogleCloudVisionV1p2beta1WebDetection struct { 6758 // BestGuessLabels: The service's best guess as to the topic of the 6759 // request image. 6760 // Inferred from similar images on the open web. 6761 BestGuessLabels []*GoogleCloudVisionV1p2beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 6762 6763 // FullMatchingImages: Fully matching images from the Internet. 6764 // Can include resized copies of the query image. 6765 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6766 6767 // PagesWithMatchingImages: Web pages containing the matching images 6768 // from the Internet. 6769 PagesWithMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 6770 6771 // PartialMatchingImages: Partial matching images from the 6772 // Internet. 6773 // Those images are similar enough to share some key-point features. 6774 // For 6775 // example an original image will likely have partial matching for its 6776 // crops. 6777 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6778 6779 // VisuallySimilarImages: The visually similar image results. 6780 VisuallySimilarImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 6781 6782 // WebEntities: Deduced entities from similar images on the Internet. 6783 WebEntities []*GoogleCloudVisionV1p2beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 6784 6785 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 6786 // unconditionally include in API requests. By default, fields with 6787 // empty values are omitted from API requests. However, any non-pointer, 6788 // non-interface field appearing in ForceSendFields will be sent to the 6789 // server regardless of whether the field is empty or not. This may be 6790 // used to include empty fields in Patch requests. 6791 ForceSendFields []string `json:"-"` 6792 6793 // NullFields is a list of field names (e.g. "BestGuessLabels") to 6794 // include in API requests with the JSON null value. By default, fields 6795 // with empty values are omitted from API requests. However, any field 6796 // with an empty value appearing in NullFields will be sent to the 6797 // server as null. It is an error if a field in this list has a 6798 // non-empty value. This may be used to include null fields in Patch 6799 // requests. 6800 NullFields []string `json:"-"` 6801} 6802 6803func (s *GoogleCloudVisionV1p2beta1WebDetection) MarshalJSON() ([]byte, error) { 6804 type NoMethod GoogleCloudVisionV1p2beta1WebDetection 6805 raw := NoMethod(*s) 6806 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6807} 6808 6809// GoogleCloudVisionV1p2beta1WebDetectionWebEntity: Entity deduced from 6810// similar images on the Internet. 6811type GoogleCloudVisionV1p2beta1WebDetectionWebEntity struct { 6812 // Description: Canonical description of the entity, in English. 6813 Description string `json:"description,omitempty"` 6814 6815 // EntityId: Opaque entity ID. 6816 EntityId string `json:"entityId,omitempty"` 6817 6818 // Score: Overall relevancy score for the entity. 6819 // Not normalized and not comparable across different image queries. 6820 Score float64 `json:"score,omitempty"` 6821 6822 // ForceSendFields is a list of field names (e.g. "Description") to 6823 // unconditionally include in API requests. By default, fields with 6824 // empty values are omitted from API requests. However, any non-pointer, 6825 // non-interface field appearing in ForceSendFields will be sent to the 6826 // server regardless of whether the field is empty or not. This may be 6827 // used to include empty fields in Patch requests. 6828 ForceSendFields []string `json:"-"` 6829 6830 // NullFields is a list of field names (e.g. "Description") to include 6831 // in API requests with the JSON null value. By default, fields with 6832 // empty values are omitted from API requests. However, any field with 6833 // an empty value appearing in NullFields will be sent to the server as 6834 // null. It is an error if a field in this list has a non-empty value. 6835 // This may be used to include null fields in Patch requests. 6836 NullFields []string `json:"-"` 6837} 6838 6839func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 6840 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6841 raw := NoMethod(*s) 6842 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6843} 6844 6845func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 6846 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6847 var s1 struct { 6848 Score gensupport.JSONFloat64 `json:"score"` 6849 *NoMethod 6850 } 6851 s1.NoMethod = (*NoMethod)(s) 6852 if err := json.Unmarshal(data, &s1); err != nil { 6853 return err 6854 } 6855 s.Score = float64(s1.Score) 6856 return nil 6857} 6858 6859// GoogleCloudVisionV1p2beta1WebDetectionWebImage: Metadata for online 6860// images. 6861type GoogleCloudVisionV1p2beta1WebDetectionWebImage struct { 6862 // Score: (Deprecated) Overall relevancy score for the image. 6863 Score float64 `json:"score,omitempty"` 6864 6865 // Url: The result image URL. 6866 Url string `json:"url,omitempty"` 6867 6868 // ForceSendFields is a list of field names (e.g. "Score") to 6869 // unconditionally include in API requests. By default, fields with 6870 // empty values are omitted from API requests. However, any non-pointer, 6871 // non-interface field appearing in ForceSendFields will be sent to the 6872 // server regardless of whether the field is empty or not. This may be 6873 // used to include empty fields in Patch requests. 6874 ForceSendFields []string `json:"-"` 6875 6876 // NullFields is a list of field names (e.g. "Score") to include in API 6877 // requests with the JSON null value. By default, fields with empty 6878 // values are omitted from API requests. However, any field with an 6879 // empty value appearing in NullFields will be sent to the server as 6880 // null. It is an error if a field in this list has a non-empty value. 6881 // This may be used to include null fields in Patch requests. 6882 NullFields []string `json:"-"` 6883} 6884 6885func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 6886 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6887 raw := NoMethod(*s) 6888 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6889} 6890 6891func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 6892 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6893 var s1 struct { 6894 Score gensupport.JSONFloat64 `json:"score"` 6895 *NoMethod 6896 } 6897 s1.NoMethod = (*NoMethod)(s) 6898 if err := json.Unmarshal(data, &s1); err != nil { 6899 return err 6900 } 6901 s.Score = float64(s1.Score) 6902 return nil 6903} 6904 6905// GoogleCloudVisionV1p2beta1WebDetectionWebLabel: Label to provide 6906// extra metadata for the web detection. 6907type GoogleCloudVisionV1p2beta1WebDetectionWebLabel struct { 6908 // Label: Label for extra metadata. 6909 Label string `json:"label,omitempty"` 6910 6911 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 6912 // or "sr-Latn". 6913 // For more information, 6914 // see 6915 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6916 LanguageCode string `json:"languageCode,omitempty"` 6917 6918 // ForceSendFields is a list of field names (e.g. "Label") to 6919 // unconditionally include in API requests. By default, fields with 6920 // empty values are omitted from API requests. However, any non-pointer, 6921 // non-interface field appearing in ForceSendFields will be sent to the 6922 // server regardless of whether the field is empty or not. This may be 6923 // used to include empty fields in Patch requests. 6924 ForceSendFields []string `json:"-"` 6925 6926 // NullFields is a list of field names (e.g. "Label") to include in API 6927 // requests with the JSON null value. By default, fields with empty 6928 // values are omitted from API requests. However, any field with an 6929 // empty value appearing in NullFields will be sent to the server as 6930 // null. It is an error if a field in this list has a non-empty value. 6931 // This may be used to include null fields in Patch requests. 6932 NullFields []string `json:"-"` 6933} 6934 6935func (s *GoogleCloudVisionV1p2beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 6936 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebLabel 6937 raw := NoMethod(*s) 6938 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6939} 6940 6941// GoogleCloudVisionV1p2beta1WebDetectionWebPage: Metadata for web 6942// pages. 6943type GoogleCloudVisionV1p2beta1WebDetectionWebPage struct { 6944 // FullMatchingImages: Fully matching images on the page. 6945 // Can include resized copies of the query image. 6946 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6947 6948 // PageTitle: Title for the web page, may contain HTML markups. 6949 PageTitle string `json:"pageTitle,omitempty"` 6950 6951 // PartialMatchingImages: Partial matching images on the page. 6952 // Those images are similar enough to share some key-point features. 6953 // For 6954 // example an original image will likely have partial matching for 6955 // its 6956 // crops. 6957 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6958 6959 // Score: (Deprecated) Overall relevancy score for the web page. 6960 Score float64 `json:"score,omitempty"` 6961 6962 // Url: The result web page URL. 6963 Url string `json:"url,omitempty"` 6964 6965 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 6966 // to unconditionally include in API requests. By default, fields with 6967 // empty values are omitted from API requests. However, any non-pointer, 6968 // non-interface field appearing in ForceSendFields will be sent to the 6969 // server regardless of whether the field is empty or not. This may be 6970 // used to include empty fields in Patch requests. 6971 ForceSendFields []string `json:"-"` 6972 6973 // NullFields is a list of field names (e.g. "FullMatchingImages") to 6974 // include in API requests with the JSON null value. By default, fields 6975 // with empty values are omitted from API requests. However, any field 6976 // with an empty value appearing in NullFields will be sent to the 6977 // server as null. It is an error if a field in this list has a 6978 // non-empty value. This may be used to include null fields in Patch 6979 // requests. 6980 NullFields []string `json:"-"` 6981} 6982 6983func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 6984 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 6985 raw := NoMethod(*s) 6986 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6987} 6988 6989func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 6990 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 6991 var s1 struct { 6992 Score gensupport.JSONFloat64 `json:"score"` 6993 *NoMethod 6994 } 6995 s1.NoMethod = (*NoMethod)(s) 6996 if err := json.Unmarshal(data, &s1); err != nil { 6997 return err 6998 } 6999 s.Score = float64(s1.Score) 7000 return nil 7001} 7002 7003// GoogleCloudVisionV1p2beta1Word: A word representation. 7004type GoogleCloudVisionV1p2beta1Word struct { 7005 // BoundingBox: The bounding box for the word. 7006 // The vertices are in the order of top-left, top-right, 7007 // bottom-right, 7008 // bottom-left. When a rotation of the bounding box is detected the 7009 // rotation 7010 // is represented as around the top-left corner as defined when the text 7011 // is 7012 // read in the 'natural' orientation. 7013 // For example: 7014 // * when the text is horizontal it might look like: 7015 // 0----1 7016 // | | 7017 // 3----2 7018 // * when it's rotated 180 degrees around the top-left corner it 7019 // becomes: 7020 // 2----3 7021 // | | 7022 // 1----0 7023 // and the vertex order will still be (0, 1, 2, 3). 7024 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 7025 7026 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 7027 Confidence float64 `json:"confidence,omitempty"` 7028 7029 // Property: Additional information detected for the word. 7030 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 7031 7032 // Symbols: List of symbols in the word. 7033 // The order of the symbols follows the natural reading order. 7034 Symbols []*GoogleCloudVisionV1p2beta1Symbol `json:"symbols,omitempty"` 7035 7036 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 7037 // unconditionally include in API requests. By default, fields with 7038 // empty values are omitted from API requests. However, any non-pointer, 7039 // non-interface field appearing in ForceSendFields will be sent to the 7040 // server regardless of whether the field is empty or not. This may be 7041 // used to include empty fields in Patch requests. 7042 ForceSendFields []string `json:"-"` 7043 7044 // NullFields is a list of field names (e.g. "BoundingBox") to include 7045 // in API requests with the JSON null value. By default, fields with 7046 // empty values are omitted from API requests. However, any field with 7047 // an empty value appearing in NullFields will be sent to the server as 7048 // null. It is an error if a field in this list has a non-empty value. 7049 // This may be used to include null fields in Patch requests. 7050 NullFields []string `json:"-"` 7051} 7052 7053func (s *GoogleCloudVisionV1p2beta1Word) MarshalJSON() ([]byte, error) { 7054 type NoMethod GoogleCloudVisionV1p2beta1Word 7055 raw := NoMethod(*s) 7056 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7057} 7058 7059func (s *GoogleCloudVisionV1p2beta1Word) UnmarshalJSON(data []byte) error { 7060 type NoMethod GoogleCloudVisionV1p2beta1Word 7061 var s1 struct { 7062 Confidence gensupport.JSONFloat64 `json:"confidence"` 7063 *NoMethod 7064 } 7065 s1.NoMethod = (*NoMethod)(s) 7066 if err := json.Unmarshal(data, &s1); err != nil { 7067 return err 7068 } 7069 s.Confidence = float64(s1.Confidence) 7070 return nil 7071} 7072 7073// GoogleCloudVisionV1p3beta1AnnotateFileResponse: Response to a single 7074// file annotation request. A file may contain one or more 7075// images, which individually have their own responses. 7076type GoogleCloudVisionV1p3beta1AnnotateFileResponse struct { 7077 // Error: If set, represents the error message for the failed request. 7078 // The 7079 // `responses` field will not be set in this case. 7080 Error *Status `json:"error,omitempty"` 7081 7082 // InputConfig: Information about the file for which this response is 7083 // generated. 7084 InputConfig *GoogleCloudVisionV1p3beta1InputConfig `json:"inputConfig,omitempty"` 7085 7086 // Responses: Individual responses to images found within the file. This 7087 // field will be 7088 // empty if the `error` field is set. 7089 Responses []*GoogleCloudVisionV1p3beta1AnnotateImageResponse `json:"responses,omitempty"` 7090 7091 // TotalPages: This field gives the total number of pages in the file. 7092 TotalPages int64 `json:"totalPages,omitempty"` 7093 7094 // ForceSendFields is a list of field names (e.g. "Error") to 7095 // unconditionally include in API requests. By default, fields with 7096 // empty values are omitted from API requests. However, any non-pointer, 7097 // non-interface field appearing in ForceSendFields will be sent to the 7098 // server regardless of whether the field is empty or not. This may be 7099 // used to include empty fields in Patch requests. 7100 ForceSendFields []string `json:"-"` 7101 7102 // NullFields is a list of field names (e.g. "Error") to include in API 7103 // requests with the JSON null value. By default, fields with empty 7104 // values are omitted from API requests. However, any field with an 7105 // empty value appearing in NullFields will be sent to the server as 7106 // null. It is an error if a field in this list has a non-empty value. 7107 // This may be used to include null fields in Patch requests. 7108 NullFields []string `json:"-"` 7109} 7110 7111func (s *GoogleCloudVisionV1p3beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 7112 type NoMethod GoogleCloudVisionV1p3beta1AnnotateFileResponse 7113 raw := NoMethod(*s) 7114 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7115} 7116 7117// GoogleCloudVisionV1p3beta1AnnotateImageResponse: Response to an image 7118// annotation request. 7119type GoogleCloudVisionV1p3beta1AnnotateImageResponse struct { 7120 // Context: If present, contextual information is needed to understand 7121 // where this image 7122 // comes from. 7123 Context *GoogleCloudVisionV1p3beta1ImageAnnotationContext `json:"context,omitempty"` 7124 7125 // CropHintsAnnotation: If present, crop hints have completed 7126 // successfully. 7127 CropHintsAnnotation *GoogleCloudVisionV1p3beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 7128 7129 // Error: If set, represents the error message for the operation. 7130 // Note that filled-in image annotations are guaranteed to be 7131 // correct, even when `error` is set. 7132 Error *Status `json:"error,omitempty"` 7133 7134 // FaceAnnotations: If present, face detection has completed 7135 // successfully. 7136 FaceAnnotations []*GoogleCloudVisionV1p3beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 7137 7138 // FullTextAnnotation: If present, text (OCR) detection or document 7139 // (OCR) text detection has 7140 // completed successfully. 7141 // This annotation provides the structural hierarchy for the OCR 7142 // detected 7143 // text. 7144 FullTextAnnotation *GoogleCloudVisionV1p3beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 7145 7146 // ImagePropertiesAnnotation: If present, image properties were 7147 // extracted successfully. 7148 ImagePropertiesAnnotation *GoogleCloudVisionV1p3beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 7149 7150 // LabelAnnotations: If present, label detection has completed 7151 // successfully. 7152 LabelAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 7153 7154 // LandmarkAnnotations: If present, landmark detection has completed 7155 // successfully. 7156 LandmarkAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 7157 7158 // LocalizedObjectAnnotations: If present, localized object detection 7159 // has completed successfully. 7160 // This will be sorted descending by confidence score. 7161 LocalizedObjectAnnotations []*GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 7162 7163 // LogoAnnotations: If present, logo detection has completed 7164 // successfully. 7165 LogoAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 7166 7167 // ProductSearchResults: If present, product search has completed 7168 // successfully. 7169 ProductSearchResults *GoogleCloudVisionV1p3beta1ProductSearchResults `json:"productSearchResults,omitempty"` 7170 7171 // SafeSearchAnnotation: If present, safe-search annotation has 7172 // completed successfully. 7173 SafeSearchAnnotation *GoogleCloudVisionV1p3beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 7174 7175 // TextAnnotations: If present, text (OCR) detection has completed 7176 // successfully. 7177 TextAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"textAnnotations,omitempty"` 7178 7179 // WebDetection: If present, web detection has completed successfully. 7180 WebDetection *GoogleCloudVisionV1p3beta1WebDetection `json:"webDetection,omitempty"` 7181 7182 // ForceSendFields is a list of field names (e.g. "Context") to 7183 // unconditionally include in API requests. By default, fields with 7184 // empty values are omitted from API requests. However, any non-pointer, 7185 // non-interface field appearing in ForceSendFields will be sent to the 7186 // server regardless of whether the field is empty or not. This may be 7187 // used to include empty fields in Patch requests. 7188 ForceSendFields []string `json:"-"` 7189 7190 // NullFields is a list of field names (e.g. "Context") to include in 7191 // API requests with the JSON null value. By default, fields with empty 7192 // values are omitted from API requests. However, any field with an 7193 // empty value appearing in NullFields will be sent to the server as 7194 // null. It is an error if a field in this list has a non-empty value. 7195 // This may be used to include null fields in Patch requests. 7196 NullFields []string `json:"-"` 7197} 7198 7199func (s *GoogleCloudVisionV1p3beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 7200 type NoMethod GoogleCloudVisionV1p3beta1AnnotateImageResponse 7201 raw := NoMethod(*s) 7202 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7203} 7204 7205// GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse: The response for 7206// a single offline file annotation request. 7207type GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse struct { 7208 // OutputConfig: The output location and metadata from 7209 // AsyncAnnotateFileRequest. 7210 OutputConfig *GoogleCloudVisionV1p3beta1OutputConfig `json:"outputConfig,omitempty"` 7211 7212 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 7213 // unconditionally include in API requests. By default, fields with 7214 // empty values are omitted from API requests. However, any non-pointer, 7215 // non-interface field appearing in ForceSendFields will be sent to the 7216 // server regardless of whether the field is empty or not. This may be 7217 // used to include empty fields in Patch requests. 7218 ForceSendFields []string `json:"-"` 7219 7220 // NullFields is a list of field names (e.g. "OutputConfig") to include 7221 // in API requests with the JSON null value. By default, fields with 7222 // empty values are omitted from API requests. However, any field with 7223 // an empty value appearing in NullFields will be sent to the server as 7224 // null. It is an error if a field in this list has a non-empty value. 7225 // This may be used to include null fields in Patch requests. 7226 NullFields []string `json:"-"` 7227} 7228 7229func (s *GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 7230 type NoMethod GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse 7231 raw := NoMethod(*s) 7232 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7233} 7234 7235// GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse: Response 7236// to an async batch file annotation request. 7237type GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse struct { 7238 // Responses: The list of file annotation responses, one for each 7239 // request in 7240 // AsyncBatchAnnotateFilesRequest. 7241 Responses []*GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 7242 7243 // ForceSendFields is a list of field names (e.g. "Responses") to 7244 // unconditionally include in API requests. By default, fields with 7245 // empty values are omitted from API requests. However, any non-pointer, 7246 // non-interface field appearing in ForceSendFields will be sent to the 7247 // server regardless of whether the field is empty or not. This may be 7248 // used to include empty fields in Patch requests. 7249 ForceSendFields []string `json:"-"` 7250 7251 // NullFields is a list of field names (e.g. "Responses") to include in 7252 // API requests with the JSON null value. By default, fields with empty 7253 // values are omitted from API requests. However, any field with an 7254 // empty value appearing in NullFields will be sent to the server as 7255 // null. It is an error if a field in this list has a non-empty value. 7256 // This may be used to include null fields in Patch requests. 7257 NullFields []string `json:"-"` 7258} 7259 7260func (s *GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 7261 type NoMethod GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse 7262 raw := NoMethod(*s) 7263 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7264} 7265 7266// GoogleCloudVisionV1p3beta1BatchOperationMetadata: Metadata for the 7267// batch operations such as the current state. 7268// 7269// This is included in the `metadata` field of the `Operation` returned 7270// by the 7271// `GetOperation` call of the `google::longrunning::Operations` service. 7272type GoogleCloudVisionV1p3beta1BatchOperationMetadata struct { 7273 // EndTime: The time when the batch request is finished 7274 // and 7275 // google.longrunning.Operation.done is set to true. 7276 EndTime string `json:"endTime,omitempty"` 7277 7278 // State: The current state of the batch operation. 7279 // 7280 // Possible values: 7281 // "STATE_UNSPECIFIED" - Invalid. 7282 // "PROCESSING" - Request is actively being processed. 7283 // "SUCCESSFUL" - The request is done and at least one item has been 7284 // successfully 7285 // processed. 7286 // "FAILED" - The request is done and no item has been successfully 7287 // processed. 7288 // "CANCELLED" - The request is done after the 7289 // longrunning.Operations.CancelOperation has 7290 // been called by the user. Any records that were processed before 7291 // the 7292 // cancel command are output as specified in the request. 7293 State string `json:"state,omitempty"` 7294 7295 // SubmitTime: The time when the batch request was submitted to the 7296 // server. 7297 SubmitTime string `json:"submitTime,omitempty"` 7298 7299 // ForceSendFields is a list of field names (e.g. "EndTime") to 7300 // unconditionally include in API requests. By default, fields with 7301 // empty values are omitted from API requests. However, any non-pointer, 7302 // non-interface field appearing in ForceSendFields will be sent to the 7303 // server regardless of whether the field is empty or not. This may be 7304 // used to include empty fields in Patch requests. 7305 ForceSendFields []string `json:"-"` 7306 7307 // NullFields is a list of field names (e.g. "EndTime") to include in 7308 // API requests with the JSON null value. By default, fields with empty 7309 // values are omitted from API requests. However, any field with an 7310 // empty value appearing in NullFields will be sent to the server as 7311 // null. It is an error if a field in this list has a non-empty value. 7312 // This may be used to include null fields in Patch requests. 7313 NullFields []string `json:"-"` 7314} 7315 7316func (s *GoogleCloudVisionV1p3beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 7317 type NoMethod GoogleCloudVisionV1p3beta1BatchOperationMetadata 7318 raw := NoMethod(*s) 7319 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7320} 7321 7322// GoogleCloudVisionV1p3beta1Block: Logical element on the page. 7323type GoogleCloudVisionV1p3beta1Block struct { 7324 // BlockType: Detected block type (text, image etc) for this block. 7325 // 7326 // Possible values: 7327 // "UNKNOWN" - Unknown block type. 7328 // "TEXT" - Regular text block. 7329 // "TABLE" - Table block. 7330 // "PICTURE" - Image block. 7331 // "RULER" - Horizontal/vertical line box. 7332 // "BARCODE" - Barcode block. 7333 BlockType string `json:"blockType,omitempty"` 7334 7335 // BoundingBox: The bounding box for the block. 7336 // The vertices are in the order of top-left, top-right, 7337 // bottom-right, 7338 // bottom-left. When a rotation of the bounding box is detected the 7339 // rotation 7340 // is represented as around the top-left corner as defined when the text 7341 // is 7342 // read in the 'natural' orientation. 7343 // For example: 7344 // 7345 // * when the text is horizontal it might look like: 7346 // 7347 // 0----1 7348 // | | 7349 // 3----2 7350 // 7351 // * when it's rotated 180 degrees around the top-left corner it 7352 // becomes: 7353 // 7354 // 2----3 7355 // | | 7356 // 1----0 7357 // 7358 // and the vertex order will still be (0, 1, 2, 3). 7359 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 7360 7361 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 7362 Confidence float64 `json:"confidence,omitempty"` 7363 7364 // Paragraphs: List of paragraphs in this block (if this blocks is of 7365 // type text). 7366 Paragraphs []*GoogleCloudVisionV1p3beta1Paragraph `json:"paragraphs,omitempty"` 7367 7368 // Property: Additional information detected for the block. 7369 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 7370 7371 // ForceSendFields is a list of field names (e.g. "BlockType") to 7372 // unconditionally include in API requests. By default, fields with 7373 // empty values are omitted from API requests. However, any non-pointer, 7374 // non-interface field appearing in ForceSendFields will be sent to the 7375 // server regardless of whether the field is empty or not. This may be 7376 // used to include empty fields in Patch requests. 7377 ForceSendFields []string `json:"-"` 7378 7379 // NullFields is a list of field names (e.g. "BlockType") to include in 7380 // API requests with the JSON null value. By default, fields with empty 7381 // values are omitted from API requests. However, any field with an 7382 // empty value appearing in NullFields will be sent to the server as 7383 // null. It is an error if a field in this list has a non-empty value. 7384 // This may be used to include null fields in Patch requests. 7385 NullFields []string `json:"-"` 7386} 7387 7388func (s *GoogleCloudVisionV1p3beta1Block) MarshalJSON() ([]byte, error) { 7389 type NoMethod GoogleCloudVisionV1p3beta1Block 7390 raw := NoMethod(*s) 7391 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7392} 7393 7394func (s *GoogleCloudVisionV1p3beta1Block) UnmarshalJSON(data []byte) error { 7395 type NoMethod GoogleCloudVisionV1p3beta1Block 7396 var s1 struct { 7397 Confidence gensupport.JSONFloat64 `json:"confidence"` 7398 *NoMethod 7399 } 7400 s1.NoMethod = (*NoMethod)(s) 7401 if err := json.Unmarshal(data, &s1); err != nil { 7402 return err 7403 } 7404 s.Confidence = float64(s1.Confidence) 7405 return nil 7406} 7407 7408// GoogleCloudVisionV1p3beta1BoundingPoly: A bounding polygon for the 7409// detected image annotation. 7410type GoogleCloudVisionV1p3beta1BoundingPoly struct { 7411 // NormalizedVertices: The bounding polygon normalized vertices. 7412 NormalizedVertices []*GoogleCloudVisionV1p3beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 7413 7414 // Vertices: The bounding polygon vertices. 7415 Vertices []*GoogleCloudVisionV1p3beta1Vertex `json:"vertices,omitempty"` 7416 7417 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 7418 // to unconditionally include in API requests. By default, fields with 7419 // empty values are omitted from API requests. However, any non-pointer, 7420 // non-interface field appearing in ForceSendFields will be sent to the 7421 // server regardless of whether the field is empty or not. This may be 7422 // used to include empty fields in Patch requests. 7423 ForceSendFields []string `json:"-"` 7424 7425 // NullFields is a list of field names (e.g. "NormalizedVertices") to 7426 // include in API requests with the JSON null value. By default, fields 7427 // with empty values are omitted from API requests. However, any field 7428 // with an empty value appearing in NullFields will be sent to the 7429 // server as null. It is an error if a field in this list has a 7430 // non-empty value. This may be used to include null fields in Patch 7431 // requests. 7432 NullFields []string `json:"-"` 7433} 7434 7435func (s *GoogleCloudVisionV1p3beta1BoundingPoly) MarshalJSON() ([]byte, error) { 7436 type NoMethod GoogleCloudVisionV1p3beta1BoundingPoly 7437 raw := NoMethod(*s) 7438 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7439} 7440 7441// GoogleCloudVisionV1p3beta1ColorInfo: Color information consists of 7442// RGB channels, score, and the fraction of 7443// the image that the color occupies in the image. 7444type GoogleCloudVisionV1p3beta1ColorInfo struct { 7445 // Color: RGB components of the color. 7446 Color *Color `json:"color,omitempty"` 7447 7448 // PixelFraction: The fraction of pixels the color occupies in the 7449 // image. 7450 // Value in range [0, 1]. 7451 PixelFraction float64 `json:"pixelFraction,omitempty"` 7452 7453 // Score: Image-specific score for this color. Value in range [0, 1]. 7454 Score float64 `json:"score,omitempty"` 7455 7456 // ForceSendFields is a list of field names (e.g. "Color") to 7457 // unconditionally include in API requests. By default, fields with 7458 // empty values are omitted from API requests. However, any non-pointer, 7459 // non-interface field appearing in ForceSendFields will be sent to the 7460 // server regardless of whether the field is empty or not. This may be 7461 // used to include empty fields in Patch requests. 7462 ForceSendFields []string `json:"-"` 7463 7464 // NullFields is a list of field names (e.g. "Color") to include in API 7465 // requests with the JSON null value. By default, fields with empty 7466 // values are omitted from API requests. However, any field with an 7467 // empty value appearing in NullFields will be sent to the server as 7468 // null. It is an error if a field in this list has a non-empty value. 7469 // This may be used to include null fields in Patch requests. 7470 NullFields []string `json:"-"` 7471} 7472 7473func (s *GoogleCloudVisionV1p3beta1ColorInfo) MarshalJSON() ([]byte, error) { 7474 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 7475 raw := NoMethod(*s) 7476 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7477} 7478 7479func (s *GoogleCloudVisionV1p3beta1ColorInfo) UnmarshalJSON(data []byte) error { 7480 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 7481 var s1 struct { 7482 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 7483 Score gensupport.JSONFloat64 `json:"score"` 7484 *NoMethod 7485 } 7486 s1.NoMethod = (*NoMethod)(s) 7487 if err := json.Unmarshal(data, &s1); err != nil { 7488 return err 7489 } 7490 s.PixelFraction = float64(s1.PixelFraction) 7491 s.Score = float64(s1.Score) 7492 return nil 7493} 7494 7495// GoogleCloudVisionV1p3beta1CropHint: Single crop hint that is used to 7496// generate a new crop when serving an image. 7497type GoogleCloudVisionV1p3beta1CropHint struct { 7498 // BoundingPoly: The bounding polygon for the crop region. The 7499 // coordinates of the bounding 7500 // box are in the original image's scale. 7501 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7502 7503 // Confidence: Confidence of this being a salient region. Range [0, 1]. 7504 Confidence float64 `json:"confidence,omitempty"` 7505 7506 // ImportanceFraction: Fraction of importance of this salient region 7507 // with respect to the original 7508 // image. 7509 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 7510 7511 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7512 // unconditionally include in API requests. By default, fields with 7513 // empty values are omitted from API requests. However, any non-pointer, 7514 // non-interface field appearing in ForceSendFields will be sent to the 7515 // server regardless of whether the field is empty or not. This may be 7516 // used to include empty fields in Patch requests. 7517 ForceSendFields []string `json:"-"` 7518 7519 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7520 // in API requests with the JSON null value. By default, fields with 7521 // empty values are omitted from API requests. However, any field with 7522 // an empty value appearing in NullFields will be sent to the server as 7523 // null. It is an error if a field in this list has a non-empty value. 7524 // This may be used to include null fields in Patch requests. 7525 NullFields []string `json:"-"` 7526} 7527 7528func (s *GoogleCloudVisionV1p3beta1CropHint) MarshalJSON() ([]byte, error) { 7529 type NoMethod GoogleCloudVisionV1p3beta1CropHint 7530 raw := NoMethod(*s) 7531 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7532} 7533 7534func (s *GoogleCloudVisionV1p3beta1CropHint) UnmarshalJSON(data []byte) error { 7535 type NoMethod GoogleCloudVisionV1p3beta1CropHint 7536 var s1 struct { 7537 Confidence gensupport.JSONFloat64 `json:"confidence"` 7538 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 7539 *NoMethod 7540 } 7541 s1.NoMethod = (*NoMethod)(s) 7542 if err := json.Unmarshal(data, &s1); err != nil { 7543 return err 7544 } 7545 s.Confidence = float64(s1.Confidence) 7546 s.ImportanceFraction = float64(s1.ImportanceFraction) 7547 return nil 7548} 7549 7550// GoogleCloudVisionV1p3beta1CropHintsAnnotation: Set of crop hints that 7551// are used to generate new crops when serving images. 7552type GoogleCloudVisionV1p3beta1CropHintsAnnotation struct { 7553 // CropHints: Crop hint results. 7554 CropHints []*GoogleCloudVisionV1p3beta1CropHint `json:"cropHints,omitempty"` 7555 7556 // ForceSendFields is a list of field names (e.g. "CropHints") to 7557 // unconditionally include in API requests. By default, fields with 7558 // empty values are omitted from API requests. However, any non-pointer, 7559 // non-interface field appearing in ForceSendFields will be sent to the 7560 // server regardless of whether the field is empty or not. This may be 7561 // used to include empty fields in Patch requests. 7562 ForceSendFields []string `json:"-"` 7563 7564 // NullFields is a list of field names (e.g. "CropHints") to include in 7565 // API requests with the JSON null value. By default, fields with empty 7566 // values are omitted from API requests. However, any field with an 7567 // empty value appearing in NullFields will be sent to the server as 7568 // null. It is an error if a field in this list has a non-empty value. 7569 // This may be used to include null fields in Patch requests. 7570 NullFields []string `json:"-"` 7571} 7572 7573func (s *GoogleCloudVisionV1p3beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 7574 type NoMethod GoogleCloudVisionV1p3beta1CropHintsAnnotation 7575 raw := NoMethod(*s) 7576 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7577} 7578 7579// GoogleCloudVisionV1p3beta1DominantColorsAnnotation: Set of dominant 7580// colors and their corresponding scores. 7581type GoogleCloudVisionV1p3beta1DominantColorsAnnotation struct { 7582 // Colors: RGB color values with their score and pixel fraction. 7583 Colors []*GoogleCloudVisionV1p3beta1ColorInfo `json:"colors,omitempty"` 7584 7585 // ForceSendFields is a list of field names (e.g. "Colors") to 7586 // unconditionally include in API requests. By default, fields with 7587 // empty values are omitted from API requests. However, any non-pointer, 7588 // non-interface field appearing in ForceSendFields will be sent to the 7589 // server regardless of whether the field is empty or not. This may be 7590 // used to include empty fields in Patch requests. 7591 ForceSendFields []string `json:"-"` 7592 7593 // NullFields is a list of field names (e.g. "Colors") to include in API 7594 // requests with the JSON null value. By default, fields with empty 7595 // values are omitted from API requests. However, any field with an 7596 // empty value appearing in NullFields will be sent to the server as 7597 // null. It is an error if a field in this list has a non-empty value. 7598 // This may be used to include null fields in Patch requests. 7599 NullFields []string `json:"-"` 7600} 7601 7602func (s *GoogleCloudVisionV1p3beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 7603 type NoMethod GoogleCloudVisionV1p3beta1DominantColorsAnnotation 7604 raw := NoMethod(*s) 7605 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7606} 7607 7608// GoogleCloudVisionV1p3beta1EntityAnnotation: Set of detected entity 7609// features. 7610type GoogleCloudVisionV1p3beta1EntityAnnotation struct { 7611 // BoundingPoly: Image region to which this entity belongs. Not 7612 // produced 7613 // for `LABEL_DETECTION` features. 7614 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7615 7616 // Confidence: **Deprecated. Use `score` instead.** 7617 // The accuracy of the entity detection in an image. 7618 // For example, for an image in which the "Eiffel Tower" entity is 7619 // detected, 7620 // this field represents the confidence that there is a tower in the 7621 // query 7622 // image. Range [0, 1]. 7623 Confidence float64 `json:"confidence,omitempty"` 7624 7625 // Description: Entity textual description, expressed in its `locale` 7626 // language. 7627 Description string `json:"description,omitempty"` 7628 7629 // Locale: The language code for the locale in which the entity 7630 // textual 7631 // `description` is expressed. 7632 Locale string `json:"locale,omitempty"` 7633 7634 // Locations: The location information for the detected entity. 7635 // Multiple 7636 // `LocationInfo` elements can be present because one location 7637 // may 7638 // indicate the location of the scene in the image, and another 7639 // location 7640 // may indicate the location of the place where the image was 7641 // taken. 7642 // Location information is usually present for landmarks. 7643 Locations []*GoogleCloudVisionV1p3beta1LocationInfo `json:"locations,omitempty"` 7644 7645 // Mid: Opaque entity ID. Some IDs may be available in 7646 // [Google Knowledge Graph 7647 // Search 7648 // API](https://developers.google.com/knowledge-graph/). 7649 Mid string `json:"mid,omitempty"` 7650 7651 // Properties: Some entities may have optional user-supplied `Property` 7652 // (name/value) 7653 // fields, such a score or string that qualifies the entity. 7654 Properties []*GoogleCloudVisionV1p3beta1Property `json:"properties,omitempty"` 7655 7656 // Score: Overall score of the result. Range [0, 1]. 7657 Score float64 `json:"score,omitempty"` 7658 7659 // Topicality: The relevancy of the ICA (Image Content Annotation) label 7660 // to the 7661 // image. For example, the relevancy of "tower" is likely higher to an 7662 // image 7663 // containing the detected "Eiffel Tower" than to an image containing 7664 // a 7665 // detected distant towering building, even though the confidence 7666 // that 7667 // there is a tower in each image may be the same. Range [0, 1]. 7668 Topicality float64 `json:"topicality,omitempty"` 7669 7670 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7671 // unconditionally include in API requests. By default, fields with 7672 // empty values are omitted from API requests. However, any non-pointer, 7673 // non-interface field appearing in ForceSendFields will be sent to the 7674 // server regardless of whether the field is empty or not. This may be 7675 // used to include empty fields in Patch requests. 7676 ForceSendFields []string `json:"-"` 7677 7678 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7679 // in API requests with the JSON null value. By default, fields with 7680 // empty values are omitted from API requests. However, any field with 7681 // an empty value appearing in NullFields will be sent to the server as 7682 // null. It is an error if a field in this list has a non-empty value. 7683 // This may be used to include null fields in Patch requests. 7684 NullFields []string `json:"-"` 7685} 7686 7687func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 7688 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7689 raw := NoMethod(*s) 7690 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7691} 7692 7693func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 7694 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7695 var s1 struct { 7696 Confidence gensupport.JSONFloat64 `json:"confidence"` 7697 Score gensupport.JSONFloat64 `json:"score"` 7698 Topicality gensupport.JSONFloat64 `json:"topicality"` 7699 *NoMethod 7700 } 7701 s1.NoMethod = (*NoMethod)(s) 7702 if err := json.Unmarshal(data, &s1); err != nil { 7703 return err 7704 } 7705 s.Confidence = float64(s1.Confidence) 7706 s.Score = float64(s1.Score) 7707 s.Topicality = float64(s1.Topicality) 7708 return nil 7709} 7710 7711// GoogleCloudVisionV1p3beta1FaceAnnotation: A face annotation object 7712// contains the results of face detection. 7713type GoogleCloudVisionV1p3beta1FaceAnnotation struct { 7714 // AngerLikelihood: Anger likelihood. 7715 // 7716 // Possible values: 7717 // "UNKNOWN" - Unknown likelihood. 7718 // "VERY_UNLIKELY" - It is very unlikely. 7719 // "UNLIKELY" - It is unlikely. 7720 // "POSSIBLE" - It is possible. 7721 // "LIKELY" - It is likely. 7722 // "VERY_LIKELY" - It is very likely. 7723 AngerLikelihood string `json:"angerLikelihood,omitempty"` 7724 7725 // BlurredLikelihood: Blurred likelihood. 7726 // 7727 // Possible values: 7728 // "UNKNOWN" - Unknown likelihood. 7729 // "VERY_UNLIKELY" - It is very unlikely. 7730 // "UNLIKELY" - It is unlikely. 7731 // "POSSIBLE" - It is possible. 7732 // "LIKELY" - It is likely. 7733 // "VERY_LIKELY" - It is very likely. 7734 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 7735 7736 // BoundingPoly: The bounding polygon around the face. The coordinates 7737 // of the bounding box 7738 // are in the original image's scale. 7739 // The bounding box is computed to "frame" the face in accordance with 7740 // human 7741 // expectations. It is based on the landmarker results. 7742 // Note that one or more x and/or y coordinates may not be generated in 7743 // the 7744 // `BoundingPoly` (the polygon will be unbounded) if only a partial 7745 // face 7746 // appears in the image to be annotated. 7747 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7748 7749 // DetectionConfidence: Detection confidence. Range [0, 1]. 7750 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 7751 7752 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 7753 // than the 7754 // `boundingPoly`, and encloses only the skin part of the face. 7755 // Typically, it 7756 // is used to eliminate the face from any image analysis that detects 7757 // the 7758 // "amount of skin" visible in an image. It is not based on 7759 // the 7760 // landmarker results, only on the initial face detection, hence 7761 // the <code>fd</code> (face detection) prefix. 7762 FdBoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 7763 7764 // HeadwearLikelihood: Headwear likelihood. 7765 // 7766 // Possible values: 7767 // "UNKNOWN" - Unknown likelihood. 7768 // "VERY_UNLIKELY" - It is very unlikely. 7769 // "UNLIKELY" - It is unlikely. 7770 // "POSSIBLE" - It is possible. 7771 // "LIKELY" - It is likely. 7772 // "VERY_LIKELY" - It is very likely. 7773 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 7774 7775 // JoyLikelihood: Joy likelihood. 7776 // 7777 // Possible values: 7778 // "UNKNOWN" - Unknown likelihood. 7779 // "VERY_UNLIKELY" - It is very unlikely. 7780 // "UNLIKELY" - It is unlikely. 7781 // "POSSIBLE" - It is possible. 7782 // "LIKELY" - It is likely. 7783 // "VERY_LIKELY" - It is very likely. 7784 JoyLikelihood string `json:"joyLikelihood,omitempty"` 7785 7786 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 7787 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 7788 7789 // Landmarks: Detected face landmarks. 7790 Landmarks []*GoogleCloudVisionV1p3beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 7791 7792 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 7793 // that the face is 7794 // pointing relative to the vertical plane perpendicular to the image. 7795 // Range 7796 // [-180,180]. 7797 PanAngle float64 `json:"panAngle,omitempty"` 7798 7799 // RollAngle: Roll angle, which indicates the amount of 7800 // clockwise/anti-clockwise rotation 7801 // of the face relative to the image vertical about the axis 7802 // perpendicular to 7803 // the face. Range [-180,180]. 7804 RollAngle float64 `json:"rollAngle,omitempty"` 7805 7806 // SorrowLikelihood: Sorrow likelihood. 7807 // 7808 // Possible values: 7809 // "UNKNOWN" - Unknown likelihood. 7810 // "VERY_UNLIKELY" - It is very unlikely. 7811 // "UNLIKELY" - It is unlikely. 7812 // "POSSIBLE" - It is possible. 7813 // "LIKELY" - It is likely. 7814 // "VERY_LIKELY" - It is very likely. 7815 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 7816 7817 // SurpriseLikelihood: Surprise likelihood. 7818 // 7819 // Possible values: 7820 // "UNKNOWN" - Unknown likelihood. 7821 // "VERY_UNLIKELY" - It is very unlikely. 7822 // "UNLIKELY" - It is unlikely. 7823 // "POSSIBLE" - It is possible. 7824 // "LIKELY" - It is likely. 7825 // "VERY_LIKELY" - It is very likely. 7826 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 7827 7828 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 7829 // that the face is 7830 // pointing relative to the image's horizontal plane. Range [-180,180]. 7831 TiltAngle float64 `json:"tiltAngle,omitempty"` 7832 7833 // UnderExposedLikelihood: Under-exposed likelihood. 7834 // 7835 // Possible values: 7836 // "UNKNOWN" - Unknown likelihood. 7837 // "VERY_UNLIKELY" - It is very unlikely. 7838 // "UNLIKELY" - It is unlikely. 7839 // "POSSIBLE" - It is possible. 7840 // "LIKELY" - It is likely. 7841 // "VERY_LIKELY" - It is very likely. 7842 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 7843 7844 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 7845 // unconditionally include in API requests. By default, fields with 7846 // empty values are omitted from API requests. However, any non-pointer, 7847 // non-interface field appearing in ForceSendFields will be sent to the 7848 // server regardless of whether the field is empty or not. This may be 7849 // used to include empty fields in Patch requests. 7850 ForceSendFields []string `json:"-"` 7851 7852 // NullFields is a list of field names (e.g. "AngerLikelihood") to 7853 // include in API requests with the JSON null value. By default, fields 7854 // with empty values are omitted from API requests. However, any field 7855 // with an empty value appearing in NullFields will be sent to the 7856 // server as null. It is an error if a field in this list has a 7857 // non-empty value. This may be used to include null fields in Patch 7858 // requests. 7859 NullFields []string `json:"-"` 7860} 7861 7862func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 7863 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7864 raw := NoMethod(*s) 7865 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7866} 7867 7868func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 7869 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7870 var s1 struct { 7871 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 7872 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 7873 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 7874 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 7875 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 7876 *NoMethod 7877 } 7878 s1.NoMethod = (*NoMethod)(s) 7879 if err := json.Unmarshal(data, &s1); err != nil { 7880 return err 7881 } 7882 s.DetectionConfidence = float64(s1.DetectionConfidence) 7883 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 7884 s.PanAngle = float64(s1.PanAngle) 7885 s.RollAngle = float64(s1.RollAngle) 7886 s.TiltAngle = float64(s1.TiltAngle) 7887 return nil 7888} 7889 7890// GoogleCloudVisionV1p3beta1FaceAnnotationLandmark: A face-specific 7891// landmark (for example, a face feature). 7892type GoogleCloudVisionV1p3beta1FaceAnnotationLandmark struct { 7893 // Position: Face landmark position. 7894 Position *GoogleCloudVisionV1p3beta1Position `json:"position,omitempty"` 7895 7896 // Type: Face landmark type. 7897 // 7898 // Possible values: 7899 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 7900 // filled. 7901 // "LEFT_EYE" - Left eye. 7902 // "RIGHT_EYE" - Right eye. 7903 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 7904 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 7905 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 7906 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 7907 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 7908 // "NOSE_TIP" - Nose tip. 7909 // "UPPER_LIP" - Upper lip. 7910 // "LOWER_LIP" - Lower lip. 7911 // "MOUTH_LEFT" - Mouth left. 7912 // "MOUTH_RIGHT" - Mouth right. 7913 // "MOUTH_CENTER" - Mouth center. 7914 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 7915 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 7916 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 7917 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 7918 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 7919 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 7920 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 7921 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 7922 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 7923 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 7924 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 7925 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 7926 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 7927 // "LEFT_EAR_TRAGION" - Left ear tragion. 7928 // "RIGHT_EAR_TRAGION" - Right ear tragion. 7929 // "LEFT_EYE_PUPIL" - Left eye pupil. 7930 // "RIGHT_EYE_PUPIL" - Right eye pupil. 7931 // "FOREHEAD_GLABELLA" - Forehead glabella. 7932 // "CHIN_GNATHION" - Chin gnathion. 7933 // "CHIN_LEFT_GONION" - Chin left gonion. 7934 // "CHIN_RIGHT_GONION" - Chin right gonion. 7935 Type string `json:"type,omitempty"` 7936 7937 // ForceSendFields is a list of field names (e.g. "Position") to 7938 // unconditionally include in API requests. By default, fields with 7939 // empty values are omitted from API requests. However, any non-pointer, 7940 // non-interface field appearing in ForceSendFields will be sent to the 7941 // server regardless of whether the field is empty or not. This may be 7942 // used to include empty fields in Patch requests. 7943 ForceSendFields []string `json:"-"` 7944 7945 // NullFields is a list of field names (e.g. "Position") to include in 7946 // API requests with the JSON null value. By default, fields with empty 7947 // values are omitted from API requests. However, any field with an 7948 // empty value appearing in NullFields will be sent to the server as 7949 // null. It is an error if a field in this list has a non-empty value. 7950 // This may be used to include null fields in Patch requests. 7951 NullFields []string `json:"-"` 7952} 7953 7954func (s *GoogleCloudVisionV1p3beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 7955 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotationLandmark 7956 raw := NoMethod(*s) 7957 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7958} 7959 7960// GoogleCloudVisionV1p3beta1GcsDestination: The Google Cloud Storage 7961// location where the output will be written to. 7962type GoogleCloudVisionV1p3beta1GcsDestination struct { 7963 // Uri: Google Cloud Storage URI prefix where the results will be 7964 // stored. Results 7965 // will be in JSON format and preceded by its corresponding input URI 7966 // prefix. 7967 // This field can either represent a gcs file prefix or gcs directory. 7968 // In 7969 // either case, the uri should be unique because in order to get all of 7970 // the 7971 // output files, you will need to do a wildcard gcs search on the uri 7972 // prefix 7973 // you provide. 7974 // 7975 // Examples: 7976 // 7977 // * File Prefix: gs://bucket-name/here/filenameprefix The output 7978 // files 7979 // will be created in gs://bucket-name/here/ and the names of the 7980 // output files will begin with "filenameprefix". 7981 // 7982 // * Directory Prefix: gs://bucket-name/some/location/ The output 7983 // files 7984 // will be created in gs://bucket-name/some/location/ and the names of 7985 // the 7986 // output files could be anything because there was no filename 7987 // prefix 7988 // specified. 7989 // 7990 // If multiple outputs, each response is still AnnotateFileResponse, 7991 // each of 7992 // which contains some subset of the full list of 7993 // AnnotateImageResponse. 7994 // Multiple outputs can happen if, for example, the output JSON is too 7995 // large 7996 // and overflows into multiple sharded files. 7997 Uri string `json:"uri,omitempty"` 7998 7999 // ForceSendFields is a list of field names (e.g. "Uri") to 8000 // unconditionally include in API requests. By default, fields with 8001 // empty values are omitted from API requests. However, any non-pointer, 8002 // non-interface field appearing in ForceSendFields will be sent to the 8003 // server regardless of whether the field is empty or not. This may be 8004 // used to include empty fields in Patch requests. 8005 ForceSendFields []string `json:"-"` 8006 8007 // NullFields is a list of field names (e.g. "Uri") to include in API 8008 // requests with the JSON null value. By default, fields with empty 8009 // values are omitted from API requests. However, any field with an 8010 // empty value appearing in NullFields will be sent to the server as 8011 // null. It is an error if a field in this list has a non-empty value. 8012 // This may be used to include null fields in Patch requests. 8013 NullFields []string `json:"-"` 8014} 8015 8016func (s *GoogleCloudVisionV1p3beta1GcsDestination) MarshalJSON() ([]byte, error) { 8017 type NoMethod GoogleCloudVisionV1p3beta1GcsDestination 8018 raw := NoMethod(*s) 8019 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8020} 8021 8022// GoogleCloudVisionV1p3beta1GcsSource: The Google Cloud Storage 8023// location where the input will be read from. 8024type GoogleCloudVisionV1p3beta1GcsSource struct { 8025 // Uri: Google Cloud Storage URI for the input file. This must only be 8026 // a 8027 // Google Cloud Storage object. Wildcards are not currently supported. 8028 Uri string `json:"uri,omitempty"` 8029 8030 // ForceSendFields is a list of field names (e.g. "Uri") to 8031 // unconditionally include in API requests. By default, fields with 8032 // empty values are omitted from API requests. However, any non-pointer, 8033 // non-interface field appearing in ForceSendFields will be sent to the 8034 // server regardless of whether the field is empty or not. This may be 8035 // used to include empty fields in Patch requests. 8036 ForceSendFields []string `json:"-"` 8037 8038 // NullFields is a list of field names (e.g. "Uri") to include in API 8039 // requests with the JSON null value. By default, fields with empty 8040 // values are omitted from API requests. However, any field with an 8041 // empty value appearing in NullFields will be sent to the server as 8042 // null. It is an error if a field in this list has a non-empty value. 8043 // This may be used to include null fields in Patch requests. 8044 NullFields []string `json:"-"` 8045} 8046 8047func (s *GoogleCloudVisionV1p3beta1GcsSource) MarshalJSON() ([]byte, error) { 8048 type NoMethod GoogleCloudVisionV1p3beta1GcsSource 8049 raw := NoMethod(*s) 8050 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8051} 8052 8053// GoogleCloudVisionV1p3beta1ImageAnnotationContext: If an image was 8054// produced from a file (e.g. a PDF), this message gives 8055// information about the source of that image. 8056type GoogleCloudVisionV1p3beta1ImageAnnotationContext struct { 8057 // PageNumber: If the file was a PDF or TIFF, this field gives the page 8058 // number within 8059 // the file used to produce the image. 8060 PageNumber int64 `json:"pageNumber,omitempty"` 8061 8062 // Uri: The URI of the file used to produce the image. 8063 Uri string `json:"uri,omitempty"` 8064 8065 // ForceSendFields is a list of field names (e.g. "PageNumber") to 8066 // unconditionally include in API requests. By default, fields with 8067 // empty values are omitted from API requests. However, any non-pointer, 8068 // non-interface field appearing in ForceSendFields will be sent to the 8069 // server regardless of whether the field is empty or not. This may be 8070 // used to include empty fields in Patch requests. 8071 ForceSendFields []string `json:"-"` 8072 8073 // NullFields is a list of field names (e.g. "PageNumber") to include in 8074 // API requests with the JSON null value. By default, fields with empty 8075 // values are omitted from API requests. However, any field with an 8076 // empty value appearing in NullFields will be sent to the server as 8077 // null. It is an error if a field in this list has a non-empty value. 8078 // This may be used to include null fields in Patch requests. 8079 NullFields []string `json:"-"` 8080} 8081 8082func (s *GoogleCloudVisionV1p3beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 8083 type NoMethod GoogleCloudVisionV1p3beta1ImageAnnotationContext 8084 raw := NoMethod(*s) 8085 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8086} 8087 8088// GoogleCloudVisionV1p3beta1ImageProperties: Stores image properties, 8089// such as dominant colors. 8090type GoogleCloudVisionV1p3beta1ImageProperties struct { 8091 // DominantColors: If present, dominant colors completed successfully. 8092 DominantColors *GoogleCloudVisionV1p3beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 8093 8094 // ForceSendFields is a list of field names (e.g. "DominantColors") to 8095 // unconditionally include in API requests. By default, fields with 8096 // empty values are omitted from API requests. However, any non-pointer, 8097 // non-interface field appearing in ForceSendFields will be sent to the 8098 // server regardless of whether the field is empty or not. This may be 8099 // used to include empty fields in Patch requests. 8100 ForceSendFields []string `json:"-"` 8101 8102 // NullFields is a list of field names (e.g. "DominantColors") to 8103 // include in API requests with the JSON null value. By default, fields 8104 // with empty values are omitted from API requests. However, any field 8105 // with an empty value appearing in NullFields will be sent to the 8106 // server as null. It is an error if a field in this list has a 8107 // non-empty value. This may be used to include null fields in Patch 8108 // requests. 8109 NullFields []string `json:"-"` 8110} 8111 8112func (s *GoogleCloudVisionV1p3beta1ImageProperties) MarshalJSON() ([]byte, error) { 8113 type NoMethod GoogleCloudVisionV1p3beta1ImageProperties 8114 raw := NoMethod(*s) 8115 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8116} 8117 8118// GoogleCloudVisionV1p3beta1ImportProductSetsResponse: Response message 8119// for the `ImportProductSets` method. 8120// 8121// This message is returned by 8122// the 8123// google.longrunning.Operations.GetOperation method in the 8124// returned 8125// google.longrunning.Operation.response field. 8126type GoogleCloudVisionV1p3beta1ImportProductSetsResponse struct { 8127 // ReferenceImages: The list of reference_images that are imported 8128 // successfully. 8129 ReferenceImages []*GoogleCloudVisionV1p3beta1ReferenceImage `json:"referenceImages,omitempty"` 8130 8131 // Statuses: The rpc status for each ImportProductSet request, including 8132 // both successes 8133 // and errors. 8134 // 8135 // The number of statuses here matches the number of lines in the csv 8136 // file, 8137 // and statuses[i] stores the success or failure status of processing 8138 // the i-th 8139 // line of the csv, starting from line 0. 8140 Statuses []*Status `json:"statuses,omitempty"` 8141 8142 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 8143 // unconditionally include in API requests. By default, fields with 8144 // empty values are omitted from API requests. However, any non-pointer, 8145 // non-interface field appearing in ForceSendFields will be sent to the 8146 // server regardless of whether the field is empty or not. This may be 8147 // used to include empty fields in Patch requests. 8148 ForceSendFields []string `json:"-"` 8149 8150 // NullFields is a list of field names (e.g. "ReferenceImages") to 8151 // include in API requests with the JSON null value. By default, fields 8152 // with empty values are omitted from API requests. However, any field 8153 // with an empty value appearing in NullFields will be sent to the 8154 // server as null. It is an error if a field in this list has a 8155 // non-empty value. This may be used to include null fields in Patch 8156 // requests. 8157 NullFields []string `json:"-"` 8158} 8159 8160func (s *GoogleCloudVisionV1p3beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 8161 type NoMethod GoogleCloudVisionV1p3beta1ImportProductSetsResponse 8162 raw := NoMethod(*s) 8163 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8164} 8165 8166// GoogleCloudVisionV1p3beta1InputConfig: The desired input location and 8167// metadata. 8168type GoogleCloudVisionV1p3beta1InputConfig struct { 8169 // Content: File content, represented as a stream of bytes. 8170 // Note: As with all `bytes` fields, protobuffers use a pure 8171 // binary 8172 // representation, whereas JSON representations use base64. 8173 // 8174 // Currently, this field only works for BatchAnnotateFiles requests. It 8175 // does 8176 // not work for AsyncBatchAnnotateFiles requests. 8177 Content string `json:"content,omitempty"` 8178 8179 // GcsSource: The Google Cloud Storage location to read the input from. 8180 GcsSource *GoogleCloudVisionV1p3beta1GcsSource `json:"gcsSource,omitempty"` 8181 8182 // MimeType: The type of the file. Currently only "application/pdf", 8183 // "image/tiff" and 8184 // "image/gif" are supported. Wildcards are not supported. 8185 MimeType string `json:"mimeType,omitempty"` 8186 8187 // ForceSendFields is a list of field names (e.g. "Content") to 8188 // unconditionally include in API requests. By default, fields with 8189 // empty values are omitted from API requests. However, any non-pointer, 8190 // non-interface field appearing in ForceSendFields will be sent to the 8191 // server regardless of whether the field is empty or not. This may be 8192 // used to include empty fields in Patch requests. 8193 ForceSendFields []string `json:"-"` 8194 8195 // NullFields is a list of field names (e.g. "Content") to include in 8196 // API requests with the JSON null value. By default, fields with empty 8197 // values are omitted from API requests. However, any field with an 8198 // empty value appearing in NullFields will be sent to the server as 8199 // null. It is an error if a field in this list has a non-empty value. 8200 // This may be used to include null fields in Patch requests. 8201 NullFields []string `json:"-"` 8202} 8203 8204func (s *GoogleCloudVisionV1p3beta1InputConfig) MarshalJSON() ([]byte, error) { 8205 type NoMethod GoogleCloudVisionV1p3beta1InputConfig 8206 raw := NoMethod(*s) 8207 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8208} 8209 8210// GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation: Set of detected 8211// objects with bounding boxes. 8212type GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation struct { 8213 // BoundingPoly: Image region to which this object belongs. This must be 8214 // populated. 8215 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 8216 8217 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 8218 // For more 8219 // information, 8220 // see 8221 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8222 LanguageCode string `json:"languageCode,omitempty"` 8223 8224 // Mid: Object ID that should align with EntityAnnotation mid. 8225 Mid string `json:"mid,omitempty"` 8226 8227 // Name: Object name, expressed in its `language_code` language. 8228 Name string `json:"name,omitempty"` 8229 8230 // Score: Score of the result. Range [0, 1]. 8231 Score float64 `json:"score,omitempty"` 8232 8233 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8234 // unconditionally include in API requests. By default, fields with 8235 // empty values are omitted from API requests. However, any non-pointer, 8236 // non-interface field appearing in ForceSendFields will be sent to the 8237 // server regardless of whether the field is empty or not. This may be 8238 // used to include empty fields in Patch requests. 8239 ForceSendFields []string `json:"-"` 8240 8241 // NullFields is a list of field names (e.g. "BoundingPoly") to include 8242 // in API requests with the JSON null value. By default, fields with 8243 // empty values are omitted from API requests. However, any field with 8244 // an 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 *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 8251 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 8252 raw := NoMethod(*s) 8253 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8254} 8255 8256func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 8257 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 8258 var s1 struct { 8259 Score gensupport.JSONFloat64 `json:"score"` 8260 *NoMethod 8261 } 8262 s1.NoMethod = (*NoMethod)(s) 8263 if err := json.Unmarshal(data, &s1); err != nil { 8264 return err 8265 } 8266 s.Score = float64(s1.Score) 8267 return nil 8268} 8269 8270// GoogleCloudVisionV1p3beta1LocationInfo: Detected entity location 8271// information. 8272type GoogleCloudVisionV1p3beta1LocationInfo struct { 8273 // LatLng: lat/long location coordinates. 8274 LatLng *LatLng `json:"latLng,omitempty"` 8275 8276 // ForceSendFields is a list of field names (e.g. "LatLng") to 8277 // unconditionally include in API requests. By default, fields with 8278 // empty values are omitted from API requests. However, any non-pointer, 8279 // non-interface field appearing in ForceSendFields will be sent to the 8280 // server regardless of whether the field is empty or not. This may be 8281 // used to include empty fields in Patch requests. 8282 ForceSendFields []string `json:"-"` 8283 8284 // NullFields is a list of field names (e.g. "LatLng") to include in API 8285 // requests with the JSON null value. By default, fields with empty 8286 // values are omitted from API requests. However, any field with an 8287 // empty value appearing in NullFields will be sent to the server as 8288 // null. It is an error if a field in this list has a non-empty value. 8289 // This may be used to include null fields in Patch requests. 8290 NullFields []string `json:"-"` 8291} 8292 8293func (s *GoogleCloudVisionV1p3beta1LocationInfo) MarshalJSON() ([]byte, error) { 8294 type NoMethod GoogleCloudVisionV1p3beta1LocationInfo 8295 raw := NoMethod(*s) 8296 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8297} 8298 8299// GoogleCloudVisionV1p3beta1NormalizedVertex: A vertex represents a 2D 8300// point in the image. 8301// NOTE: the normalized vertex coordinates are relative to the original 8302// image 8303// and range from 0 to 1. 8304type GoogleCloudVisionV1p3beta1NormalizedVertex struct { 8305 // X: X coordinate. 8306 X float64 `json:"x,omitempty"` 8307 8308 // Y: Y coordinate. 8309 Y float64 `json:"y,omitempty"` 8310 8311 // ForceSendFields is a list of field names (e.g. "X") to 8312 // unconditionally include in API requests. By default, fields with 8313 // empty values are omitted from API requests. However, any non-pointer, 8314 // non-interface field appearing in ForceSendFields will be sent to the 8315 // server regardless of whether the field is empty or not. This may be 8316 // used to include empty fields in Patch requests. 8317 ForceSendFields []string `json:"-"` 8318 8319 // NullFields is a list of field names (e.g. "X") to include in API 8320 // requests with the JSON null value. By default, fields with empty 8321 // values are omitted from API requests. However, any field with an 8322 // empty value appearing in NullFields will be sent to the server as 8323 // null. It is an error if a field in this list has a non-empty value. 8324 // This may be used to include null fields in Patch requests. 8325 NullFields []string `json:"-"` 8326} 8327 8328func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 8329 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 8330 raw := NoMethod(*s) 8331 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8332} 8333 8334func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 8335 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 8336 var s1 struct { 8337 X gensupport.JSONFloat64 `json:"x"` 8338 Y gensupport.JSONFloat64 `json:"y"` 8339 *NoMethod 8340 } 8341 s1.NoMethod = (*NoMethod)(s) 8342 if err := json.Unmarshal(data, &s1); err != nil { 8343 return err 8344 } 8345 s.X = float64(s1.X) 8346 s.Y = float64(s1.Y) 8347 return nil 8348} 8349 8350// GoogleCloudVisionV1p3beta1OperationMetadata: Contains metadata for 8351// the BatchAnnotateImages operation. 8352type GoogleCloudVisionV1p3beta1OperationMetadata struct { 8353 // CreateTime: The time when the batch request was received. 8354 CreateTime string `json:"createTime,omitempty"` 8355 8356 // State: Current state of the batch operation. 8357 // 8358 // Possible values: 8359 // "STATE_UNSPECIFIED" - Invalid. 8360 // "CREATED" - Request is received. 8361 // "RUNNING" - Request is actively being processed. 8362 // "DONE" - The batch processing is done. 8363 // "CANCELLED" - The batch processing was cancelled. 8364 State string `json:"state,omitempty"` 8365 8366 // UpdateTime: The time when the operation result was last updated. 8367 UpdateTime string `json:"updateTime,omitempty"` 8368 8369 // ForceSendFields is a list of field names (e.g. "CreateTime") to 8370 // unconditionally include in API requests. By default, fields with 8371 // empty values are omitted from API requests. However, any non-pointer, 8372 // non-interface field appearing in ForceSendFields will be sent to the 8373 // server regardless of whether the field is empty or not. This may be 8374 // used to include empty fields in Patch requests. 8375 ForceSendFields []string `json:"-"` 8376 8377 // NullFields is a list of field names (e.g. "CreateTime") to include in 8378 // API requests with the JSON null value. By default, fields with empty 8379 // values are omitted from API requests. However, any field with an 8380 // empty value appearing in NullFields will be sent to the server as 8381 // null. It is an error if a field in this list has a non-empty value. 8382 // This may be used to include null fields in Patch requests. 8383 NullFields []string `json:"-"` 8384} 8385 8386func (s *GoogleCloudVisionV1p3beta1OperationMetadata) MarshalJSON() ([]byte, error) { 8387 type NoMethod GoogleCloudVisionV1p3beta1OperationMetadata 8388 raw := NoMethod(*s) 8389 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8390} 8391 8392// GoogleCloudVisionV1p3beta1OutputConfig: The desired output location 8393// and metadata. 8394type GoogleCloudVisionV1p3beta1OutputConfig struct { 8395 // BatchSize: The max number of response protos to put into each output 8396 // JSON file on 8397 // Google Cloud Storage. 8398 // The valid range is [1, 100]. If not specified, the default value is 8399 // 20. 8400 // 8401 // For example, for one pdf file with 100 pages, 100 response protos 8402 // will 8403 // be generated. If `batch_size` = 20, then 5 json files each 8404 // containing 20 response protos will be written under the 8405 // prefix 8406 // `gcs_destination`.`uri`. 8407 // 8408 // Currently, batch_size only applies to GcsDestination, with potential 8409 // future 8410 // support for other output configurations. 8411 BatchSize int64 `json:"batchSize,omitempty"` 8412 8413 // GcsDestination: The Google Cloud Storage location to write the 8414 // output(s) to. 8415 GcsDestination *GoogleCloudVisionV1p3beta1GcsDestination `json:"gcsDestination,omitempty"` 8416 8417 // ForceSendFields is a list of field names (e.g. "BatchSize") to 8418 // unconditionally include in API requests. By default, fields with 8419 // empty values are omitted from API requests. However, any non-pointer, 8420 // non-interface field appearing in ForceSendFields will be sent to the 8421 // server regardless of whether the field is empty or not. This may be 8422 // used to include empty fields in Patch requests. 8423 ForceSendFields []string `json:"-"` 8424 8425 // NullFields is a list of field names (e.g. "BatchSize") to include in 8426 // API requests with the JSON null value. By default, fields with empty 8427 // values are omitted from API requests. However, any field with an 8428 // empty value appearing in NullFields will be sent to the server as 8429 // null. It is an error if a field in this list has a non-empty value. 8430 // This may be used to include null fields in Patch requests. 8431 NullFields []string `json:"-"` 8432} 8433 8434func (s *GoogleCloudVisionV1p3beta1OutputConfig) MarshalJSON() ([]byte, error) { 8435 type NoMethod GoogleCloudVisionV1p3beta1OutputConfig 8436 raw := NoMethod(*s) 8437 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8438} 8439 8440// GoogleCloudVisionV1p3beta1Page: Detected page from OCR. 8441type GoogleCloudVisionV1p3beta1Page struct { 8442 // Blocks: List of blocks of text, images etc on this page. 8443 Blocks []*GoogleCloudVisionV1p3beta1Block `json:"blocks,omitempty"` 8444 8445 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 8446 Confidence float64 `json:"confidence,omitempty"` 8447 8448 // Height: Page height. For PDFs the unit is points. For images 8449 // (including 8450 // TIFFs) the unit is pixels. 8451 Height int64 `json:"height,omitempty"` 8452 8453 // Property: Additional information detected on the page. 8454 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8455 8456 // Width: Page width. For PDFs the unit is points. For images 8457 // (including 8458 // TIFFs) the unit is pixels. 8459 Width int64 `json:"width,omitempty"` 8460 8461 // ForceSendFields is a list of field names (e.g. "Blocks") to 8462 // unconditionally include in API requests. By default, fields with 8463 // empty values are omitted from API requests. However, any non-pointer, 8464 // non-interface field appearing in ForceSendFields will be sent to the 8465 // server regardless of whether the field is empty or not. This may be 8466 // used to include empty fields in Patch requests. 8467 ForceSendFields []string `json:"-"` 8468 8469 // NullFields is a list of field names (e.g. "Blocks") to include in API 8470 // requests with the JSON null value. By default, fields with empty 8471 // values are omitted from API requests. However, any field with an 8472 // empty value appearing in NullFields will be sent to the server as 8473 // null. It is an error if a field in this list has a non-empty value. 8474 // This may be used to include null fields in Patch requests. 8475 NullFields []string `json:"-"` 8476} 8477 8478func (s *GoogleCloudVisionV1p3beta1Page) MarshalJSON() ([]byte, error) { 8479 type NoMethod GoogleCloudVisionV1p3beta1Page 8480 raw := NoMethod(*s) 8481 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8482} 8483 8484func (s *GoogleCloudVisionV1p3beta1Page) UnmarshalJSON(data []byte) error { 8485 type NoMethod GoogleCloudVisionV1p3beta1Page 8486 var s1 struct { 8487 Confidence gensupport.JSONFloat64 `json:"confidence"` 8488 *NoMethod 8489 } 8490 s1.NoMethod = (*NoMethod)(s) 8491 if err := json.Unmarshal(data, &s1); err != nil { 8492 return err 8493 } 8494 s.Confidence = float64(s1.Confidence) 8495 return nil 8496} 8497 8498// GoogleCloudVisionV1p3beta1Paragraph: Structural unit of text 8499// representing a number of words in certain order. 8500type GoogleCloudVisionV1p3beta1Paragraph struct { 8501 // BoundingBox: The bounding box for the paragraph. 8502 // The vertices are in the order of top-left, top-right, 8503 // bottom-right, 8504 // bottom-left. When a rotation of the bounding box is detected the 8505 // rotation 8506 // is represented as around the top-left corner as defined when the text 8507 // is 8508 // read in the 'natural' orientation. 8509 // For example: 8510 // * when the text is horizontal it might look like: 8511 // 0----1 8512 // | | 8513 // 3----2 8514 // * when it's rotated 180 degrees around the top-left corner it 8515 // becomes: 8516 // 2----3 8517 // | | 8518 // 1----0 8519 // and the vertex order will still be (0, 1, 2, 3). 8520 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 8521 8522 // Confidence: Confidence of the OCR results for the paragraph. Range 8523 // [0, 1]. 8524 Confidence float64 `json:"confidence,omitempty"` 8525 8526 // Property: Additional information detected for the paragraph. 8527 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8528 8529 // Words: List of all words in this paragraph. 8530 Words []*GoogleCloudVisionV1p3beta1Word `json:"words,omitempty"` 8531 8532 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 8533 // unconditionally include in API requests. By default, fields with 8534 // empty values are omitted from API requests. However, any non-pointer, 8535 // non-interface field appearing in ForceSendFields will be sent to the 8536 // server regardless of whether the field is empty or not. This may be 8537 // used to include empty fields in Patch requests. 8538 ForceSendFields []string `json:"-"` 8539 8540 // NullFields is a list of field names (e.g. "BoundingBox") to include 8541 // in API requests with the JSON null value. By default, fields with 8542 // empty values are omitted from API requests. However, any field with 8543 // an empty value appearing in NullFields will be sent to the server as 8544 // null. It is an error if a field in this list has a non-empty value. 8545 // This may be used to include null fields in Patch requests. 8546 NullFields []string `json:"-"` 8547} 8548 8549func (s *GoogleCloudVisionV1p3beta1Paragraph) MarshalJSON() ([]byte, error) { 8550 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 8551 raw := NoMethod(*s) 8552 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8553} 8554 8555func (s *GoogleCloudVisionV1p3beta1Paragraph) UnmarshalJSON(data []byte) error { 8556 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 8557 var s1 struct { 8558 Confidence gensupport.JSONFloat64 `json:"confidence"` 8559 *NoMethod 8560 } 8561 s1.NoMethod = (*NoMethod)(s) 8562 if err := json.Unmarshal(data, &s1); err != nil { 8563 return err 8564 } 8565 s.Confidence = float64(s1.Confidence) 8566 return nil 8567} 8568 8569// GoogleCloudVisionV1p3beta1Position: A 3D position in the image, used 8570// primarily for Face detection landmarks. 8571// A valid Position must have both x and y coordinates. 8572// The position coordinates are in the same scale as the original image. 8573type GoogleCloudVisionV1p3beta1Position struct { 8574 // X: X coordinate. 8575 X float64 `json:"x,omitempty"` 8576 8577 // Y: Y coordinate. 8578 Y float64 `json:"y,omitempty"` 8579 8580 // Z: Z coordinate (or depth). 8581 Z float64 `json:"z,omitempty"` 8582 8583 // ForceSendFields is a list of field names (e.g. "X") to 8584 // unconditionally include in API requests. By default, fields with 8585 // empty values are omitted from API requests. However, any non-pointer, 8586 // non-interface field appearing in ForceSendFields will be sent to the 8587 // server regardless of whether the field is empty or not. This may be 8588 // used to include empty fields in Patch requests. 8589 ForceSendFields []string `json:"-"` 8590 8591 // NullFields is a list of field names (e.g. "X") to include in API 8592 // requests with the JSON null value. By default, fields with empty 8593 // values are omitted from API requests. However, any field with an 8594 // empty value appearing in NullFields will be sent to the server as 8595 // null. It is an error if a field in this list has a non-empty value. 8596 // This may be used to include null fields in Patch requests. 8597 NullFields []string `json:"-"` 8598} 8599 8600func (s *GoogleCloudVisionV1p3beta1Position) MarshalJSON() ([]byte, error) { 8601 type NoMethod GoogleCloudVisionV1p3beta1Position 8602 raw := NoMethod(*s) 8603 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8604} 8605 8606func (s *GoogleCloudVisionV1p3beta1Position) UnmarshalJSON(data []byte) error { 8607 type NoMethod GoogleCloudVisionV1p3beta1Position 8608 var s1 struct { 8609 X gensupport.JSONFloat64 `json:"x"` 8610 Y gensupport.JSONFloat64 `json:"y"` 8611 Z gensupport.JSONFloat64 `json:"z"` 8612 *NoMethod 8613 } 8614 s1.NoMethod = (*NoMethod)(s) 8615 if err := json.Unmarshal(data, &s1); err != nil { 8616 return err 8617 } 8618 s.X = float64(s1.X) 8619 s.Y = float64(s1.Y) 8620 s.Z = float64(s1.Z) 8621 return nil 8622} 8623 8624// GoogleCloudVisionV1p3beta1Product: A Product contains 8625// ReferenceImages. 8626type GoogleCloudVisionV1p3beta1Product struct { 8627 // Description: User-provided metadata to be stored with this product. 8628 // Must be at most 4096 8629 // characters long. 8630 Description string `json:"description,omitempty"` 8631 8632 // DisplayName: The user-provided name for this Product. Must not be 8633 // empty. Must be at most 8634 // 4096 characters long. 8635 DisplayName string `json:"displayName,omitempty"` 8636 8637 // Name: The resource name of the product. 8638 // 8639 // Format 8640 // is: 8641 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 8642 // 8643 // This field is ignored when creating a product. 8644 Name string `json:"name,omitempty"` 8645 8646 // ProductCategory: Immutable. The category for the product identified 8647 // by the reference image. This should 8648 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 8649 // categories 8650 // "homegoods", "apparel", and "toys" are still supported, but these 8651 // should 8652 // not be used for new products. 8653 ProductCategory string `json:"productCategory,omitempty"` 8654 8655 // ProductLabels: Key-value pairs that can be attached to a product. At 8656 // query time, 8657 // constraints can be specified based on the product_labels. 8658 // 8659 // Note that integer values can be provided as strings, e.g. "1199". 8660 // Only 8661 // strings with integer values can match a range-based restriction which 8662 // is 8663 // to be supported soon. 8664 // 8665 // Multiple values can be assigned to the same key. One product may have 8666 // up to 8667 // 500 product_labels. 8668 // 8669 // Notice that the total number of distinct product_labels over all 8670 // products 8671 // in one ProductSet cannot exceed 1M, otherwise the product search 8672 // pipeline 8673 // will refuse to work for that ProductSet. 8674 ProductLabels []*GoogleCloudVisionV1p3beta1ProductKeyValue `json:"productLabels,omitempty"` 8675 8676 // ForceSendFields is a list of field names (e.g. "Description") to 8677 // unconditionally include in API requests. By default, fields with 8678 // empty values are omitted from API requests. However, any non-pointer, 8679 // non-interface field appearing in ForceSendFields will be sent to the 8680 // server regardless of whether the field is empty or not. This may be 8681 // used to include empty fields in Patch requests. 8682 ForceSendFields []string `json:"-"` 8683 8684 // NullFields is a list of field names (e.g. "Description") to include 8685 // in API requests with the JSON null value. By default, fields with 8686 // empty values are omitted from API requests. However, any field with 8687 // an empty value appearing in NullFields will be sent to the server as 8688 // null. It is an error if a field in this list has a non-empty value. 8689 // This may be used to include null fields in Patch requests. 8690 NullFields []string `json:"-"` 8691} 8692 8693func (s *GoogleCloudVisionV1p3beta1Product) MarshalJSON() ([]byte, error) { 8694 type NoMethod GoogleCloudVisionV1p3beta1Product 8695 raw := NoMethod(*s) 8696 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8697} 8698 8699// GoogleCloudVisionV1p3beta1ProductKeyValue: A product label 8700// represented as a key-value pair. 8701type GoogleCloudVisionV1p3beta1ProductKeyValue struct { 8702 // Key: The key of the label attached to the product. Cannot be empty 8703 // and cannot 8704 // exceed 128 bytes. 8705 Key string `json:"key,omitempty"` 8706 8707 // Value: The value of the label attached to the product. Cannot be 8708 // empty and 8709 // cannot exceed 128 bytes. 8710 Value string `json:"value,omitempty"` 8711 8712 // ForceSendFields is a list of field names (e.g. "Key") to 8713 // unconditionally include in API requests. By default, fields with 8714 // empty values are omitted from API requests. However, any non-pointer, 8715 // non-interface field appearing in ForceSendFields will be sent to the 8716 // server regardless of whether the field is empty or not. This may be 8717 // used to include empty fields in Patch requests. 8718 ForceSendFields []string `json:"-"` 8719 8720 // NullFields is a list of field names (e.g. "Key") to include in API 8721 // requests with the JSON null value. By default, fields with empty 8722 // values are omitted from API requests. However, any field with an 8723 // empty value appearing in NullFields will be sent to the server as 8724 // null. It is an error if a field in this list has a non-empty value. 8725 // This may be used to include null fields in Patch requests. 8726 NullFields []string `json:"-"` 8727} 8728 8729func (s *GoogleCloudVisionV1p3beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 8730 type NoMethod GoogleCloudVisionV1p3beta1ProductKeyValue 8731 raw := NoMethod(*s) 8732 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8733} 8734 8735// GoogleCloudVisionV1p3beta1ProductSearchResults: Results for a product 8736// search request. 8737type GoogleCloudVisionV1p3beta1ProductSearchResults struct { 8738 // IndexTime: Timestamp of the index which provided these results. 8739 // Products added to the 8740 // product set and products removed from the product set after this time 8741 // are 8742 // not reflected in the current results. 8743 IndexTime string `json:"indexTime,omitempty"` 8744 8745 // ProductGroupedResults: List of results grouped by products detected 8746 // in the query image. Each entry 8747 // corresponds to one bounding polygon in the query image, and contains 8748 // the 8749 // matching products specific to that region. There may be duplicate 8750 // product 8751 // matches in the union of all the per-product results. 8752 ProductGroupedResults []*GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 8753 8754 // Results: List of results, one for each product match. 8755 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8756 8757 // ForceSendFields is a list of field names (e.g. "IndexTime") to 8758 // unconditionally include in API requests. By default, fields with 8759 // empty values are omitted from API requests. However, any non-pointer, 8760 // non-interface field appearing in ForceSendFields will be sent to the 8761 // server regardless of whether the field is empty or not. This may be 8762 // used to include empty fields in Patch requests. 8763 ForceSendFields []string `json:"-"` 8764 8765 // NullFields is a list of field names (e.g. "IndexTime") to include in 8766 // API requests with the JSON null value. By default, fields with empty 8767 // values are omitted from API requests. However, any field with an 8768 // empty value appearing in NullFields will be sent to the server as 8769 // null. It is an error if a field in this list has a non-empty value. 8770 // This may be used to include null fields in Patch requests. 8771 NullFields []string `json:"-"` 8772} 8773 8774func (s *GoogleCloudVisionV1p3beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 8775 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResults 8776 raw := NoMethod(*s) 8777 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8778} 8779 8780// GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult: 8781// Information about the products similar to a single product in a 8782// query 8783// image. 8784type GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult struct { 8785 // BoundingPoly: The bounding polygon around the product detected in the 8786 // query image. 8787 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 8788 8789 // ObjectAnnotations: List of generic predictions for the object in the 8790 // bounding box. 8791 ObjectAnnotations []*GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 8792 8793 // Results: List of results, one for each product match. 8794 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8795 8796 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8797 // unconditionally include in API requests. By default, fields with 8798 // empty values are omitted from API requests. However, any non-pointer, 8799 // non-interface field appearing in ForceSendFields will be sent to the 8800 // server regardless of whether the field is empty or not. This may be 8801 // used to include empty fields in Patch requests. 8802 ForceSendFields []string `json:"-"` 8803 8804 // NullFields is a list of field names (e.g. "BoundingPoly") to include 8805 // in API requests with the JSON null value. By default, fields with 8806 // empty values are omitted from API requests. However, any field with 8807 // an empty value appearing in NullFields will be sent to the server as 8808 // null. It is an error if a field in this list has a non-empty value. 8809 // This may be used to include null fields in Patch requests. 8810 NullFields []string `json:"-"` 8811} 8812 8813func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 8814 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult 8815 raw := NoMethod(*s) 8816 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8817} 8818 8819// GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation: 8820// Prediction for what the object in the bounding box is. 8821type GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation struct { 8822 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 8823 // For more 8824 // information, 8825 // see 8826 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8827 LanguageCode string `json:"languageCode,omitempty"` 8828 8829 // Mid: Object ID that should align with EntityAnnotation mid. 8830 Mid string `json:"mid,omitempty"` 8831 8832 // Name: Object name, expressed in its `language_code` language. 8833 Name string `json:"name,omitempty"` 8834 8835 // Score: Score of the result. Range [0, 1]. 8836 Score float64 `json:"score,omitempty"` 8837 8838 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 8839 // unconditionally include in API requests. By default, fields with 8840 // empty values are omitted from API requests. However, any non-pointer, 8841 // non-interface field appearing in ForceSendFields will be sent to the 8842 // server regardless of whether the field is empty or not. This may be 8843 // used to include empty fields in Patch requests. 8844 ForceSendFields []string `json:"-"` 8845 8846 // NullFields is a list of field names (e.g. "LanguageCode") to include 8847 // in API requests with the JSON null value. By default, fields with 8848 // empty values are omitted from API requests. However, any field with 8849 // an empty value appearing in NullFields will be sent to the server as 8850 // null. It is an error if a field in this list has a non-empty value. 8851 // This may be used to include null fields in Patch requests. 8852 NullFields []string `json:"-"` 8853} 8854 8855func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 8856 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 8857 raw := NoMethod(*s) 8858 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8859} 8860 8861func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 8862 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 8863 var s1 struct { 8864 Score gensupport.JSONFloat64 `json:"score"` 8865 *NoMethod 8866 } 8867 s1.NoMethod = (*NoMethod)(s) 8868 if err := json.Unmarshal(data, &s1); err != nil { 8869 return err 8870 } 8871 s.Score = float64(s1.Score) 8872 return nil 8873} 8874 8875// GoogleCloudVisionV1p3beta1ProductSearchResultsResult: Information 8876// about a product. 8877type GoogleCloudVisionV1p3beta1ProductSearchResultsResult struct { 8878 // Image: The resource name of the image from the product that is the 8879 // closest match 8880 // to the query. 8881 Image string `json:"image,omitempty"` 8882 8883 // Product: The Product. 8884 Product *GoogleCloudVisionV1p3beta1Product `json:"product,omitempty"` 8885 8886 // Score: A confidence level on the match, ranging from 0 (no 8887 // confidence) to 8888 // 1 (full confidence). 8889 Score float64 `json:"score,omitempty"` 8890 8891 // ForceSendFields is a list of field names (e.g. "Image") to 8892 // unconditionally include in API requests. By default, fields with 8893 // empty values are omitted from API requests. However, any non-pointer, 8894 // non-interface field appearing in ForceSendFields will be sent to the 8895 // server regardless of whether the field is empty or not. This may be 8896 // used to include empty fields in Patch requests. 8897 ForceSendFields []string `json:"-"` 8898 8899 // NullFields is a list of field names (e.g. "Image") to include in API 8900 // requests with the JSON null value. By default, fields with empty 8901 // values are omitted from API requests. However, any field with an 8902 // empty value appearing in NullFields will be sent to the server as 8903 // null. It is an error if a field in this list has a non-empty value. 8904 // This may be used to include null fields in Patch requests. 8905 NullFields []string `json:"-"` 8906} 8907 8908func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 8909 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8910 raw := NoMethod(*s) 8911 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8912} 8913 8914func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 8915 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8916 var s1 struct { 8917 Score gensupport.JSONFloat64 `json:"score"` 8918 *NoMethod 8919 } 8920 s1.NoMethod = (*NoMethod)(s) 8921 if err := json.Unmarshal(data, &s1); err != nil { 8922 return err 8923 } 8924 s.Score = float64(s1.Score) 8925 return nil 8926} 8927 8928// GoogleCloudVisionV1p3beta1Property: A `Property` consists of a 8929// user-supplied name/value pair. 8930type GoogleCloudVisionV1p3beta1Property struct { 8931 // Name: Name of the property. 8932 Name string `json:"name,omitempty"` 8933 8934 // Uint64Value: Value of numeric properties. 8935 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 8936 8937 // Value: Value of the property. 8938 Value string `json:"value,omitempty"` 8939 8940 // ForceSendFields is a list of field names (e.g. "Name") to 8941 // unconditionally include in API requests. By default, fields with 8942 // empty values are omitted from API requests. However, any non-pointer, 8943 // non-interface field appearing in ForceSendFields will be sent to the 8944 // server regardless of whether the field is empty or not. This may be 8945 // used to include empty fields in Patch requests. 8946 ForceSendFields []string `json:"-"` 8947 8948 // NullFields is a list of field names (e.g. "Name") to include in API 8949 // requests with the JSON null value. By default, fields with empty 8950 // values are omitted from API requests. However, any field with an 8951 // empty value appearing in NullFields will be sent to the server as 8952 // null. It is an error if a field in this list has a non-empty value. 8953 // This may be used to include null fields in Patch requests. 8954 NullFields []string `json:"-"` 8955} 8956 8957func (s *GoogleCloudVisionV1p3beta1Property) MarshalJSON() ([]byte, error) { 8958 type NoMethod GoogleCloudVisionV1p3beta1Property 8959 raw := NoMethod(*s) 8960 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8961} 8962 8963// GoogleCloudVisionV1p3beta1ReferenceImage: A `ReferenceImage` 8964// represents a product image and its associated metadata, 8965// such as bounding boxes. 8966type GoogleCloudVisionV1p3beta1ReferenceImage struct { 8967 // BoundingPolys: Optional. Bounding polygons around the areas of 8968 // interest in the reference image. 8969 // If this field is empty, the system will try to detect regions 8970 // of 8971 // interest. At most 10 bounding polygons will be used. 8972 // 8973 // The provided shape is converted into a non-rotated rectangle. 8974 // Once 8975 // converted, the small edge of the rectangle must be greater than or 8976 // equal 8977 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 8978 // 1:5 8979 // is not). 8980 BoundingPolys []*GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPolys,omitempty"` 8981 8982 // Name: The resource name of the reference image. 8983 // 8984 // Format 8985 // is: 8986 // 8987 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 8988 // ceImages/IMAGE_ID`. 8989 // 8990 // This field is ignored when creating a reference image. 8991 Name string `json:"name,omitempty"` 8992 8993 // Uri: Required. The Google Cloud Storage URI of the reference 8994 // image. 8995 // 8996 // The URI must start with `gs://`. 8997 Uri string `json:"uri,omitempty"` 8998 8999 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 9000 // unconditionally include in API requests. By default, fields with 9001 // empty values are omitted from API requests. However, any non-pointer, 9002 // non-interface field appearing in ForceSendFields will be sent to the 9003 // server regardless of whether the field is empty or not. This may be 9004 // used to include empty fields in Patch requests. 9005 ForceSendFields []string `json:"-"` 9006 9007 // NullFields is a list of field names (e.g. "BoundingPolys") to include 9008 // in API requests with the JSON null value. By default, fields with 9009 // empty values are omitted from API requests. However, any field with 9010 // an empty value appearing in NullFields will be sent to the server as 9011 // null. It is an error if a field in this list has a non-empty value. 9012 // This may be used to include null fields in Patch requests. 9013 NullFields []string `json:"-"` 9014} 9015 9016func (s *GoogleCloudVisionV1p3beta1ReferenceImage) MarshalJSON() ([]byte, error) { 9017 type NoMethod GoogleCloudVisionV1p3beta1ReferenceImage 9018 raw := NoMethod(*s) 9019 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9020} 9021 9022// GoogleCloudVisionV1p3beta1SafeSearchAnnotation: Set of features 9023// pertaining to the image, computed by computer vision 9024// methods over safe-search verticals (for example, adult, spoof, 9025// medical, 9026// violence). 9027type GoogleCloudVisionV1p3beta1SafeSearchAnnotation struct { 9028 // Adult: Represents the adult content likelihood for the image. Adult 9029 // content may 9030 // contain elements such as nudity, pornographic images or cartoons, 9031 // or 9032 // sexual activities. 9033 // 9034 // Possible values: 9035 // "UNKNOWN" - Unknown likelihood. 9036 // "VERY_UNLIKELY" - It is very unlikely. 9037 // "UNLIKELY" - It is unlikely. 9038 // "POSSIBLE" - It is possible. 9039 // "LIKELY" - It is likely. 9040 // "VERY_LIKELY" - It is very likely. 9041 Adult string `json:"adult,omitempty"` 9042 9043 // Medical: Likelihood that this is a medical image. 9044 // 9045 // Possible values: 9046 // "UNKNOWN" - Unknown likelihood. 9047 // "VERY_UNLIKELY" - It is very unlikely. 9048 // "UNLIKELY" - It is unlikely. 9049 // "POSSIBLE" - It is possible. 9050 // "LIKELY" - It is likely. 9051 // "VERY_LIKELY" - It is very likely. 9052 Medical string `json:"medical,omitempty"` 9053 9054 // Racy: Likelihood that the request image contains racy content. Racy 9055 // content may 9056 // include (but is not limited to) skimpy or sheer clothing, 9057 // strategically 9058 // covered nudity, lewd or provocative poses, or close-ups of 9059 // sensitive 9060 // body areas. 9061 // 9062 // Possible values: 9063 // "UNKNOWN" - Unknown likelihood. 9064 // "VERY_UNLIKELY" - It is very unlikely. 9065 // "UNLIKELY" - It is unlikely. 9066 // "POSSIBLE" - It is possible. 9067 // "LIKELY" - It is likely. 9068 // "VERY_LIKELY" - It is very likely. 9069 Racy string `json:"racy,omitempty"` 9070 9071 // Spoof: Spoof likelihood. The likelihood that an modification 9072 // was made to the image's canonical version to make it appear 9073 // funny or offensive. 9074 // 9075 // Possible values: 9076 // "UNKNOWN" - Unknown likelihood. 9077 // "VERY_UNLIKELY" - It is very unlikely. 9078 // "UNLIKELY" - It is unlikely. 9079 // "POSSIBLE" - It is possible. 9080 // "LIKELY" - It is likely. 9081 // "VERY_LIKELY" - It is very likely. 9082 Spoof string `json:"spoof,omitempty"` 9083 9084 // Violence: Likelihood that this image contains violent content. 9085 // 9086 // Possible values: 9087 // "UNKNOWN" - Unknown likelihood. 9088 // "VERY_UNLIKELY" - It is very unlikely. 9089 // "UNLIKELY" - It is unlikely. 9090 // "POSSIBLE" - It is possible. 9091 // "LIKELY" - It is likely. 9092 // "VERY_LIKELY" - It is very likely. 9093 Violence string `json:"violence,omitempty"` 9094 9095 // ForceSendFields is a list of field names (e.g. "Adult") to 9096 // unconditionally include in API requests. By default, fields with 9097 // empty values are omitted from API requests. However, any non-pointer, 9098 // non-interface field appearing in ForceSendFields will be sent to the 9099 // server regardless of whether the field is empty or not. This may be 9100 // used to include empty fields in Patch requests. 9101 ForceSendFields []string `json:"-"` 9102 9103 // NullFields is a list of field names (e.g. "Adult") to include in API 9104 // requests with the JSON null value. By default, fields with empty 9105 // values are omitted from API requests. However, any field with an 9106 // empty value appearing in NullFields will be sent to the server as 9107 // null. It is an error if a field in this list has a non-empty value. 9108 // This may be used to include null fields in Patch requests. 9109 NullFields []string `json:"-"` 9110} 9111 9112func (s *GoogleCloudVisionV1p3beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 9113 type NoMethod GoogleCloudVisionV1p3beta1SafeSearchAnnotation 9114 raw := NoMethod(*s) 9115 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9116} 9117 9118// GoogleCloudVisionV1p3beta1Symbol: A single symbol representation. 9119type GoogleCloudVisionV1p3beta1Symbol struct { 9120 // BoundingBox: The bounding box for the symbol. 9121 // The vertices are in the order of top-left, top-right, 9122 // bottom-right, 9123 // bottom-left. When a rotation of the bounding box is detected the 9124 // rotation 9125 // is represented as around the top-left corner as defined when the text 9126 // is 9127 // read in the 'natural' orientation. 9128 // For example: 9129 // * when the text is horizontal it might look like: 9130 // 0----1 9131 // | | 9132 // 3----2 9133 // * when it's rotated 180 degrees around the top-left corner it 9134 // becomes: 9135 // 2----3 9136 // | | 9137 // 1----0 9138 // and the vertex order will still be (0, 1, 2, 3). 9139 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 9140 9141 // Confidence: Confidence of the OCR results for the symbol. Range [0, 9142 // 1]. 9143 Confidence float64 `json:"confidence,omitempty"` 9144 9145 // Property: Additional information detected for the symbol. 9146 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 9147 9148 // Text: The actual UTF-8 representation of the symbol. 9149 Text string `json:"text,omitempty"` 9150 9151 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 9152 // unconditionally include in API requests. By default, fields with 9153 // empty values are omitted from API requests. However, any non-pointer, 9154 // non-interface field appearing in ForceSendFields will be sent to the 9155 // server regardless of whether the field is empty or not. This may be 9156 // used to include empty fields in Patch requests. 9157 ForceSendFields []string `json:"-"` 9158 9159 // NullFields is a list of field names (e.g. "BoundingBox") to include 9160 // in API requests with the JSON null value. By default, fields with 9161 // empty values are omitted from API requests. However, any field with 9162 // an empty value appearing in NullFields will be sent to the server as 9163 // null. It is an error if a field in this list has a non-empty value. 9164 // This may be used to include null fields in Patch requests. 9165 NullFields []string `json:"-"` 9166} 9167 9168func (s *GoogleCloudVisionV1p3beta1Symbol) MarshalJSON() ([]byte, error) { 9169 type NoMethod GoogleCloudVisionV1p3beta1Symbol 9170 raw := NoMethod(*s) 9171 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9172} 9173 9174func (s *GoogleCloudVisionV1p3beta1Symbol) UnmarshalJSON(data []byte) error { 9175 type NoMethod GoogleCloudVisionV1p3beta1Symbol 9176 var s1 struct { 9177 Confidence gensupport.JSONFloat64 `json:"confidence"` 9178 *NoMethod 9179 } 9180 s1.NoMethod = (*NoMethod)(s) 9181 if err := json.Unmarshal(data, &s1); err != nil { 9182 return err 9183 } 9184 s.Confidence = float64(s1.Confidence) 9185 return nil 9186} 9187 9188// GoogleCloudVisionV1p3beta1TextAnnotation: TextAnnotation contains a 9189// structured representation of OCR extracted text. 9190// The hierarchy of an OCR extracted text structure is like this: 9191// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 9192// Symbol 9193// Each structural component, starting from Page, may further have their 9194// own 9195// properties. Properties describe detected languages, breaks etc.. 9196// Please refer 9197// to the TextAnnotation.TextProperty message definition below for 9198// more 9199// detail. 9200type GoogleCloudVisionV1p3beta1TextAnnotation struct { 9201 // Pages: List of pages detected by OCR. 9202 Pages []*GoogleCloudVisionV1p3beta1Page `json:"pages,omitempty"` 9203 9204 // Text: UTF-8 text detected on the pages. 9205 Text string `json:"text,omitempty"` 9206 9207 // ForceSendFields is a list of field names (e.g. "Pages") to 9208 // unconditionally include in API requests. By default, fields with 9209 // empty values are omitted from API requests. However, any non-pointer, 9210 // non-interface field appearing in ForceSendFields will be sent to the 9211 // server regardless of whether the field is empty or not. This may be 9212 // used to include empty fields in Patch requests. 9213 ForceSendFields []string `json:"-"` 9214 9215 // NullFields is a list of field names (e.g. "Pages") to include in API 9216 // requests with the JSON null value. By default, fields with empty 9217 // values are omitted from API requests. However, any field with an 9218 // empty value appearing in NullFields will be sent to the server as 9219 // null. It is an error if a field in this list has a non-empty value. 9220 // This may be used to include null fields in Patch requests. 9221 NullFields []string `json:"-"` 9222} 9223 9224func (s *GoogleCloudVisionV1p3beta1TextAnnotation) MarshalJSON() ([]byte, error) { 9225 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotation 9226 raw := NoMethod(*s) 9227 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9228} 9229 9230// GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak: Detected start 9231// or end of a structural component. 9232type GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak struct { 9233 // IsPrefix: True if break prepends the element. 9234 IsPrefix bool `json:"isPrefix,omitempty"` 9235 9236 // Type: Detected break type. 9237 // 9238 // Possible values: 9239 // "UNKNOWN" - Unknown break label type. 9240 // "SPACE" - Regular space. 9241 // "SURE_SPACE" - Sure space (very wide). 9242 // "EOL_SURE_SPACE" - Line-wrapping break. 9243 // "HYPHEN" - End-line hyphen that is not present in text; does not 9244 // co-occur with 9245 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 9246 // "LINE_BREAK" - Line break that ends a paragraph. 9247 Type string `json:"type,omitempty"` 9248 9249 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 9250 // unconditionally include in API requests. By default, fields with 9251 // empty values are omitted from API requests. However, any non-pointer, 9252 // non-interface field appearing in ForceSendFields will be sent to the 9253 // server regardless of whether the field is empty or not. This may be 9254 // used to include empty fields in Patch requests. 9255 ForceSendFields []string `json:"-"` 9256 9257 // NullFields is a list of field names (e.g. "IsPrefix") to include in 9258 // API requests with the JSON null value. By default, fields with empty 9259 // values are omitted from API requests. However, any field with an 9260 // empty value appearing in NullFields will be sent to the server as 9261 // null. It is an error if a field in this list has a non-empty value. 9262 // This may be used to include null fields in Patch requests. 9263 NullFields []string `json:"-"` 9264} 9265 9266func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 9267 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak 9268 raw := NoMethod(*s) 9269 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9270} 9271 9272// GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage: Detected 9273// language for a structural component. 9274type GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage struct { 9275 // Confidence: Confidence of detected language. Range [0, 1]. 9276 Confidence float64 `json:"confidence,omitempty"` 9277 9278 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 9279 // For more 9280 // information, 9281 // see 9282 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 9283 LanguageCode string `json:"languageCode,omitempty"` 9284 9285 // ForceSendFields is a list of field names (e.g. "Confidence") to 9286 // unconditionally include in API requests. By default, fields with 9287 // empty values are omitted from API requests. However, any non-pointer, 9288 // non-interface field appearing in ForceSendFields will be sent to the 9289 // server regardless of whether the field is empty or not. This may be 9290 // used to include empty fields in Patch requests. 9291 ForceSendFields []string `json:"-"` 9292 9293 // NullFields is a list of field names (e.g. "Confidence") to include in 9294 // API requests with the JSON null value. By default, fields with empty 9295 // values are omitted from API requests. However, any field with an 9296 // empty value appearing in NullFields will be sent to the server as 9297 // null. It is an error if a field in this list has a non-empty value. 9298 // This may be used to include null fields in Patch requests. 9299 NullFields []string `json:"-"` 9300} 9301 9302func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 9303 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 9304 raw := NoMethod(*s) 9305 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9306} 9307 9308func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 9309 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 9310 var s1 struct { 9311 Confidence gensupport.JSONFloat64 `json:"confidence"` 9312 *NoMethod 9313 } 9314 s1.NoMethod = (*NoMethod)(s) 9315 if err := json.Unmarshal(data, &s1); err != nil { 9316 return err 9317 } 9318 s.Confidence = float64(s1.Confidence) 9319 return nil 9320} 9321 9322// GoogleCloudVisionV1p3beta1TextAnnotationTextProperty: Additional 9323// information detected on the structural component. 9324type GoogleCloudVisionV1p3beta1TextAnnotationTextProperty struct { 9325 // DetectedBreak: Detected start or end of a text segment. 9326 DetectedBreak *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 9327 9328 // DetectedLanguages: A list of detected languages together with 9329 // confidence. 9330 DetectedLanguages []*GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 9331 9332 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 9333 // unconditionally include in API requests. By default, fields with 9334 // empty values are omitted from API requests. However, any non-pointer, 9335 // non-interface field appearing in ForceSendFields will be sent to the 9336 // server regardless of whether the field is empty or not. This may be 9337 // used to include empty fields in Patch requests. 9338 ForceSendFields []string `json:"-"` 9339 9340 // NullFields is a list of field names (e.g. "DetectedBreak") to include 9341 // in API requests with the JSON null value. By default, fields with 9342 // empty values are omitted from API requests. However, any field with 9343 // an empty value appearing in NullFields will be sent to the server as 9344 // null. It is an error if a field in this list has a non-empty value. 9345 // This may be used to include null fields in Patch requests. 9346 NullFields []string `json:"-"` 9347} 9348 9349func (s *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 9350 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationTextProperty 9351 raw := NoMethod(*s) 9352 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9353} 9354 9355// GoogleCloudVisionV1p3beta1Vertex: A vertex represents a 2D point in 9356// the image. 9357// NOTE: the vertex coordinates are in the same scale as the original 9358// image. 9359type GoogleCloudVisionV1p3beta1Vertex struct { 9360 // X: X coordinate. 9361 X int64 `json:"x,omitempty"` 9362 9363 // Y: Y coordinate. 9364 Y int64 `json:"y,omitempty"` 9365 9366 // ForceSendFields is a list of field names (e.g. "X") to 9367 // unconditionally include in API requests. By default, fields with 9368 // empty values are omitted from API requests. However, any non-pointer, 9369 // non-interface field appearing in ForceSendFields will be sent to the 9370 // server regardless of whether the field is empty or not. This may be 9371 // used to include empty fields in Patch requests. 9372 ForceSendFields []string `json:"-"` 9373 9374 // NullFields is a list of field names (e.g. "X") to include in API 9375 // requests with the JSON null value. By default, fields with empty 9376 // values are omitted from API requests. However, any field with an 9377 // empty value appearing in NullFields will be sent to the server as 9378 // null. It is an error if a field in this list has a non-empty value. 9379 // This may be used to include null fields in Patch requests. 9380 NullFields []string `json:"-"` 9381} 9382 9383func (s *GoogleCloudVisionV1p3beta1Vertex) MarshalJSON() ([]byte, error) { 9384 type NoMethod GoogleCloudVisionV1p3beta1Vertex 9385 raw := NoMethod(*s) 9386 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9387} 9388 9389// GoogleCloudVisionV1p3beta1WebDetection: Relevant information for the 9390// image from the Internet. 9391type GoogleCloudVisionV1p3beta1WebDetection struct { 9392 // BestGuessLabels: The service's best guess as to the topic of the 9393 // request image. 9394 // Inferred from similar images on the open web. 9395 BestGuessLabels []*GoogleCloudVisionV1p3beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 9396 9397 // FullMatchingImages: Fully matching images from the Internet. 9398 // Can include resized copies of the query image. 9399 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 9400 9401 // PagesWithMatchingImages: Web pages containing the matching images 9402 // from the Internet. 9403 PagesWithMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 9404 9405 // PartialMatchingImages: Partial matching images from the 9406 // Internet. 9407 // Those images are similar enough to share some key-point features. 9408 // For 9409 // example an original image will likely have partial matching for its 9410 // crops. 9411 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 9412 9413 // VisuallySimilarImages: The visually similar image results. 9414 VisuallySimilarImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 9415 9416 // WebEntities: Deduced entities from similar images on the Internet. 9417 WebEntities []*GoogleCloudVisionV1p3beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 9418 9419 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 9420 // unconditionally include in API requests. By default, fields with 9421 // empty values are omitted from API requests. However, any non-pointer, 9422 // non-interface field appearing in ForceSendFields will be sent to the 9423 // server regardless of whether the field is empty or not. This may be 9424 // used to include empty fields in Patch requests. 9425 ForceSendFields []string `json:"-"` 9426 9427 // NullFields is a list of field names (e.g. "BestGuessLabels") to 9428 // include in API requests with the JSON null value. By default, fields 9429 // with empty values are omitted from API requests. However, any field 9430 // with an empty value appearing in NullFields will be sent to the 9431 // server as null. It is an error if a field in this list has a 9432 // non-empty value. This may be used to include null fields in Patch 9433 // requests. 9434 NullFields []string `json:"-"` 9435} 9436 9437func (s *GoogleCloudVisionV1p3beta1WebDetection) MarshalJSON() ([]byte, error) { 9438 type NoMethod GoogleCloudVisionV1p3beta1WebDetection 9439 raw := NoMethod(*s) 9440 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9441} 9442 9443// GoogleCloudVisionV1p3beta1WebDetectionWebEntity: Entity deduced from 9444// similar images on the Internet. 9445type GoogleCloudVisionV1p3beta1WebDetectionWebEntity struct { 9446 // Description: Canonical description of the entity, in English. 9447 Description string `json:"description,omitempty"` 9448 9449 // EntityId: Opaque entity ID. 9450 EntityId string `json:"entityId,omitempty"` 9451 9452 // Score: Overall relevancy score for the entity. 9453 // Not normalized and not comparable across different image queries. 9454 Score float64 `json:"score,omitempty"` 9455 9456 // ForceSendFields is a list of field names (e.g. "Description") to 9457 // unconditionally include in API requests. By default, fields with 9458 // empty values are omitted from API requests. However, any non-pointer, 9459 // non-interface field appearing in ForceSendFields will be sent to the 9460 // server regardless of whether the field is empty or not. This may be 9461 // used to include empty fields in Patch requests. 9462 ForceSendFields []string `json:"-"` 9463 9464 // NullFields is a list of field names (e.g. "Description") to include 9465 // in API requests with the JSON null value. By default, fields with 9466 // empty values are omitted from API requests. However, any field with 9467 // an empty value appearing in NullFields will be sent to the server as 9468 // null. It is an error if a field in this list has a non-empty value. 9469 // This may be used to include null fields in Patch requests. 9470 NullFields []string `json:"-"` 9471} 9472 9473func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 9474 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 9475 raw := NoMethod(*s) 9476 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9477} 9478 9479func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 9480 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 9481 var s1 struct { 9482 Score gensupport.JSONFloat64 `json:"score"` 9483 *NoMethod 9484 } 9485 s1.NoMethod = (*NoMethod)(s) 9486 if err := json.Unmarshal(data, &s1); err != nil { 9487 return err 9488 } 9489 s.Score = float64(s1.Score) 9490 return nil 9491} 9492 9493// GoogleCloudVisionV1p3beta1WebDetectionWebImage: Metadata for online 9494// images. 9495type GoogleCloudVisionV1p3beta1WebDetectionWebImage struct { 9496 // Score: (Deprecated) Overall relevancy score for the image. 9497 Score float64 `json:"score,omitempty"` 9498 9499 // Url: The result image URL. 9500 Url string `json:"url,omitempty"` 9501 9502 // ForceSendFields is a list of field names (e.g. "Score") to 9503 // unconditionally include in API requests. By default, fields with 9504 // empty values are omitted from API requests. However, any non-pointer, 9505 // non-interface field appearing in ForceSendFields will be sent to the 9506 // server regardless of whether the field is empty or not. This may be 9507 // used to include empty fields in Patch requests. 9508 ForceSendFields []string `json:"-"` 9509 9510 // NullFields is a list of field names (e.g. "Score") to include in API 9511 // requests with the JSON null value. By default, fields with empty 9512 // values are omitted from API requests. However, any field with an 9513 // empty value appearing in NullFields will be sent to the server as 9514 // null. It is an error if a field in this list has a non-empty value. 9515 // This may be used to include null fields in Patch requests. 9516 NullFields []string `json:"-"` 9517} 9518 9519func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 9520 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 9521 raw := NoMethod(*s) 9522 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9523} 9524 9525func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 9526 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 9527 var s1 struct { 9528 Score gensupport.JSONFloat64 `json:"score"` 9529 *NoMethod 9530 } 9531 s1.NoMethod = (*NoMethod)(s) 9532 if err := json.Unmarshal(data, &s1); err != nil { 9533 return err 9534 } 9535 s.Score = float64(s1.Score) 9536 return nil 9537} 9538 9539// GoogleCloudVisionV1p3beta1WebDetectionWebLabel: Label to provide 9540// extra metadata for the web detection. 9541type GoogleCloudVisionV1p3beta1WebDetectionWebLabel struct { 9542 // Label: Label for extra metadata. 9543 Label string `json:"label,omitempty"` 9544 9545 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 9546 // or "sr-Latn". 9547 // For more information, 9548 // see 9549 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 9550 LanguageCode string `json:"languageCode,omitempty"` 9551 9552 // ForceSendFields is a list of field names (e.g. "Label") to 9553 // unconditionally include in API requests. By default, fields with 9554 // empty values are omitted from API requests. However, any non-pointer, 9555 // non-interface field appearing in ForceSendFields will be sent to the 9556 // server regardless of whether the field is empty or not. This may be 9557 // used to include empty fields in Patch requests. 9558 ForceSendFields []string `json:"-"` 9559 9560 // NullFields is a list of field names (e.g. "Label") to include in API 9561 // requests with the JSON null value. By default, fields with empty 9562 // values are omitted from API requests. However, any field with an 9563 // empty value appearing in NullFields will be sent to the server as 9564 // null. It is an error if a field in this list has a non-empty value. 9565 // This may be used to include null fields in Patch requests. 9566 NullFields []string `json:"-"` 9567} 9568 9569func (s *GoogleCloudVisionV1p3beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 9570 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebLabel 9571 raw := NoMethod(*s) 9572 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9573} 9574 9575// GoogleCloudVisionV1p3beta1WebDetectionWebPage: Metadata for web 9576// pages. 9577type GoogleCloudVisionV1p3beta1WebDetectionWebPage struct { 9578 // FullMatchingImages: Fully matching images on the page. 9579 // Can include resized copies of the query image. 9580 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 9581 9582 // PageTitle: Title for the web page, may contain HTML markups. 9583 PageTitle string `json:"pageTitle,omitempty"` 9584 9585 // PartialMatchingImages: Partial matching images on the page. 9586 // Those images are similar enough to share some key-point features. 9587 // For 9588 // example an original image will likely have partial matching for 9589 // its 9590 // crops. 9591 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 9592 9593 // Score: (Deprecated) Overall relevancy score for the web page. 9594 Score float64 `json:"score,omitempty"` 9595 9596 // Url: The result web page URL. 9597 Url string `json:"url,omitempty"` 9598 9599 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 9600 // to unconditionally include in API requests. By default, fields with 9601 // empty values are omitted from API requests. However, any non-pointer, 9602 // non-interface field appearing in ForceSendFields will be sent to the 9603 // server regardless of whether the field is empty or not. This may be 9604 // used to include empty fields in Patch requests. 9605 ForceSendFields []string `json:"-"` 9606 9607 // NullFields is a list of field names (e.g. "FullMatchingImages") to 9608 // include in API requests with the JSON null value. By default, fields 9609 // with empty values are omitted from API requests. However, any field 9610 // with an empty value appearing in NullFields will be sent to the 9611 // server as null. It is an error if a field in this list has a 9612 // non-empty value. This may be used to include null fields in Patch 9613 // requests. 9614 NullFields []string `json:"-"` 9615} 9616 9617func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 9618 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 9619 raw := NoMethod(*s) 9620 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9621} 9622 9623func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 9624 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 9625 var s1 struct { 9626 Score gensupport.JSONFloat64 `json:"score"` 9627 *NoMethod 9628 } 9629 s1.NoMethod = (*NoMethod)(s) 9630 if err := json.Unmarshal(data, &s1); err != nil { 9631 return err 9632 } 9633 s.Score = float64(s1.Score) 9634 return nil 9635} 9636 9637// GoogleCloudVisionV1p3beta1Word: A word representation. 9638type GoogleCloudVisionV1p3beta1Word struct { 9639 // BoundingBox: The bounding box for the word. 9640 // The vertices are in the order of top-left, top-right, 9641 // bottom-right, 9642 // bottom-left. When a rotation of the bounding box is detected the 9643 // rotation 9644 // is represented as around the top-left corner as defined when the text 9645 // is 9646 // read in the 'natural' orientation. 9647 // For example: 9648 // * when the text is horizontal it might look like: 9649 // 0----1 9650 // | | 9651 // 3----2 9652 // * when it's rotated 180 degrees around the top-left corner it 9653 // becomes: 9654 // 2----3 9655 // | | 9656 // 1----0 9657 // and the vertex order will still be (0, 1, 2, 3). 9658 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 9659 9660 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 9661 Confidence float64 `json:"confidence,omitempty"` 9662 9663 // Property: Additional information detected for the word. 9664 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 9665 9666 // Symbols: List of symbols in the word. 9667 // The order of the symbols follows the natural reading order. 9668 Symbols []*GoogleCloudVisionV1p3beta1Symbol `json:"symbols,omitempty"` 9669 9670 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 9671 // unconditionally include in API requests. By default, fields with 9672 // empty values are omitted from API requests. However, any non-pointer, 9673 // non-interface field appearing in ForceSendFields will be sent to the 9674 // server regardless of whether the field is empty or not. This may be 9675 // used to include empty fields in Patch requests. 9676 ForceSendFields []string `json:"-"` 9677 9678 // NullFields is a list of field names (e.g. "BoundingBox") to include 9679 // in API requests with the JSON null value. By default, fields with 9680 // empty values are omitted from API requests. However, any field with 9681 // an empty value appearing in NullFields will be sent to the server as 9682 // null. It is an error if a field in this list has a non-empty value. 9683 // This may be used to include null fields in Patch requests. 9684 NullFields []string `json:"-"` 9685} 9686 9687func (s *GoogleCloudVisionV1p3beta1Word) MarshalJSON() ([]byte, error) { 9688 type NoMethod GoogleCloudVisionV1p3beta1Word 9689 raw := NoMethod(*s) 9690 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9691} 9692 9693func (s *GoogleCloudVisionV1p3beta1Word) UnmarshalJSON(data []byte) error { 9694 type NoMethod GoogleCloudVisionV1p3beta1Word 9695 var s1 struct { 9696 Confidence gensupport.JSONFloat64 `json:"confidence"` 9697 *NoMethod 9698 } 9699 s1.NoMethod = (*NoMethod)(s) 9700 if err := json.Unmarshal(data, &s1); err != nil { 9701 return err 9702 } 9703 s.Confidence = float64(s1.Confidence) 9704 return nil 9705} 9706 9707// GoogleCloudVisionV1p4beta1AnnotateFileResponse: Response to a single 9708// file annotation request. A file may contain one or more 9709// images, which individually have their own responses. 9710type GoogleCloudVisionV1p4beta1AnnotateFileResponse struct { 9711 // Error: If set, represents the error message for the failed request. 9712 // The 9713 // `responses` field will not be set in this case. 9714 Error *Status `json:"error,omitempty"` 9715 9716 // InputConfig: Information about the file for which this response is 9717 // generated. 9718 InputConfig *GoogleCloudVisionV1p4beta1InputConfig `json:"inputConfig,omitempty"` 9719 9720 // Responses: Individual responses to images found within the file. This 9721 // field will be 9722 // empty if the `error` field is set. 9723 Responses []*GoogleCloudVisionV1p4beta1AnnotateImageResponse `json:"responses,omitempty"` 9724 9725 // TotalPages: This field gives the total number of pages in the file. 9726 TotalPages int64 `json:"totalPages,omitempty"` 9727 9728 // ForceSendFields is a list of field names (e.g. "Error") to 9729 // unconditionally include in API requests. By default, fields with 9730 // empty values are omitted from API requests. However, any non-pointer, 9731 // non-interface field appearing in ForceSendFields will be sent to the 9732 // server regardless of whether the field is empty or not. This may be 9733 // used to include empty fields in Patch requests. 9734 ForceSendFields []string `json:"-"` 9735 9736 // NullFields is a list of field names (e.g. "Error") to include in API 9737 // requests with the JSON null value. By default, fields with empty 9738 // values are omitted from API requests. However, any field with an 9739 // empty value appearing in NullFields will be sent to the server as 9740 // null. It is an error if a field in this list has a non-empty value. 9741 // This may be used to include null fields in Patch requests. 9742 NullFields []string `json:"-"` 9743} 9744 9745func (s *GoogleCloudVisionV1p4beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 9746 type NoMethod GoogleCloudVisionV1p4beta1AnnotateFileResponse 9747 raw := NoMethod(*s) 9748 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9749} 9750 9751// GoogleCloudVisionV1p4beta1AnnotateImageResponse: Response to an image 9752// annotation request. 9753type GoogleCloudVisionV1p4beta1AnnotateImageResponse struct { 9754 // Context: If present, contextual information is needed to understand 9755 // where this image 9756 // comes from. 9757 Context *GoogleCloudVisionV1p4beta1ImageAnnotationContext `json:"context,omitempty"` 9758 9759 // CropHintsAnnotation: If present, crop hints have completed 9760 // successfully. 9761 CropHintsAnnotation *GoogleCloudVisionV1p4beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 9762 9763 // Error: If set, represents the error message for the operation. 9764 // Note that filled-in image annotations are guaranteed to be 9765 // correct, even when `error` is set. 9766 Error *Status `json:"error,omitempty"` 9767 9768 // FaceAnnotations: If present, face detection has completed 9769 // successfully. 9770 FaceAnnotations []*GoogleCloudVisionV1p4beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 9771 9772 // FullTextAnnotation: If present, text (OCR) detection or document 9773 // (OCR) text detection has 9774 // completed successfully. 9775 // This annotation provides the structural hierarchy for the OCR 9776 // detected 9777 // text. 9778 FullTextAnnotation *GoogleCloudVisionV1p4beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 9779 9780 // ImagePropertiesAnnotation: If present, image properties were 9781 // extracted successfully. 9782 ImagePropertiesAnnotation *GoogleCloudVisionV1p4beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 9783 9784 // LabelAnnotations: If present, label detection has completed 9785 // successfully. 9786 LabelAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 9787 9788 // LandmarkAnnotations: If present, landmark detection has completed 9789 // successfully. 9790 LandmarkAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 9791 9792 // LocalizedObjectAnnotations: If present, localized object detection 9793 // has completed successfully. 9794 // This will be sorted descending by confidence score. 9795 LocalizedObjectAnnotations []*GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 9796 9797 // LogoAnnotations: If present, logo detection has completed 9798 // successfully. 9799 LogoAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 9800 9801 // ProductSearchResults: If present, product search has completed 9802 // successfully. 9803 ProductSearchResults *GoogleCloudVisionV1p4beta1ProductSearchResults `json:"productSearchResults,omitempty"` 9804 9805 // SafeSearchAnnotation: If present, safe-search annotation has 9806 // completed successfully. 9807 SafeSearchAnnotation *GoogleCloudVisionV1p4beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 9808 9809 // TextAnnotations: If present, text (OCR) detection has completed 9810 // successfully. 9811 TextAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"textAnnotations,omitempty"` 9812 9813 // WebDetection: If present, web detection has completed successfully. 9814 WebDetection *GoogleCloudVisionV1p4beta1WebDetection `json:"webDetection,omitempty"` 9815 9816 // ForceSendFields is a list of field names (e.g. "Context") to 9817 // unconditionally include in API requests. By default, fields with 9818 // empty values are omitted from API requests. However, any non-pointer, 9819 // non-interface field appearing in ForceSendFields will be sent to the 9820 // server regardless of whether the field is empty or not. This may be 9821 // used to include empty fields in Patch requests. 9822 ForceSendFields []string `json:"-"` 9823 9824 // NullFields is a list of field names (e.g. "Context") to include in 9825 // API requests with the JSON null value. By default, fields with empty 9826 // values are omitted from API requests. However, any field with an 9827 // empty value appearing in NullFields will be sent to the server as 9828 // null. It is an error if a field in this list has a non-empty value. 9829 // This may be used to include null fields in Patch requests. 9830 NullFields []string `json:"-"` 9831} 9832 9833func (s *GoogleCloudVisionV1p4beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 9834 type NoMethod GoogleCloudVisionV1p4beta1AnnotateImageResponse 9835 raw := NoMethod(*s) 9836 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9837} 9838 9839// GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse: The response for 9840// a single offline file annotation request. 9841type GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse struct { 9842 // OutputConfig: The output location and metadata from 9843 // AsyncAnnotateFileRequest. 9844 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9845 9846 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9847 // unconditionally include in API requests. By default, fields with 9848 // empty values are omitted from API requests. However, any non-pointer, 9849 // non-interface field appearing in ForceSendFields will be sent to the 9850 // server regardless of whether the field is empty or not. This may be 9851 // used to include empty fields in Patch requests. 9852 ForceSendFields []string `json:"-"` 9853 9854 // NullFields is a list of field names (e.g. "OutputConfig") to include 9855 // in API requests with the JSON null value. By default, fields with 9856 // empty values are omitted from API requests. However, any field with 9857 // an empty value appearing in NullFields will be sent to the server as 9858 // null. It is an error if a field in this list has a non-empty value. 9859 // This may be used to include null fields in Patch requests. 9860 NullFields []string `json:"-"` 9861} 9862 9863func (s *GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 9864 type NoMethod GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse 9865 raw := NoMethod(*s) 9866 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9867} 9868 9869// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse: Response 9870// to an async batch file annotation request. 9871type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse struct { 9872 // Responses: The list of file annotation responses, one for each 9873 // request in 9874 // AsyncBatchAnnotateFilesRequest. 9875 Responses []*GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 9876 9877 // ForceSendFields is a list of field names (e.g. "Responses") to 9878 // unconditionally include in API requests. By default, fields with 9879 // empty values are omitted from API requests. However, any non-pointer, 9880 // non-interface field appearing in ForceSendFields will be sent to the 9881 // server regardless of whether the field is empty or not. This may be 9882 // used to include empty fields in Patch requests. 9883 ForceSendFields []string `json:"-"` 9884 9885 // NullFields is a list of field names (e.g. "Responses") to include in 9886 // API requests with the JSON null value. By default, fields with empty 9887 // values are omitted from API requests. However, any field with an 9888 // empty value appearing in NullFields will be sent to the server as 9889 // null. It is an error if a field in this list has a non-empty value. 9890 // This may be used to include null fields in Patch requests. 9891 NullFields []string `json:"-"` 9892} 9893 9894func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9895 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse 9896 raw := NoMethod(*s) 9897 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9898} 9899 9900// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse: Response 9901// to an async batch image annotation request. 9902type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse struct { 9903 // OutputConfig: The output location and metadata from 9904 // AsyncBatchAnnotateImagesRequest. 9905 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9906 9907 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9908 // unconditionally include in API requests. By default, fields with 9909 // empty values are omitted from API requests. However, any non-pointer, 9910 // non-interface field appearing in ForceSendFields will be sent to the 9911 // server regardless of whether the field is empty or not. This may be 9912 // used to include empty fields in Patch requests. 9913 ForceSendFields []string `json:"-"` 9914 9915 // NullFields is a list of field names (e.g. "OutputConfig") to include 9916 // in API requests with the JSON null value. By default, fields with 9917 // empty values are omitted from API requests. However, any field with 9918 // an empty value appearing in NullFields will be sent to the server as 9919 // null. It is an error if a field in this list has a non-empty value. 9920 // This may be used to include null fields in Patch requests. 9921 NullFields []string `json:"-"` 9922} 9923 9924func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 9925 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse 9926 raw := NoMethod(*s) 9927 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9928} 9929 9930// GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse: A list of file 9931// annotation responses. 9932type GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse struct { 9933 // Responses: The list of file annotation responses, each response 9934 // corresponding to each 9935 // AnnotateFileRequest in BatchAnnotateFilesRequest. 9936 Responses []*GoogleCloudVisionV1p4beta1AnnotateFileResponse `json:"responses,omitempty"` 9937 9938 // ForceSendFields is a list of field names (e.g. "Responses") to 9939 // unconditionally include in API requests. By default, fields with 9940 // empty values are omitted from API requests. However, any non-pointer, 9941 // non-interface field appearing in ForceSendFields will be sent to the 9942 // server regardless of whether the field is empty or not. This may be 9943 // used to include empty fields in Patch requests. 9944 ForceSendFields []string `json:"-"` 9945 9946 // NullFields is a list of field names (e.g. "Responses") to include in 9947 // API requests with the JSON null value. By default, fields with empty 9948 // values are omitted from API requests. However, any field with an 9949 // empty value appearing in NullFields will be sent to the server as 9950 // null. It is an error if a field in this list has a non-empty value. 9951 // This may be used to include null fields in Patch requests. 9952 NullFields []string `json:"-"` 9953} 9954 9955func (s *GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9956 type NoMethod GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse 9957 raw := NoMethod(*s) 9958 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9959} 9960 9961// GoogleCloudVisionV1p4beta1BatchOperationMetadata: Metadata for the 9962// batch operations such as the current state. 9963// 9964// This is included in the `metadata` field of the `Operation` returned 9965// by the 9966// `GetOperation` call of the `google::longrunning::Operations` service. 9967type GoogleCloudVisionV1p4beta1BatchOperationMetadata struct { 9968 // EndTime: The time when the batch request is finished 9969 // and 9970 // google.longrunning.Operation.done is set to true. 9971 EndTime string `json:"endTime,omitempty"` 9972 9973 // State: The current state of the batch operation. 9974 // 9975 // Possible values: 9976 // "STATE_UNSPECIFIED" - Invalid. 9977 // "PROCESSING" - Request is actively being processed. 9978 // "SUCCESSFUL" - The request is done and at least one item has been 9979 // successfully 9980 // processed. 9981 // "FAILED" - The request is done and no item has been successfully 9982 // processed. 9983 // "CANCELLED" - The request is done after the 9984 // longrunning.Operations.CancelOperation has 9985 // been called by the user. Any records that were processed before 9986 // the 9987 // cancel command are output as specified in the request. 9988 State string `json:"state,omitempty"` 9989 9990 // SubmitTime: The time when the batch request was submitted to the 9991 // server. 9992 SubmitTime string `json:"submitTime,omitempty"` 9993 9994 // ForceSendFields is a list of field names (e.g. "EndTime") to 9995 // unconditionally include in API requests. By default, fields with 9996 // empty values are omitted from API requests. However, any non-pointer, 9997 // non-interface field appearing in ForceSendFields will be sent to the 9998 // server regardless of whether the field is empty or not. This may be 9999 // used to include empty fields in Patch requests. 10000 ForceSendFields []string `json:"-"` 10001 10002 // NullFields is a list of field names (e.g. "EndTime") to include in 10003 // API requests with the JSON null value. By default, fields with empty 10004 // values are omitted from API requests. However, any field with an 10005 // empty value appearing in NullFields will be sent to the server as 10006 // null. It is an error if a field in this list has a non-empty value. 10007 // This may be used to include null fields in Patch requests. 10008 NullFields []string `json:"-"` 10009} 10010 10011func (s *GoogleCloudVisionV1p4beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 10012 type NoMethod GoogleCloudVisionV1p4beta1BatchOperationMetadata 10013 raw := NoMethod(*s) 10014 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10015} 10016 10017// GoogleCloudVisionV1p4beta1Block: Logical element on the page. 10018type GoogleCloudVisionV1p4beta1Block struct { 10019 // BlockType: Detected block type (text, image etc) for this block. 10020 // 10021 // Possible values: 10022 // "UNKNOWN" - Unknown block type. 10023 // "TEXT" - Regular text block. 10024 // "TABLE" - Table block. 10025 // "PICTURE" - Image block. 10026 // "RULER" - Horizontal/vertical line box. 10027 // "BARCODE" - Barcode block. 10028 BlockType string `json:"blockType,omitempty"` 10029 10030 // BoundingBox: The bounding box for the block. 10031 // The vertices are in the order of top-left, top-right, 10032 // bottom-right, 10033 // bottom-left. When a rotation of the bounding box is detected the 10034 // rotation 10035 // is represented as around the top-left corner as defined when the text 10036 // is 10037 // read in the 'natural' orientation. 10038 // For example: 10039 // 10040 // * when the text is horizontal it might look like: 10041 // 10042 // 0----1 10043 // | | 10044 // 3----2 10045 // 10046 // * when it's rotated 180 degrees around the top-left corner it 10047 // becomes: 10048 // 10049 // 2----3 10050 // | | 10051 // 1----0 10052 // 10053 // and the vertex order will still be (0, 1, 2, 3). 10054 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 10055 10056 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 10057 Confidence float64 `json:"confidence,omitempty"` 10058 10059 // Paragraphs: List of paragraphs in this block (if this blocks is of 10060 // type text). 10061 Paragraphs []*GoogleCloudVisionV1p4beta1Paragraph `json:"paragraphs,omitempty"` 10062 10063 // Property: Additional information detected for the block. 10064 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 10065 10066 // ForceSendFields is a list of field names (e.g. "BlockType") to 10067 // unconditionally include in API requests. By default, fields with 10068 // empty values are omitted from API requests. However, any non-pointer, 10069 // non-interface field appearing in ForceSendFields will be sent to the 10070 // server regardless of whether the field is empty or not. This may be 10071 // used to include empty fields in Patch requests. 10072 ForceSendFields []string `json:"-"` 10073 10074 // NullFields is a list of field names (e.g. "BlockType") to include in 10075 // API requests with the JSON null value. By default, fields with empty 10076 // values are omitted from API requests. However, any field with an 10077 // empty value appearing in NullFields will be sent to the server as 10078 // null. It is an error if a field in this list has a non-empty value. 10079 // This may be used to include null fields in Patch requests. 10080 NullFields []string `json:"-"` 10081} 10082 10083func (s *GoogleCloudVisionV1p4beta1Block) MarshalJSON() ([]byte, error) { 10084 type NoMethod GoogleCloudVisionV1p4beta1Block 10085 raw := NoMethod(*s) 10086 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10087} 10088 10089func (s *GoogleCloudVisionV1p4beta1Block) UnmarshalJSON(data []byte) error { 10090 type NoMethod GoogleCloudVisionV1p4beta1Block 10091 var s1 struct { 10092 Confidence gensupport.JSONFloat64 `json:"confidence"` 10093 *NoMethod 10094 } 10095 s1.NoMethod = (*NoMethod)(s) 10096 if err := json.Unmarshal(data, &s1); err != nil { 10097 return err 10098 } 10099 s.Confidence = float64(s1.Confidence) 10100 return nil 10101} 10102 10103// GoogleCloudVisionV1p4beta1BoundingPoly: A bounding polygon for the 10104// detected image annotation. 10105type GoogleCloudVisionV1p4beta1BoundingPoly struct { 10106 // NormalizedVertices: The bounding polygon normalized vertices. 10107 NormalizedVertices []*GoogleCloudVisionV1p4beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 10108 10109 // Vertices: The bounding polygon vertices. 10110 Vertices []*GoogleCloudVisionV1p4beta1Vertex `json:"vertices,omitempty"` 10111 10112 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 10113 // to unconditionally include in API requests. By default, fields with 10114 // empty values are omitted from API requests. However, any non-pointer, 10115 // non-interface field appearing in ForceSendFields will be sent to the 10116 // server regardless of whether the field is empty or not. This may be 10117 // used to include empty fields in Patch requests. 10118 ForceSendFields []string `json:"-"` 10119 10120 // NullFields is a list of field names (e.g. "NormalizedVertices") to 10121 // include in API requests with the JSON null value. By default, fields 10122 // with empty values are omitted from API requests. However, any field 10123 // with an empty value appearing in NullFields will be sent to the 10124 // server as null. It is an error if a field in this list has a 10125 // non-empty value. This may be used to include null fields in Patch 10126 // requests. 10127 NullFields []string `json:"-"` 10128} 10129 10130func (s *GoogleCloudVisionV1p4beta1BoundingPoly) MarshalJSON() ([]byte, error) { 10131 type NoMethod GoogleCloudVisionV1p4beta1BoundingPoly 10132 raw := NoMethod(*s) 10133 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10134} 10135 10136// GoogleCloudVisionV1p4beta1Celebrity: A Celebrity is a group of Faces 10137// with an identity. 10138type GoogleCloudVisionV1p4beta1Celebrity struct { 10139 // Description: The Celebrity's description. 10140 Description string `json:"description,omitempty"` 10141 10142 // DisplayName: The Celebrity's display name. 10143 DisplayName string `json:"displayName,omitempty"` 10144 10145 // Name: The resource name of the preloaded Celebrity. Has the 10146 // format 10147 // `builtin/{mid}`. 10148 Name string `json:"name,omitempty"` 10149 10150 // ForceSendFields is a list of field names (e.g. "Description") to 10151 // unconditionally include in API requests. By default, fields with 10152 // empty values are omitted from API requests. However, any non-pointer, 10153 // non-interface field appearing in ForceSendFields will be sent to the 10154 // server regardless of whether the field is empty or not. This may be 10155 // used to include empty fields in Patch requests. 10156 ForceSendFields []string `json:"-"` 10157 10158 // NullFields is a list of field names (e.g. "Description") to include 10159 // in API requests with the JSON null value. By default, fields with 10160 // empty values are omitted from API requests. However, any field with 10161 // an empty value appearing in NullFields will be sent to the server as 10162 // null. It is an error if a field in this list has a non-empty value. 10163 // This may be used to include null fields in Patch requests. 10164 NullFields []string `json:"-"` 10165} 10166 10167func (s *GoogleCloudVisionV1p4beta1Celebrity) MarshalJSON() ([]byte, error) { 10168 type NoMethod GoogleCloudVisionV1p4beta1Celebrity 10169 raw := NoMethod(*s) 10170 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10171} 10172 10173// GoogleCloudVisionV1p4beta1ColorInfo: Color information consists of 10174// RGB channels, score, and the fraction of 10175// the image that the color occupies in the image. 10176type GoogleCloudVisionV1p4beta1ColorInfo struct { 10177 // Color: RGB components of the color. 10178 Color *Color `json:"color,omitempty"` 10179 10180 // PixelFraction: The fraction of pixels the color occupies in the 10181 // image. 10182 // Value in range [0, 1]. 10183 PixelFraction float64 `json:"pixelFraction,omitempty"` 10184 10185 // Score: Image-specific score for this color. Value in range [0, 1]. 10186 Score float64 `json:"score,omitempty"` 10187 10188 // ForceSendFields is a list of field names (e.g. "Color") to 10189 // unconditionally include in API requests. By default, fields with 10190 // empty values are omitted from API requests. However, any non-pointer, 10191 // non-interface field appearing in ForceSendFields will be sent to the 10192 // server regardless of whether the field is empty or not. This may be 10193 // used to include empty fields in Patch requests. 10194 ForceSendFields []string `json:"-"` 10195 10196 // NullFields is a list of field names (e.g. "Color") to include in API 10197 // requests with the JSON null value. By default, fields with empty 10198 // values are omitted from API requests. However, any field with an 10199 // empty value appearing in NullFields will be sent to the server as 10200 // null. It is an error if a field in this list has a non-empty value. 10201 // This may be used to include null fields in Patch requests. 10202 NullFields []string `json:"-"` 10203} 10204 10205func (s *GoogleCloudVisionV1p4beta1ColorInfo) MarshalJSON() ([]byte, error) { 10206 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 10207 raw := NoMethod(*s) 10208 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10209} 10210 10211func (s *GoogleCloudVisionV1p4beta1ColorInfo) UnmarshalJSON(data []byte) error { 10212 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 10213 var s1 struct { 10214 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 10215 Score gensupport.JSONFloat64 `json:"score"` 10216 *NoMethod 10217 } 10218 s1.NoMethod = (*NoMethod)(s) 10219 if err := json.Unmarshal(data, &s1); err != nil { 10220 return err 10221 } 10222 s.PixelFraction = float64(s1.PixelFraction) 10223 s.Score = float64(s1.Score) 10224 return nil 10225} 10226 10227// GoogleCloudVisionV1p4beta1CropHint: Single crop hint that is used to 10228// generate a new crop when serving an image. 10229type GoogleCloudVisionV1p4beta1CropHint struct { 10230 // BoundingPoly: The bounding polygon for the crop region. The 10231 // coordinates of the bounding 10232 // box are in the original image's scale. 10233 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10234 10235 // Confidence: Confidence of this being a salient region. Range [0, 1]. 10236 Confidence float64 `json:"confidence,omitempty"` 10237 10238 // ImportanceFraction: Fraction of importance of this salient region 10239 // with respect to the original 10240 // image. 10241 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 10242 10243 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10244 // unconditionally include in API requests. By default, fields with 10245 // empty values are omitted from API requests. However, any non-pointer, 10246 // non-interface field appearing in ForceSendFields will be sent to the 10247 // server regardless of whether the field is empty or not. This may be 10248 // used to include empty fields in Patch requests. 10249 ForceSendFields []string `json:"-"` 10250 10251 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10252 // in API requests with the JSON null value. By default, fields with 10253 // empty values are omitted from API requests. However, any field with 10254 // an empty value appearing in NullFields will be sent to the server as 10255 // null. It is an error if a field in this list has a non-empty value. 10256 // This may be used to include null fields in Patch requests. 10257 NullFields []string `json:"-"` 10258} 10259 10260func (s *GoogleCloudVisionV1p4beta1CropHint) MarshalJSON() ([]byte, error) { 10261 type NoMethod GoogleCloudVisionV1p4beta1CropHint 10262 raw := NoMethod(*s) 10263 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10264} 10265 10266func (s *GoogleCloudVisionV1p4beta1CropHint) UnmarshalJSON(data []byte) error { 10267 type NoMethod GoogleCloudVisionV1p4beta1CropHint 10268 var s1 struct { 10269 Confidence gensupport.JSONFloat64 `json:"confidence"` 10270 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 10271 *NoMethod 10272 } 10273 s1.NoMethod = (*NoMethod)(s) 10274 if err := json.Unmarshal(data, &s1); err != nil { 10275 return err 10276 } 10277 s.Confidence = float64(s1.Confidence) 10278 s.ImportanceFraction = float64(s1.ImportanceFraction) 10279 return nil 10280} 10281 10282// GoogleCloudVisionV1p4beta1CropHintsAnnotation: Set of crop hints that 10283// are used to generate new crops when serving images. 10284type GoogleCloudVisionV1p4beta1CropHintsAnnotation struct { 10285 // CropHints: Crop hint results. 10286 CropHints []*GoogleCloudVisionV1p4beta1CropHint `json:"cropHints,omitempty"` 10287 10288 // ForceSendFields is a list of field names (e.g. "CropHints") to 10289 // unconditionally include in API requests. By default, fields with 10290 // empty values are omitted from API requests. However, any non-pointer, 10291 // non-interface field appearing in ForceSendFields will be sent to the 10292 // server regardless of whether the field is empty or not. This may be 10293 // used to include empty fields in Patch requests. 10294 ForceSendFields []string `json:"-"` 10295 10296 // NullFields is a list of field names (e.g. "CropHints") to include in 10297 // API requests with the JSON null value. By default, fields with empty 10298 // values are omitted from API requests. However, any field with an 10299 // empty value appearing in NullFields will be sent to the server as 10300 // null. It is an error if a field in this list has a non-empty value. 10301 // This may be used to include null fields in Patch requests. 10302 NullFields []string `json:"-"` 10303} 10304 10305func (s *GoogleCloudVisionV1p4beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 10306 type NoMethod GoogleCloudVisionV1p4beta1CropHintsAnnotation 10307 raw := NoMethod(*s) 10308 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10309} 10310 10311// GoogleCloudVisionV1p4beta1DominantColorsAnnotation: Set of dominant 10312// colors and their corresponding scores. 10313type GoogleCloudVisionV1p4beta1DominantColorsAnnotation struct { 10314 // Colors: RGB color values with their score and pixel fraction. 10315 Colors []*GoogleCloudVisionV1p4beta1ColorInfo `json:"colors,omitempty"` 10316 10317 // ForceSendFields is a list of field names (e.g. "Colors") to 10318 // unconditionally include in API requests. By default, fields with 10319 // empty values are omitted from API requests. However, any non-pointer, 10320 // non-interface field appearing in ForceSendFields will be sent to the 10321 // server regardless of whether the field is empty or not. This may be 10322 // used to include empty fields in Patch requests. 10323 ForceSendFields []string `json:"-"` 10324 10325 // NullFields is a list of field names (e.g. "Colors") to include in API 10326 // requests with the JSON null value. By default, fields with empty 10327 // values are omitted from API requests. However, any field with an 10328 // empty value appearing in NullFields will be sent to the server as 10329 // null. It is an error if a field in this list has a non-empty value. 10330 // This may be used to include null fields in Patch requests. 10331 NullFields []string `json:"-"` 10332} 10333 10334func (s *GoogleCloudVisionV1p4beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 10335 type NoMethod GoogleCloudVisionV1p4beta1DominantColorsAnnotation 10336 raw := NoMethod(*s) 10337 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10338} 10339 10340// GoogleCloudVisionV1p4beta1EntityAnnotation: Set of detected entity 10341// features. 10342type GoogleCloudVisionV1p4beta1EntityAnnotation struct { 10343 // BoundingPoly: Image region to which this entity belongs. Not 10344 // produced 10345 // for `LABEL_DETECTION` features. 10346 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10347 10348 // Confidence: **Deprecated. Use `score` instead.** 10349 // The accuracy of the entity detection in an image. 10350 // For example, for an image in which the "Eiffel Tower" entity is 10351 // detected, 10352 // this field represents the confidence that there is a tower in the 10353 // query 10354 // image. Range [0, 1]. 10355 Confidence float64 `json:"confidence,omitempty"` 10356 10357 // Description: Entity textual description, expressed in its `locale` 10358 // language. 10359 Description string `json:"description,omitempty"` 10360 10361 // Locale: The language code for the locale in which the entity 10362 // textual 10363 // `description` is expressed. 10364 Locale string `json:"locale,omitempty"` 10365 10366 // Locations: The location information for the detected entity. 10367 // Multiple 10368 // `LocationInfo` elements can be present because one location 10369 // may 10370 // indicate the location of the scene in the image, and another 10371 // location 10372 // may indicate the location of the place where the image was 10373 // taken. 10374 // Location information is usually present for landmarks. 10375 Locations []*GoogleCloudVisionV1p4beta1LocationInfo `json:"locations,omitempty"` 10376 10377 // Mid: Opaque entity ID. Some IDs may be available in 10378 // [Google Knowledge Graph 10379 // Search 10380 // API](https://developers.google.com/knowledge-graph/). 10381 Mid string `json:"mid,omitempty"` 10382 10383 // Properties: Some entities may have optional user-supplied `Property` 10384 // (name/value) 10385 // fields, such a score or string that qualifies the entity. 10386 Properties []*GoogleCloudVisionV1p4beta1Property `json:"properties,omitempty"` 10387 10388 // Score: Overall score of the result. Range [0, 1]. 10389 Score float64 `json:"score,omitempty"` 10390 10391 // Topicality: The relevancy of the ICA (Image Content Annotation) label 10392 // to the 10393 // image. For example, the relevancy of "tower" is likely higher to an 10394 // image 10395 // containing the detected "Eiffel Tower" than to an image containing 10396 // a 10397 // detected distant towering building, even though the confidence 10398 // that 10399 // there is a tower in each image may be the same. Range [0, 1]. 10400 Topicality float64 `json:"topicality,omitempty"` 10401 10402 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10403 // unconditionally include in API requests. By default, fields with 10404 // empty values are omitted from API requests. However, any non-pointer, 10405 // non-interface field appearing in ForceSendFields will be sent to the 10406 // server regardless of whether the field is empty or not. This may be 10407 // used to include empty fields in Patch requests. 10408 ForceSendFields []string `json:"-"` 10409 10410 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10411 // in API requests with the JSON null value. By default, fields with 10412 // empty values are omitted from API requests. However, any field with 10413 // an empty value appearing in NullFields will be sent to the server as 10414 // null. It is an error if a field in this list has a non-empty value. 10415 // This may be used to include null fields in Patch requests. 10416 NullFields []string `json:"-"` 10417} 10418 10419func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 10420 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 10421 raw := NoMethod(*s) 10422 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10423} 10424 10425func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 10426 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 10427 var s1 struct { 10428 Confidence gensupport.JSONFloat64 `json:"confidence"` 10429 Score gensupport.JSONFloat64 `json:"score"` 10430 Topicality gensupport.JSONFloat64 `json:"topicality"` 10431 *NoMethod 10432 } 10433 s1.NoMethod = (*NoMethod)(s) 10434 if err := json.Unmarshal(data, &s1); err != nil { 10435 return err 10436 } 10437 s.Confidence = float64(s1.Confidence) 10438 s.Score = float64(s1.Score) 10439 s.Topicality = float64(s1.Topicality) 10440 return nil 10441} 10442 10443// GoogleCloudVisionV1p4beta1FaceAnnotation: A face annotation object 10444// contains the results of face detection. 10445type GoogleCloudVisionV1p4beta1FaceAnnotation struct { 10446 // AngerLikelihood: Anger likelihood. 10447 // 10448 // Possible values: 10449 // "UNKNOWN" - Unknown likelihood. 10450 // "VERY_UNLIKELY" - It is very unlikely. 10451 // "UNLIKELY" - It is unlikely. 10452 // "POSSIBLE" - It is possible. 10453 // "LIKELY" - It is likely. 10454 // "VERY_LIKELY" - It is very likely. 10455 AngerLikelihood string `json:"angerLikelihood,omitempty"` 10456 10457 // BlurredLikelihood: Blurred likelihood. 10458 // 10459 // Possible values: 10460 // "UNKNOWN" - Unknown likelihood. 10461 // "VERY_UNLIKELY" - It is very unlikely. 10462 // "UNLIKELY" - It is unlikely. 10463 // "POSSIBLE" - It is possible. 10464 // "LIKELY" - It is likely. 10465 // "VERY_LIKELY" - It is very likely. 10466 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 10467 10468 // BoundingPoly: The bounding polygon around the face. The coordinates 10469 // of the bounding box 10470 // are in the original image's scale. 10471 // The bounding box is computed to "frame" the face in accordance with 10472 // human 10473 // expectations. It is based on the landmarker results. 10474 // Note that one or more x and/or y coordinates may not be generated in 10475 // the 10476 // `BoundingPoly` (the polygon will be unbounded) if only a partial 10477 // face 10478 // appears in the image to be annotated. 10479 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10480 10481 // DetectionConfidence: Detection confidence. Range [0, 1]. 10482 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 10483 10484 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 10485 // than the 10486 // `boundingPoly`, and encloses only the skin part of the face. 10487 // Typically, it 10488 // is used to eliminate the face from any image analysis that detects 10489 // the 10490 // "amount of skin" visible in an image. It is not based on 10491 // the 10492 // landmarker results, only on the initial face detection, hence 10493 // the <code>fd</code> (face detection) prefix. 10494 FdBoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 10495 10496 // HeadwearLikelihood: Headwear likelihood. 10497 // 10498 // Possible values: 10499 // "UNKNOWN" - Unknown likelihood. 10500 // "VERY_UNLIKELY" - It is very unlikely. 10501 // "UNLIKELY" - It is unlikely. 10502 // "POSSIBLE" - It is possible. 10503 // "LIKELY" - It is likely. 10504 // "VERY_LIKELY" - It is very likely. 10505 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 10506 10507 // JoyLikelihood: Joy likelihood. 10508 // 10509 // Possible values: 10510 // "UNKNOWN" - Unknown likelihood. 10511 // "VERY_UNLIKELY" - It is very unlikely. 10512 // "UNLIKELY" - It is unlikely. 10513 // "POSSIBLE" - It is possible. 10514 // "LIKELY" - It is likely. 10515 // "VERY_LIKELY" - It is very likely. 10516 JoyLikelihood string `json:"joyLikelihood,omitempty"` 10517 10518 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 10519 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 10520 10521 // Landmarks: Detected face landmarks. 10522 Landmarks []*GoogleCloudVisionV1p4beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 10523 10524 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 10525 // that the face is 10526 // pointing relative to the vertical plane perpendicular to the image. 10527 // Range 10528 // [-180,180]. 10529 PanAngle float64 `json:"panAngle,omitempty"` 10530 10531 // RecognitionResult: Additional recognition information. Only computed 10532 // if 10533 // image_context.face_recognition_params is provided, **and** a match is 10534 // found 10535 // to a Celebrity in the input CelebritySet. This field is 10536 // sorted in order of decreasing confidence values. 10537 RecognitionResult []*GoogleCloudVisionV1p4beta1FaceRecognitionResult `json:"recognitionResult,omitempty"` 10538 10539 // RollAngle: Roll angle, which indicates the amount of 10540 // clockwise/anti-clockwise rotation 10541 // of the face relative to the image vertical about the axis 10542 // perpendicular to 10543 // the face. Range [-180,180]. 10544 RollAngle float64 `json:"rollAngle,omitempty"` 10545 10546 // SorrowLikelihood: Sorrow likelihood. 10547 // 10548 // Possible values: 10549 // "UNKNOWN" - Unknown likelihood. 10550 // "VERY_UNLIKELY" - It is very unlikely. 10551 // "UNLIKELY" - It is unlikely. 10552 // "POSSIBLE" - It is possible. 10553 // "LIKELY" - It is likely. 10554 // "VERY_LIKELY" - It is very likely. 10555 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 10556 10557 // SurpriseLikelihood: Surprise likelihood. 10558 // 10559 // Possible values: 10560 // "UNKNOWN" - Unknown likelihood. 10561 // "VERY_UNLIKELY" - It is very unlikely. 10562 // "UNLIKELY" - It is unlikely. 10563 // "POSSIBLE" - It is possible. 10564 // "LIKELY" - It is likely. 10565 // "VERY_LIKELY" - It is very likely. 10566 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 10567 10568 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 10569 // that the face is 10570 // pointing relative to the image's horizontal plane. Range [-180,180]. 10571 TiltAngle float64 `json:"tiltAngle,omitempty"` 10572 10573 // UnderExposedLikelihood: Under-exposed likelihood. 10574 // 10575 // Possible values: 10576 // "UNKNOWN" - Unknown likelihood. 10577 // "VERY_UNLIKELY" - It is very unlikely. 10578 // "UNLIKELY" - It is unlikely. 10579 // "POSSIBLE" - It is possible. 10580 // "LIKELY" - It is likely. 10581 // "VERY_LIKELY" - It is very likely. 10582 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 10583 10584 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 10585 // unconditionally include in API requests. By default, fields with 10586 // empty values are omitted from API requests. However, any non-pointer, 10587 // non-interface field appearing in ForceSendFields will be sent to the 10588 // server regardless of whether the field is empty or not. This may be 10589 // used to include empty fields in Patch requests. 10590 ForceSendFields []string `json:"-"` 10591 10592 // NullFields is a list of field names (e.g. "AngerLikelihood") to 10593 // include in API requests with the JSON null value. By default, fields 10594 // with empty values are omitted from API requests. However, any field 10595 // with an empty value appearing in NullFields will be sent to the 10596 // server as null. It is an error if a field in this list has a 10597 // non-empty value. This may be used to include null fields in Patch 10598 // requests. 10599 NullFields []string `json:"-"` 10600} 10601 10602func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 10603 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 10604 raw := NoMethod(*s) 10605 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10606} 10607 10608func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 10609 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 10610 var s1 struct { 10611 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 10612 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 10613 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 10614 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 10615 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 10616 *NoMethod 10617 } 10618 s1.NoMethod = (*NoMethod)(s) 10619 if err := json.Unmarshal(data, &s1); err != nil { 10620 return err 10621 } 10622 s.DetectionConfidence = float64(s1.DetectionConfidence) 10623 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 10624 s.PanAngle = float64(s1.PanAngle) 10625 s.RollAngle = float64(s1.RollAngle) 10626 s.TiltAngle = float64(s1.TiltAngle) 10627 return nil 10628} 10629 10630// GoogleCloudVisionV1p4beta1FaceAnnotationLandmark: A face-specific 10631// landmark (for example, a face feature). 10632type GoogleCloudVisionV1p4beta1FaceAnnotationLandmark struct { 10633 // Position: Face landmark position. 10634 Position *GoogleCloudVisionV1p4beta1Position `json:"position,omitempty"` 10635 10636 // Type: Face landmark type. 10637 // 10638 // Possible values: 10639 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 10640 // filled. 10641 // "LEFT_EYE" - Left eye. 10642 // "RIGHT_EYE" - Right eye. 10643 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 10644 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 10645 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 10646 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 10647 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 10648 // "NOSE_TIP" - Nose tip. 10649 // "UPPER_LIP" - Upper lip. 10650 // "LOWER_LIP" - Lower lip. 10651 // "MOUTH_LEFT" - Mouth left. 10652 // "MOUTH_RIGHT" - Mouth right. 10653 // "MOUTH_CENTER" - Mouth center. 10654 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 10655 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 10656 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 10657 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 10658 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 10659 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 10660 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 10661 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 10662 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 10663 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 10664 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 10665 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 10666 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 10667 // "LEFT_EAR_TRAGION" - Left ear tragion. 10668 // "RIGHT_EAR_TRAGION" - Right ear tragion. 10669 // "LEFT_EYE_PUPIL" - Left eye pupil. 10670 // "RIGHT_EYE_PUPIL" - Right eye pupil. 10671 // "FOREHEAD_GLABELLA" - Forehead glabella. 10672 // "CHIN_GNATHION" - Chin gnathion. 10673 // "CHIN_LEFT_GONION" - Chin left gonion. 10674 // "CHIN_RIGHT_GONION" - Chin right gonion. 10675 Type string `json:"type,omitempty"` 10676 10677 // ForceSendFields is a list of field names (e.g. "Position") to 10678 // unconditionally include in API requests. By default, fields with 10679 // empty values are omitted from API requests. However, any non-pointer, 10680 // non-interface field appearing in ForceSendFields will be sent to the 10681 // server regardless of whether the field is empty or not. This may be 10682 // used to include empty fields in Patch requests. 10683 ForceSendFields []string `json:"-"` 10684 10685 // NullFields is a list of field names (e.g. "Position") to include in 10686 // API requests with the JSON null value. By default, fields with empty 10687 // values are omitted from API requests. However, any field with an 10688 // empty value appearing in NullFields will be sent to the server as 10689 // null. It is an error if a field in this list has a non-empty value. 10690 // This may be used to include null fields in Patch requests. 10691 NullFields []string `json:"-"` 10692} 10693 10694func (s *GoogleCloudVisionV1p4beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 10695 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotationLandmark 10696 raw := NoMethod(*s) 10697 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10698} 10699 10700// GoogleCloudVisionV1p4beta1FaceRecognitionResult: Information about a 10701// face's identity. 10702type GoogleCloudVisionV1p4beta1FaceRecognitionResult struct { 10703 // Celebrity: The Celebrity that this face was matched to. 10704 Celebrity *GoogleCloudVisionV1p4beta1Celebrity `json:"celebrity,omitempty"` 10705 10706 // Confidence: Recognition confidence. Range [0, 1]. 10707 Confidence float64 `json:"confidence,omitempty"` 10708 10709 // ForceSendFields is a list of field names (e.g. "Celebrity") to 10710 // unconditionally include in API requests. By default, fields with 10711 // empty values are omitted from API requests. However, any non-pointer, 10712 // non-interface field appearing in ForceSendFields will be sent to the 10713 // server regardless of whether the field is empty or not. This may be 10714 // used to include empty fields in Patch requests. 10715 ForceSendFields []string `json:"-"` 10716 10717 // NullFields is a list of field names (e.g. "Celebrity") to include in 10718 // API requests with the JSON null value. By default, fields with empty 10719 // values are omitted from API requests. However, any field with an 10720 // empty value appearing in NullFields will be sent to the server as 10721 // null. It is an error if a field in this list has a non-empty value. 10722 // This may be used to include null fields in Patch requests. 10723 NullFields []string `json:"-"` 10724} 10725 10726func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) MarshalJSON() ([]byte, error) { 10727 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 10728 raw := NoMethod(*s) 10729 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10730} 10731 10732func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) UnmarshalJSON(data []byte) error { 10733 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 10734 var s1 struct { 10735 Confidence gensupport.JSONFloat64 `json:"confidence"` 10736 *NoMethod 10737 } 10738 s1.NoMethod = (*NoMethod)(s) 10739 if err := json.Unmarshal(data, &s1); err != nil { 10740 return err 10741 } 10742 s.Confidence = float64(s1.Confidence) 10743 return nil 10744} 10745 10746// GoogleCloudVisionV1p4beta1GcsDestination: The Google Cloud Storage 10747// location where the output will be written to. 10748type GoogleCloudVisionV1p4beta1GcsDestination struct { 10749 // Uri: Google Cloud Storage URI prefix where the results will be 10750 // stored. Results 10751 // will be in JSON format and preceded by its corresponding input URI 10752 // prefix. 10753 // This field can either represent a gcs file prefix or gcs directory. 10754 // In 10755 // either case, the uri should be unique because in order to get all of 10756 // the 10757 // output files, you will need to do a wildcard gcs search on the uri 10758 // prefix 10759 // you provide. 10760 // 10761 // Examples: 10762 // 10763 // * File Prefix: gs://bucket-name/here/filenameprefix The output 10764 // files 10765 // will be created in gs://bucket-name/here/ and the names of the 10766 // output files will begin with "filenameprefix". 10767 // 10768 // * Directory Prefix: gs://bucket-name/some/location/ The output 10769 // files 10770 // will be created in gs://bucket-name/some/location/ and the names of 10771 // the 10772 // output files could be anything because there was no filename 10773 // prefix 10774 // specified. 10775 // 10776 // If multiple outputs, each response is still AnnotateFileResponse, 10777 // each of 10778 // which contains some subset of the full list of 10779 // AnnotateImageResponse. 10780 // Multiple outputs can happen if, for example, the output JSON is too 10781 // large 10782 // and overflows into multiple sharded files. 10783 Uri string `json:"uri,omitempty"` 10784 10785 // ForceSendFields is a list of field names (e.g. "Uri") to 10786 // unconditionally include in API requests. By default, fields with 10787 // empty values are omitted from API requests. However, any non-pointer, 10788 // non-interface field appearing in ForceSendFields will be sent to the 10789 // server regardless of whether the field is empty or not. This may be 10790 // used to include empty fields in Patch requests. 10791 ForceSendFields []string `json:"-"` 10792 10793 // NullFields is a list of field names (e.g. "Uri") to include in API 10794 // requests with the JSON null value. By default, fields with empty 10795 // values are omitted from API requests. However, any field with an 10796 // empty value appearing in NullFields will be sent to the server as 10797 // null. It is an error if a field in this list has a non-empty value. 10798 // This may be used to include null fields in Patch requests. 10799 NullFields []string `json:"-"` 10800} 10801 10802func (s *GoogleCloudVisionV1p4beta1GcsDestination) MarshalJSON() ([]byte, error) { 10803 type NoMethod GoogleCloudVisionV1p4beta1GcsDestination 10804 raw := NoMethod(*s) 10805 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10806} 10807 10808// GoogleCloudVisionV1p4beta1GcsSource: The Google Cloud Storage 10809// location where the input will be read from. 10810type GoogleCloudVisionV1p4beta1GcsSource struct { 10811 // Uri: Google Cloud Storage URI for the input file. This must only be 10812 // a 10813 // Google Cloud Storage object. Wildcards are not currently supported. 10814 Uri string `json:"uri,omitempty"` 10815 10816 // ForceSendFields is a list of field names (e.g. "Uri") to 10817 // unconditionally include in API requests. By default, fields with 10818 // empty values are omitted from API requests. However, any non-pointer, 10819 // non-interface field appearing in ForceSendFields will be sent to the 10820 // server regardless of whether the field is empty or not. This may be 10821 // used to include empty fields in Patch requests. 10822 ForceSendFields []string `json:"-"` 10823 10824 // NullFields is a list of field names (e.g. "Uri") to include in API 10825 // requests with the JSON null value. By default, fields with empty 10826 // values are omitted from API requests. However, any field with an 10827 // empty value appearing in NullFields will be sent to the server as 10828 // null. It is an error if a field in this list has a non-empty value. 10829 // This may be used to include null fields in Patch requests. 10830 NullFields []string `json:"-"` 10831} 10832 10833func (s *GoogleCloudVisionV1p4beta1GcsSource) MarshalJSON() ([]byte, error) { 10834 type NoMethod GoogleCloudVisionV1p4beta1GcsSource 10835 raw := NoMethod(*s) 10836 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10837} 10838 10839// GoogleCloudVisionV1p4beta1ImageAnnotationContext: If an image was 10840// produced from a file (e.g. a PDF), this message gives 10841// information about the source of that image. 10842type GoogleCloudVisionV1p4beta1ImageAnnotationContext struct { 10843 // PageNumber: If the file was a PDF or TIFF, this field gives the page 10844 // number within 10845 // the file used to produce the image. 10846 PageNumber int64 `json:"pageNumber,omitempty"` 10847 10848 // Uri: The URI of the file used to produce the image. 10849 Uri string `json:"uri,omitempty"` 10850 10851 // ForceSendFields is a list of field names (e.g. "PageNumber") to 10852 // unconditionally include in API requests. By default, fields with 10853 // empty values are omitted from API requests. However, any non-pointer, 10854 // non-interface field appearing in ForceSendFields will be sent to the 10855 // server regardless of whether the field is empty or not. This may be 10856 // used to include empty fields in Patch requests. 10857 ForceSendFields []string `json:"-"` 10858 10859 // NullFields is a list of field names (e.g. "PageNumber") to include in 10860 // API requests with the JSON null value. By default, fields with empty 10861 // values are omitted from API requests. However, any field with an 10862 // empty value appearing in NullFields will be sent to the server as 10863 // null. It is an error if a field in this list has a non-empty value. 10864 // This may be used to include null fields in Patch requests. 10865 NullFields []string `json:"-"` 10866} 10867 10868func (s *GoogleCloudVisionV1p4beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 10869 type NoMethod GoogleCloudVisionV1p4beta1ImageAnnotationContext 10870 raw := NoMethod(*s) 10871 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10872} 10873 10874// GoogleCloudVisionV1p4beta1ImageProperties: Stores image properties, 10875// such as dominant colors. 10876type GoogleCloudVisionV1p4beta1ImageProperties struct { 10877 // DominantColors: If present, dominant colors completed successfully. 10878 DominantColors *GoogleCloudVisionV1p4beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 10879 10880 // ForceSendFields is a list of field names (e.g. "DominantColors") to 10881 // unconditionally include in API requests. By default, fields with 10882 // empty values are omitted from API requests. However, any non-pointer, 10883 // non-interface field appearing in ForceSendFields will be sent to the 10884 // server regardless of whether the field is empty or not. This may be 10885 // used to include empty fields in Patch requests. 10886 ForceSendFields []string `json:"-"` 10887 10888 // NullFields is a list of field names (e.g. "DominantColors") to 10889 // include in API requests with the JSON null value. By default, fields 10890 // with empty values are omitted from API requests. However, any field 10891 // with an empty value appearing in NullFields will be sent to the 10892 // server as null. It is an error if a field in this list has a 10893 // non-empty value. This may be used to include null fields in Patch 10894 // requests. 10895 NullFields []string `json:"-"` 10896} 10897 10898func (s *GoogleCloudVisionV1p4beta1ImageProperties) MarshalJSON() ([]byte, error) { 10899 type NoMethod GoogleCloudVisionV1p4beta1ImageProperties 10900 raw := NoMethod(*s) 10901 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10902} 10903 10904// GoogleCloudVisionV1p4beta1ImportProductSetsResponse: Response message 10905// for the `ImportProductSets` method. 10906// 10907// This message is returned by 10908// the 10909// google.longrunning.Operations.GetOperation method in the 10910// returned 10911// google.longrunning.Operation.response field. 10912type GoogleCloudVisionV1p4beta1ImportProductSetsResponse struct { 10913 // ReferenceImages: The list of reference_images that are imported 10914 // successfully. 10915 ReferenceImages []*GoogleCloudVisionV1p4beta1ReferenceImage `json:"referenceImages,omitempty"` 10916 10917 // Statuses: The rpc status for each ImportProductSet request, including 10918 // both successes 10919 // and errors. 10920 // 10921 // The number of statuses here matches the number of lines in the csv 10922 // file, 10923 // and statuses[i] stores the success or failure status of processing 10924 // the i-th 10925 // line of the csv, starting from line 0. 10926 Statuses []*Status `json:"statuses,omitempty"` 10927 10928 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 10929 // unconditionally include in API requests. By default, fields with 10930 // empty values are omitted from API requests. However, any non-pointer, 10931 // non-interface field appearing in ForceSendFields will be sent to the 10932 // server regardless of whether the field is empty or not. This may be 10933 // used to include empty fields in Patch requests. 10934 ForceSendFields []string `json:"-"` 10935 10936 // NullFields is a list of field names (e.g. "ReferenceImages") to 10937 // include in API requests with the JSON null value. By default, fields 10938 // with empty values are omitted from API requests. However, any field 10939 // with an empty value appearing in NullFields will be sent to the 10940 // server as null. It is an error if a field in this list has a 10941 // non-empty value. This may be used to include null fields in Patch 10942 // requests. 10943 NullFields []string `json:"-"` 10944} 10945 10946func (s *GoogleCloudVisionV1p4beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 10947 type NoMethod GoogleCloudVisionV1p4beta1ImportProductSetsResponse 10948 raw := NoMethod(*s) 10949 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10950} 10951 10952// GoogleCloudVisionV1p4beta1InputConfig: The desired input location and 10953// metadata. 10954type GoogleCloudVisionV1p4beta1InputConfig struct { 10955 // Content: File content, represented as a stream of bytes. 10956 // Note: As with all `bytes` fields, protobuffers use a pure 10957 // binary 10958 // representation, whereas JSON representations use base64. 10959 // 10960 // Currently, this field only works for BatchAnnotateFiles requests. It 10961 // does 10962 // not work for AsyncBatchAnnotateFiles requests. 10963 Content string `json:"content,omitempty"` 10964 10965 // GcsSource: The Google Cloud Storage location to read the input from. 10966 GcsSource *GoogleCloudVisionV1p4beta1GcsSource `json:"gcsSource,omitempty"` 10967 10968 // MimeType: The type of the file. Currently only "application/pdf", 10969 // "image/tiff" and 10970 // "image/gif" are supported. Wildcards are not supported. 10971 MimeType string `json:"mimeType,omitempty"` 10972 10973 // ForceSendFields is a list of field names (e.g. "Content") to 10974 // unconditionally include in API requests. By default, fields with 10975 // empty values are omitted from API requests. However, any non-pointer, 10976 // non-interface field appearing in ForceSendFields will be sent to the 10977 // server regardless of whether the field is empty or not. This may be 10978 // used to include empty fields in Patch requests. 10979 ForceSendFields []string `json:"-"` 10980 10981 // NullFields is a list of field names (e.g. "Content") to include in 10982 // API requests with the JSON null value. By default, fields with empty 10983 // values are omitted from API requests. However, any field with an 10984 // empty value appearing in NullFields will be sent to the server as 10985 // null. It is an error if a field in this list has a non-empty value. 10986 // This may be used to include null fields in Patch requests. 10987 NullFields []string `json:"-"` 10988} 10989 10990func (s *GoogleCloudVisionV1p4beta1InputConfig) MarshalJSON() ([]byte, error) { 10991 type NoMethod GoogleCloudVisionV1p4beta1InputConfig 10992 raw := NoMethod(*s) 10993 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10994} 10995 10996// GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation: Set of detected 10997// objects with bounding boxes. 10998type GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation struct { 10999 // BoundingPoly: Image region to which this object belongs. This must be 11000 // populated. 11001 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 11002 11003 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 11004 // For more 11005 // information, 11006 // see 11007 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 11008 LanguageCode string `json:"languageCode,omitempty"` 11009 11010 // Mid: Object ID that should align with EntityAnnotation mid. 11011 Mid string `json:"mid,omitempty"` 11012 11013 // Name: Object name, expressed in its `language_code` language. 11014 Name string `json:"name,omitempty"` 11015 11016 // Score: Score of the result. Range [0, 1]. 11017 Score float64 `json:"score,omitempty"` 11018 11019 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 11020 // unconditionally include in API requests. By default, fields with 11021 // empty values are omitted from API requests. However, any non-pointer, 11022 // non-interface field appearing in ForceSendFields will be sent to the 11023 // server regardless of whether the field is empty or not. This may be 11024 // used to include empty fields in Patch requests. 11025 ForceSendFields []string `json:"-"` 11026 11027 // NullFields is a list of field names (e.g. "BoundingPoly") to include 11028 // in API requests with the JSON null value. By default, fields with 11029 // empty values are omitted from API requests. However, any field with 11030 // an empty value appearing in NullFields will be sent to the server as 11031 // null. It is an error if a field in this list has a non-empty value. 11032 // This may be used to include null fields in Patch requests. 11033 NullFields []string `json:"-"` 11034} 11035 11036func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 11037 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 11038 raw := NoMethod(*s) 11039 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11040} 11041 11042func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 11043 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 11044 var s1 struct { 11045 Score gensupport.JSONFloat64 `json:"score"` 11046 *NoMethod 11047 } 11048 s1.NoMethod = (*NoMethod)(s) 11049 if err := json.Unmarshal(data, &s1); err != nil { 11050 return err 11051 } 11052 s.Score = float64(s1.Score) 11053 return nil 11054} 11055 11056// GoogleCloudVisionV1p4beta1LocationInfo: Detected entity location 11057// information. 11058type GoogleCloudVisionV1p4beta1LocationInfo struct { 11059 // LatLng: lat/long location coordinates. 11060 LatLng *LatLng `json:"latLng,omitempty"` 11061 11062 // ForceSendFields is a list of field names (e.g. "LatLng") to 11063 // unconditionally include in API requests. By default, fields with 11064 // empty values are omitted from API requests. However, any non-pointer, 11065 // non-interface field appearing in ForceSendFields will be sent to the 11066 // server regardless of whether the field is empty or not. This may be 11067 // used to include empty fields in Patch requests. 11068 ForceSendFields []string `json:"-"` 11069 11070 // NullFields is a list of field names (e.g. "LatLng") to include in API 11071 // requests with the JSON null value. By default, fields with empty 11072 // values are omitted from API requests. However, any field with an 11073 // empty value appearing in NullFields will be sent to the server as 11074 // null. It is an error if a field in this list has a non-empty value. 11075 // This may be used to include null fields in Patch requests. 11076 NullFields []string `json:"-"` 11077} 11078 11079func (s *GoogleCloudVisionV1p4beta1LocationInfo) MarshalJSON() ([]byte, error) { 11080 type NoMethod GoogleCloudVisionV1p4beta1LocationInfo 11081 raw := NoMethod(*s) 11082 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11083} 11084 11085// GoogleCloudVisionV1p4beta1NormalizedVertex: A vertex represents a 2D 11086// point in the image. 11087// NOTE: the normalized vertex coordinates are relative to the original 11088// image 11089// and range from 0 to 1. 11090type GoogleCloudVisionV1p4beta1NormalizedVertex struct { 11091 // X: X coordinate. 11092 X float64 `json:"x,omitempty"` 11093 11094 // Y: Y coordinate. 11095 Y float64 `json:"y,omitempty"` 11096 11097 // ForceSendFields is a list of field names (e.g. "X") to 11098 // unconditionally include in API requests. By default, fields with 11099 // empty values are omitted from API requests. However, any non-pointer, 11100 // non-interface field appearing in ForceSendFields will be sent to the 11101 // server regardless of whether the field is empty or not. This may be 11102 // used to include empty fields in Patch requests. 11103 ForceSendFields []string `json:"-"` 11104 11105 // NullFields is a list of field names (e.g. "X") to include in API 11106 // requests with the JSON null value. By default, fields with empty 11107 // values are omitted from API requests. However, any field with an 11108 // empty value appearing in NullFields will be sent to the server as 11109 // null. It is an error if a field in this list has a non-empty value. 11110 // This may be used to include null fields in Patch requests. 11111 NullFields []string `json:"-"` 11112} 11113 11114func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 11115 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 11116 raw := NoMethod(*s) 11117 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11118} 11119 11120func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 11121 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 11122 var s1 struct { 11123 X gensupport.JSONFloat64 `json:"x"` 11124 Y gensupport.JSONFloat64 `json:"y"` 11125 *NoMethod 11126 } 11127 s1.NoMethod = (*NoMethod)(s) 11128 if err := json.Unmarshal(data, &s1); err != nil { 11129 return err 11130 } 11131 s.X = float64(s1.X) 11132 s.Y = float64(s1.Y) 11133 return nil 11134} 11135 11136// GoogleCloudVisionV1p4beta1OperationMetadata: Contains metadata for 11137// the BatchAnnotateImages operation. 11138type GoogleCloudVisionV1p4beta1OperationMetadata struct { 11139 // CreateTime: The time when the batch request was received. 11140 CreateTime string `json:"createTime,omitempty"` 11141 11142 // State: Current state of the batch operation. 11143 // 11144 // Possible values: 11145 // "STATE_UNSPECIFIED" - Invalid. 11146 // "CREATED" - Request is received. 11147 // "RUNNING" - Request is actively being processed. 11148 // "DONE" - The batch processing is done. 11149 // "CANCELLED" - The batch processing was cancelled. 11150 State string `json:"state,omitempty"` 11151 11152 // UpdateTime: The time when the operation result was last updated. 11153 UpdateTime string `json:"updateTime,omitempty"` 11154 11155 // ForceSendFields is a list of field names (e.g. "CreateTime") to 11156 // unconditionally include in API requests. By default, fields with 11157 // empty values are omitted from API requests. However, any non-pointer, 11158 // non-interface field appearing in ForceSendFields will be sent to the 11159 // server regardless of whether the field is empty or not. This may be 11160 // used to include empty fields in Patch requests. 11161 ForceSendFields []string `json:"-"` 11162 11163 // NullFields is a list of field names (e.g. "CreateTime") to include in 11164 // API requests with the JSON null value. By default, fields with empty 11165 // values are omitted from API requests. However, any field with an 11166 // empty value appearing in NullFields will be sent to the server as 11167 // null. It is an error if a field in this list has a non-empty value. 11168 // This may be used to include null fields in Patch requests. 11169 NullFields []string `json:"-"` 11170} 11171 11172func (s *GoogleCloudVisionV1p4beta1OperationMetadata) MarshalJSON() ([]byte, error) { 11173 type NoMethod GoogleCloudVisionV1p4beta1OperationMetadata 11174 raw := NoMethod(*s) 11175 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11176} 11177 11178// GoogleCloudVisionV1p4beta1OutputConfig: The desired output location 11179// and metadata. 11180type GoogleCloudVisionV1p4beta1OutputConfig struct { 11181 // BatchSize: The max number of response protos to put into each output 11182 // JSON file on 11183 // Google Cloud Storage. 11184 // The valid range is [1, 100]. If not specified, the default value is 11185 // 20. 11186 // 11187 // For example, for one pdf file with 100 pages, 100 response protos 11188 // will 11189 // be generated. If `batch_size` = 20, then 5 json files each 11190 // containing 20 response protos will be written under the 11191 // prefix 11192 // `gcs_destination`.`uri`. 11193 // 11194 // Currently, batch_size only applies to GcsDestination, with potential 11195 // future 11196 // support for other output configurations. 11197 BatchSize int64 `json:"batchSize,omitempty"` 11198 11199 // GcsDestination: The Google Cloud Storage location to write the 11200 // output(s) to. 11201 GcsDestination *GoogleCloudVisionV1p4beta1GcsDestination `json:"gcsDestination,omitempty"` 11202 11203 // ForceSendFields is a list of field names (e.g. "BatchSize") to 11204 // unconditionally include in API requests. By default, fields with 11205 // empty values are omitted from API requests. However, any non-pointer, 11206 // non-interface field appearing in ForceSendFields will be sent to the 11207 // server regardless of whether the field is empty or not. This may be 11208 // used to include empty fields in Patch requests. 11209 ForceSendFields []string `json:"-"` 11210 11211 // NullFields is a list of field names (e.g. "BatchSize") to include in 11212 // API 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 *GoogleCloudVisionV1p4beta1OutputConfig) MarshalJSON() ([]byte, error) { 11221 type NoMethod GoogleCloudVisionV1p4beta1OutputConfig 11222 raw := NoMethod(*s) 11223 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11224} 11225 11226// GoogleCloudVisionV1p4beta1Page: Detected page from OCR. 11227type GoogleCloudVisionV1p4beta1Page struct { 11228 // Blocks: List of blocks of text, images etc on this page. 11229 Blocks []*GoogleCloudVisionV1p4beta1Block `json:"blocks,omitempty"` 11230 11231 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 11232 Confidence float64 `json:"confidence,omitempty"` 11233 11234 // Height: Page height. For PDFs the unit is points. For images 11235 // (including 11236 // TIFFs) the unit is pixels. 11237 Height int64 `json:"height,omitempty"` 11238 11239 // Property: Additional information detected on the page. 11240 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11241 11242 // Width: Page width. For PDFs the unit is points. For images 11243 // (including 11244 // TIFFs) the unit is pixels. 11245 Width int64 `json:"width,omitempty"` 11246 11247 // ForceSendFields is a list of field names (e.g. "Blocks") to 11248 // unconditionally include in API requests. By default, fields with 11249 // empty values are omitted from API requests. However, any non-pointer, 11250 // non-interface field appearing in ForceSendFields will be sent to the 11251 // server regardless of whether the field is empty or not. This may be 11252 // used to include empty fields in Patch requests. 11253 ForceSendFields []string `json:"-"` 11254 11255 // NullFields is a list of field names (e.g. "Blocks") to include in API 11256 // requests with the JSON null value. By default, fields with empty 11257 // values are omitted from API requests. However, any field with an 11258 // empty value appearing in NullFields will be sent to the server as 11259 // null. It is an error if a field in this list has a non-empty value. 11260 // This may be used to include null fields in Patch requests. 11261 NullFields []string `json:"-"` 11262} 11263 11264func (s *GoogleCloudVisionV1p4beta1Page) MarshalJSON() ([]byte, error) { 11265 type NoMethod GoogleCloudVisionV1p4beta1Page 11266 raw := NoMethod(*s) 11267 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11268} 11269 11270func (s *GoogleCloudVisionV1p4beta1Page) UnmarshalJSON(data []byte) error { 11271 type NoMethod GoogleCloudVisionV1p4beta1Page 11272 var s1 struct { 11273 Confidence gensupport.JSONFloat64 `json:"confidence"` 11274 *NoMethod 11275 } 11276 s1.NoMethod = (*NoMethod)(s) 11277 if err := json.Unmarshal(data, &s1); err != nil { 11278 return err 11279 } 11280 s.Confidence = float64(s1.Confidence) 11281 return nil 11282} 11283 11284// GoogleCloudVisionV1p4beta1Paragraph: Structural unit of text 11285// representing a number of words in certain order. 11286type GoogleCloudVisionV1p4beta1Paragraph struct { 11287 // BoundingBox: The bounding box for the paragraph. 11288 // The vertices are in the order of top-left, top-right, 11289 // bottom-right, 11290 // bottom-left. When a rotation of the bounding box is detected the 11291 // rotation 11292 // is represented as around the top-left corner as defined when the text 11293 // is 11294 // read in the 'natural' orientation. 11295 // For example: 11296 // * when the text is horizontal it might look like: 11297 // 0----1 11298 // | | 11299 // 3----2 11300 // * when it's rotated 180 degrees around the top-left corner it 11301 // becomes: 11302 // 2----3 11303 // | | 11304 // 1----0 11305 // and the vertex order will still be (0, 1, 2, 3). 11306 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 11307 11308 // Confidence: Confidence of the OCR results for the paragraph. Range 11309 // [0, 1]. 11310 Confidence float64 `json:"confidence,omitempty"` 11311 11312 // Property: Additional information detected for the paragraph. 11313 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11314 11315 // Words: List of all words in this paragraph. 11316 Words []*GoogleCloudVisionV1p4beta1Word `json:"words,omitempty"` 11317 11318 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 11319 // unconditionally include in API requests. By default, fields with 11320 // empty values are omitted from API requests. However, any non-pointer, 11321 // non-interface field appearing in ForceSendFields will be sent to the 11322 // server regardless of whether the field is empty or not. This may be 11323 // used to include empty fields in Patch requests. 11324 ForceSendFields []string `json:"-"` 11325 11326 // NullFields is a list of field names (e.g. "BoundingBox") to include 11327 // in API requests with the JSON null value. By default, fields with 11328 // empty values are omitted from API requests. However, any field with 11329 // an empty value appearing in NullFields will be sent to the server as 11330 // null. It is an error if a field in this list has a non-empty value. 11331 // This may be used to include null fields in Patch requests. 11332 NullFields []string `json:"-"` 11333} 11334 11335func (s *GoogleCloudVisionV1p4beta1Paragraph) MarshalJSON() ([]byte, error) { 11336 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 11337 raw := NoMethod(*s) 11338 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11339} 11340 11341func (s *GoogleCloudVisionV1p4beta1Paragraph) UnmarshalJSON(data []byte) error { 11342 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 11343 var s1 struct { 11344 Confidence gensupport.JSONFloat64 `json:"confidence"` 11345 *NoMethod 11346 } 11347 s1.NoMethod = (*NoMethod)(s) 11348 if err := json.Unmarshal(data, &s1); err != nil { 11349 return err 11350 } 11351 s.Confidence = float64(s1.Confidence) 11352 return nil 11353} 11354 11355// GoogleCloudVisionV1p4beta1Position: A 3D position in the image, used 11356// primarily for Face detection landmarks. 11357// A valid Position must have both x and y coordinates. 11358// The position coordinates are in the same scale as the original image. 11359type GoogleCloudVisionV1p4beta1Position struct { 11360 // X: X coordinate. 11361 X float64 `json:"x,omitempty"` 11362 11363 // Y: Y coordinate. 11364 Y float64 `json:"y,omitempty"` 11365 11366 // Z: Z coordinate (or depth). 11367 Z float64 `json:"z,omitempty"` 11368 11369 // ForceSendFields is a list of field names (e.g. "X") to 11370 // unconditionally include in API requests. By default, fields with 11371 // empty values are omitted from API requests. However, any non-pointer, 11372 // non-interface field appearing in ForceSendFields will be sent to the 11373 // server regardless of whether the field is empty or not. This may be 11374 // used to include empty fields in Patch requests. 11375 ForceSendFields []string `json:"-"` 11376 11377 // NullFields is a list of field names (e.g. "X") to include in API 11378 // requests with the JSON null value. By default, fields with empty 11379 // values are omitted from API requests. However, any field with an 11380 // empty value appearing in NullFields will be sent to the server as 11381 // null. It is an error if a field in this list has a non-empty value. 11382 // This may be used to include null fields in Patch requests. 11383 NullFields []string `json:"-"` 11384} 11385 11386func (s *GoogleCloudVisionV1p4beta1Position) MarshalJSON() ([]byte, error) { 11387 type NoMethod GoogleCloudVisionV1p4beta1Position 11388 raw := NoMethod(*s) 11389 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11390} 11391 11392func (s *GoogleCloudVisionV1p4beta1Position) UnmarshalJSON(data []byte) error { 11393 type NoMethod GoogleCloudVisionV1p4beta1Position 11394 var s1 struct { 11395 X gensupport.JSONFloat64 `json:"x"` 11396 Y gensupport.JSONFloat64 `json:"y"` 11397 Z gensupport.JSONFloat64 `json:"z"` 11398 *NoMethod 11399 } 11400 s1.NoMethod = (*NoMethod)(s) 11401 if err := json.Unmarshal(data, &s1); err != nil { 11402 return err 11403 } 11404 s.X = float64(s1.X) 11405 s.Y = float64(s1.Y) 11406 s.Z = float64(s1.Z) 11407 return nil 11408} 11409 11410// GoogleCloudVisionV1p4beta1Product: A Product contains 11411// ReferenceImages. 11412type GoogleCloudVisionV1p4beta1Product struct { 11413 // Description: User-provided metadata to be stored with this product. 11414 // Must be at most 4096 11415 // characters long. 11416 Description string `json:"description,omitempty"` 11417 11418 // DisplayName: The user-provided name for this Product. Must not be 11419 // empty. Must be at most 11420 // 4096 characters long. 11421 DisplayName string `json:"displayName,omitempty"` 11422 11423 // Name: The resource name of the product. 11424 // 11425 // Format 11426 // is: 11427 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 11428 // 11429 // This field is ignored when creating a product. 11430 Name string `json:"name,omitempty"` 11431 11432 // ProductCategory: Immutable. The category for the product identified 11433 // by the reference image. This should 11434 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 11435 // categories 11436 // "homegoods", "apparel", and "toys" are still supported, but these 11437 // should 11438 // not be used for new products. 11439 ProductCategory string `json:"productCategory,omitempty"` 11440 11441 // ProductLabels: Key-value pairs that can be attached to a product. At 11442 // query time, 11443 // constraints can be specified based on the product_labels. 11444 // 11445 // Note that integer values can be provided as strings, e.g. "1199". 11446 // Only 11447 // strings with integer values can match a range-based restriction which 11448 // is 11449 // to be supported soon. 11450 // 11451 // Multiple values can be assigned to the same key. One product may have 11452 // up to 11453 // 500 product_labels. 11454 // 11455 // Notice that the total number of distinct product_labels over all 11456 // products 11457 // in one ProductSet cannot exceed 1M, otherwise the product search 11458 // pipeline 11459 // will refuse to work for that ProductSet. 11460 ProductLabels []*GoogleCloudVisionV1p4beta1ProductKeyValue `json:"productLabels,omitempty"` 11461 11462 // ForceSendFields is a list of field names (e.g. "Description") to 11463 // unconditionally include in API requests. By default, fields with 11464 // empty values are omitted from API requests. However, any non-pointer, 11465 // non-interface field appearing in ForceSendFields will be sent to the 11466 // server regardless of whether the field is empty or not. This may be 11467 // used to include empty fields in Patch requests. 11468 ForceSendFields []string `json:"-"` 11469 11470 // NullFields is a list of field names (e.g. "Description") to include 11471 // in API requests with the JSON null value. By default, fields with 11472 // empty values are omitted from API requests. However, any field with 11473 // an empty value appearing in NullFields will be sent to the server as 11474 // null. It is an error if a field in this list has a non-empty value. 11475 // This may be used to include null fields in Patch requests. 11476 NullFields []string `json:"-"` 11477} 11478 11479func (s *GoogleCloudVisionV1p4beta1Product) MarshalJSON() ([]byte, error) { 11480 type NoMethod GoogleCloudVisionV1p4beta1Product 11481 raw := NoMethod(*s) 11482 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11483} 11484 11485// GoogleCloudVisionV1p4beta1ProductKeyValue: A product label 11486// represented as a key-value pair. 11487type GoogleCloudVisionV1p4beta1ProductKeyValue struct { 11488 // Key: The key of the label attached to the product. Cannot be empty 11489 // and cannot 11490 // exceed 128 bytes. 11491 Key string `json:"key,omitempty"` 11492 11493 // Value: The value of the label attached to the product. Cannot be 11494 // empty and 11495 // cannot exceed 128 bytes. 11496 Value string `json:"value,omitempty"` 11497 11498 // ForceSendFields is a list of field names (e.g. "Key") to 11499 // unconditionally include in API requests. By default, fields with 11500 // empty values are omitted from API requests. However, any non-pointer, 11501 // non-interface field appearing in ForceSendFields will be sent to the 11502 // server regardless of whether the field is empty or not. This may be 11503 // used to include empty fields in Patch requests. 11504 ForceSendFields []string `json:"-"` 11505 11506 // NullFields is a list of field names (e.g. "Key") to include in API 11507 // requests with the JSON null value. By default, fields with empty 11508 // values are omitted from API requests. However, any field with an 11509 // empty value appearing in NullFields will be sent to the server as 11510 // null. It is an error if a field in this list has a non-empty value. 11511 // This may be used to include null fields in Patch requests. 11512 NullFields []string `json:"-"` 11513} 11514 11515func (s *GoogleCloudVisionV1p4beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 11516 type NoMethod GoogleCloudVisionV1p4beta1ProductKeyValue 11517 raw := NoMethod(*s) 11518 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11519} 11520 11521// GoogleCloudVisionV1p4beta1ProductSearchResults: Results for a product 11522// search request. 11523type GoogleCloudVisionV1p4beta1ProductSearchResults struct { 11524 // IndexTime: Timestamp of the index which provided these results. 11525 // Products added to the 11526 // product set and products removed from the product set after this time 11527 // are 11528 // not reflected in the current results. 11529 IndexTime string `json:"indexTime,omitempty"` 11530 11531 // ProductGroupedResults: List of results grouped by products detected 11532 // in the query image. Each entry 11533 // corresponds to one bounding polygon in the query image, and contains 11534 // the 11535 // matching products specific to that region. There may be duplicate 11536 // product 11537 // matches in the union of all the per-product results. 11538 ProductGroupedResults []*GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 11539 11540 // Results: List of results, one for each product match. 11541 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 11542 11543 // ForceSendFields is a list of field names (e.g. "IndexTime") to 11544 // unconditionally include in API requests. By default, fields with 11545 // empty values are omitted from API requests. However, any non-pointer, 11546 // non-interface field appearing in ForceSendFields will be sent to the 11547 // server regardless of whether the field is empty or not. This may be 11548 // used to include empty fields in Patch requests. 11549 ForceSendFields []string `json:"-"` 11550 11551 // NullFields is a list of field names (e.g. "IndexTime") to include in 11552 // API requests with the JSON null value. By default, fields with empty 11553 // values are omitted from API requests. However, any field with an 11554 // empty value appearing in NullFields will be sent to the server as 11555 // null. It is an error if a field in this list has a non-empty value. 11556 // This may be used to include null fields in Patch requests. 11557 NullFields []string `json:"-"` 11558} 11559 11560func (s *GoogleCloudVisionV1p4beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 11561 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResults 11562 raw := NoMethod(*s) 11563 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11564} 11565 11566// GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult: 11567// Information about the products similar to a single product in a 11568// query 11569// image. 11570type GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult struct { 11571 // BoundingPoly: The bounding polygon around the product detected in the 11572 // query image. 11573 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 11574 11575 // ObjectAnnotations: List of generic predictions for the object in the 11576 // bounding box. 11577 ObjectAnnotations []*GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 11578 11579 // Results: List of results, one for each product match. 11580 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 11581 11582 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 11583 // unconditionally include in API requests. By default, fields with 11584 // empty values are omitted from API requests. However, any non-pointer, 11585 // non-interface field appearing in ForceSendFields will be sent to the 11586 // server regardless of whether the field is empty or not. This may be 11587 // used to include empty fields in Patch requests. 11588 ForceSendFields []string `json:"-"` 11589 11590 // NullFields is a list of field names (e.g. "BoundingPoly") to include 11591 // in API requests with the JSON null value. By default, fields with 11592 // empty values are omitted from API requests. However, any field with 11593 // an empty value appearing in NullFields will be sent to the server as 11594 // null. It is an error if a field in this list has a non-empty value. 11595 // This may be used to include null fields in Patch requests. 11596 NullFields []string `json:"-"` 11597} 11598 11599func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 11600 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult 11601 raw := NoMethod(*s) 11602 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11603} 11604 11605// GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation: 11606// Prediction for what the object in the bounding box is. 11607type GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation struct { 11608 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 11609 // For more 11610 // information, 11611 // see 11612 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 11613 LanguageCode string `json:"languageCode,omitempty"` 11614 11615 // Mid: Object ID that should align with EntityAnnotation mid. 11616 Mid string `json:"mid,omitempty"` 11617 11618 // Name: Object name, expressed in its `language_code` language. 11619 Name string `json:"name,omitempty"` 11620 11621 // Score: Score of the result. Range [0, 1]. 11622 Score float64 `json:"score,omitempty"` 11623 11624 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 11625 // unconditionally include in API requests. By default, fields with 11626 // empty values are omitted from API requests. However, any non-pointer, 11627 // non-interface field appearing in ForceSendFields will be sent to the 11628 // server regardless of whether the field is empty or not. This may be 11629 // used to include empty fields in Patch requests. 11630 ForceSendFields []string `json:"-"` 11631 11632 // NullFields is a list of field names (e.g. "LanguageCode") to include 11633 // in API requests with the JSON null value. By default, fields with 11634 // empty values are omitted from API requests. However, any field with 11635 // an empty value appearing in NullFields will be sent to the server as 11636 // null. It is an error if a field in this list has a non-empty value. 11637 // This may be used to include null fields in Patch requests. 11638 NullFields []string `json:"-"` 11639} 11640 11641func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 11642 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 11643 raw := NoMethod(*s) 11644 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11645} 11646 11647func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 11648 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 11649 var s1 struct { 11650 Score gensupport.JSONFloat64 `json:"score"` 11651 *NoMethod 11652 } 11653 s1.NoMethod = (*NoMethod)(s) 11654 if err := json.Unmarshal(data, &s1); err != nil { 11655 return err 11656 } 11657 s.Score = float64(s1.Score) 11658 return nil 11659} 11660 11661// GoogleCloudVisionV1p4beta1ProductSearchResultsResult: Information 11662// about a product. 11663type GoogleCloudVisionV1p4beta1ProductSearchResultsResult struct { 11664 // Image: The resource name of the image from the product that is the 11665 // closest match 11666 // to the query. 11667 Image string `json:"image,omitempty"` 11668 11669 // Product: The Product. 11670 Product *GoogleCloudVisionV1p4beta1Product `json:"product,omitempty"` 11671 11672 // Score: A confidence level on the match, ranging from 0 (no 11673 // confidence) to 11674 // 1 (full confidence). 11675 Score float64 `json:"score,omitempty"` 11676 11677 // ForceSendFields is a list of field names (e.g. "Image") to 11678 // unconditionally include in API requests. By default, fields with 11679 // empty values are omitted from API requests. However, any non-pointer, 11680 // non-interface field appearing in ForceSendFields will be sent to the 11681 // server regardless of whether the field is empty or not. This may be 11682 // used to include empty fields in Patch requests. 11683 ForceSendFields []string `json:"-"` 11684 11685 // NullFields is a list of field names (e.g. "Image") to include in API 11686 // requests with the JSON null value. By default, fields with empty 11687 // values are omitted from API requests. However, any field with an 11688 // empty value appearing in NullFields will be sent to the server as 11689 // null. It is an error if a field in this list has a non-empty value. 11690 // This may be used to include null fields in Patch requests. 11691 NullFields []string `json:"-"` 11692} 11693 11694func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 11695 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 11696 raw := NoMethod(*s) 11697 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11698} 11699 11700func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 11701 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 11702 var s1 struct { 11703 Score gensupport.JSONFloat64 `json:"score"` 11704 *NoMethod 11705 } 11706 s1.NoMethod = (*NoMethod)(s) 11707 if err := json.Unmarshal(data, &s1); err != nil { 11708 return err 11709 } 11710 s.Score = float64(s1.Score) 11711 return nil 11712} 11713 11714// GoogleCloudVisionV1p4beta1Property: A `Property` consists of a 11715// user-supplied name/value pair. 11716type GoogleCloudVisionV1p4beta1Property struct { 11717 // Name: Name of the property. 11718 Name string `json:"name,omitempty"` 11719 11720 // Uint64Value: Value of numeric properties. 11721 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 11722 11723 // Value: Value of the property. 11724 Value string `json:"value,omitempty"` 11725 11726 // ForceSendFields is a list of field names (e.g. "Name") to 11727 // unconditionally include in API requests. By default, fields with 11728 // empty values are omitted from API requests. However, any non-pointer, 11729 // non-interface field appearing in ForceSendFields will be sent to the 11730 // server regardless of whether the field is empty or not. This may be 11731 // used to include empty fields in Patch requests. 11732 ForceSendFields []string `json:"-"` 11733 11734 // NullFields is a list of field names (e.g. "Name") to include in API 11735 // requests with the JSON null value. By default, fields with empty 11736 // values are omitted from API requests. However, any field with an 11737 // empty value appearing in NullFields will be sent to the server as 11738 // null. It is an error if a field in this list has a non-empty value. 11739 // This may be used to include null fields in Patch requests. 11740 NullFields []string `json:"-"` 11741} 11742 11743func (s *GoogleCloudVisionV1p4beta1Property) MarshalJSON() ([]byte, error) { 11744 type NoMethod GoogleCloudVisionV1p4beta1Property 11745 raw := NoMethod(*s) 11746 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11747} 11748 11749// GoogleCloudVisionV1p4beta1ReferenceImage: A `ReferenceImage` 11750// represents a product image and its associated metadata, 11751// such as bounding boxes. 11752type GoogleCloudVisionV1p4beta1ReferenceImage struct { 11753 // BoundingPolys: Optional. Bounding polygons around the areas of 11754 // interest in the reference image. 11755 // If this field is empty, the system will try to detect regions 11756 // of 11757 // interest. At most 10 bounding polygons will be used. 11758 // 11759 // The provided shape is converted into a non-rotated rectangle. 11760 // Once 11761 // converted, the small edge of the rectangle must be greater than or 11762 // equal 11763 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 11764 // 1:5 11765 // is not). 11766 BoundingPolys []*GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPolys,omitempty"` 11767 11768 // Name: The resource name of the reference image. 11769 // 11770 // Format 11771 // is: 11772 // 11773 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 11774 // ceImages/IMAGE_ID`. 11775 // 11776 // This field is ignored when creating a reference image. 11777 Name string `json:"name,omitempty"` 11778 11779 // Uri: Required. The Google Cloud Storage URI of the reference 11780 // image. 11781 // 11782 // The URI must start with `gs://`. 11783 Uri string `json:"uri,omitempty"` 11784 11785 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 11786 // unconditionally include in API requests. By default, fields with 11787 // empty values are omitted from API requests. However, any non-pointer, 11788 // non-interface field appearing in ForceSendFields will be sent to the 11789 // server regardless of whether the field is empty or not. This may be 11790 // used to include empty fields in Patch requests. 11791 ForceSendFields []string `json:"-"` 11792 11793 // NullFields is a list of field names (e.g. "BoundingPolys") to include 11794 // in API requests with the JSON null value. By default, fields with 11795 // empty values are omitted from API requests. However, any field with 11796 // an empty value appearing in NullFields will be sent to the server as 11797 // null. It is an error if a field in this list has a non-empty value. 11798 // This may be used to include null fields in Patch requests. 11799 NullFields []string `json:"-"` 11800} 11801 11802func (s *GoogleCloudVisionV1p4beta1ReferenceImage) MarshalJSON() ([]byte, error) { 11803 type NoMethod GoogleCloudVisionV1p4beta1ReferenceImage 11804 raw := NoMethod(*s) 11805 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11806} 11807 11808// GoogleCloudVisionV1p4beta1SafeSearchAnnotation: Set of features 11809// pertaining to the image, computed by computer vision 11810// methods over safe-search verticals (for example, adult, spoof, 11811// medical, 11812// violence). 11813type GoogleCloudVisionV1p4beta1SafeSearchAnnotation struct { 11814 // Adult: Represents the adult content likelihood for the image. Adult 11815 // content may 11816 // contain elements such as nudity, pornographic images or cartoons, 11817 // or 11818 // sexual activities. 11819 // 11820 // Possible values: 11821 // "UNKNOWN" - Unknown likelihood. 11822 // "VERY_UNLIKELY" - It is very unlikely. 11823 // "UNLIKELY" - It is unlikely. 11824 // "POSSIBLE" - It is possible. 11825 // "LIKELY" - It is likely. 11826 // "VERY_LIKELY" - It is very likely. 11827 Adult string `json:"adult,omitempty"` 11828 11829 // Medical: Likelihood that this is a medical image. 11830 // 11831 // Possible values: 11832 // "UNKNOWN" - Unknown likelihood. 11833 // "VERY_UNLIKELY" - It is very unlikely. 11834 // "UNLIKELY" - It is unlikely. 11835 // "POSSIBLE" - It is possible. 11836 // "LIKELY" - It is likely. 11837 // "VERY_LIKELY" - It is very likely. 11838 Medical string `json:"medical,omitempty"` 11839 11840 // Racy: Likelihood that the request image contains racy content. Racy 11841 // content may 11842 // include (but is not limited to) skimpy or sheer clothing, 11843 // strategically 11844 // covered nudity, lewd or provocative poses, or close-ups of 11845 // sensitive 11846 // body areas. 11847 // 11848 // Possible values: 11849 // "UNKNOWN" - Unknown likelihood. 11850 // "VERY_UNLIKELY" - It is very unlikely. 11851 // "UNLIKELY" - It is unlikely. 11852 // "POSSIBLE" - It is possible. 11853 // "LIKELY" - It is likely. 11854 // "VERY_LIKELY" - It is very likely. 11855 Racy string `json:"racy,omitempty"` 11856 11857 // Spoof: Spoof likelihood. The likelihood that an modification 11858 // was made to the image's canonical version to make it appear 11859 // funny or offensive. 11860 // 11861 // Possible values: 11862 // "UNKNOWN" - Unknown likelihood. 11863 // "VERY_UNLIKELY" - It is very unlikely. 11864 // "UNLIKELY" - It is unlikely. 11865 // "POSSIBLE" - It is possible. 11866 // "LIKELY" - It is likely. 11867 // "VERY_LIKELY" - It is very likely. 11868 Spoof string `json:"spoof,omitempty"` 11869 11870 // Violence: Likelihood that this image contains violent content. 11871 // 11872 // Possible values: 11873 // "UNKNOWN" - Unknown likelihood. 11874 // "VERY_UNLIKELY" - It is very unlikely. 11875 // "UNLIKELY" - It is unlikely. 11876 // "POSSIBLE" - It is possible. 11877 // "LIKELY" - It is likely. 11878 // "VERY_LIKELY" - It is very likely. 11879 Violence string `json:"violence,omitempty"` 11880 11881 // ForceSendFields is a list of field names (e.g. "Adult") to 11882 // unconditionally include in API requests. By default, fields with 11883 // empty values are omitted from API requests. However, any non-pointer, 11884 // non-interface field appearing in ForceSendFields will be sent to the 11885 // server regardless of whether the field is empty or not. This may be 11886 // used to include empty fields in Patch requests. 11887 ForceSendFields []string `json:"-"` 11888 11889 // NullFields is a list of field names (e.g. "Adult") to include in API 11890 // requests with the JSON null value. By default, fields with empty 11891 // values are omitted from API requests. However, any field with an 11892 // empty value appearing in NullFields will be sent to the server as 11893 // null. It is an error if a field in this list has a non-empty value. 11894 // This may be used to include null fields in Patch requests. 11895 NullFields []string `json:"-"` 11896} 11897 11898func (s *GoogleCloudVisionV1p4beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 11899 type NoMethod GoogleCloudVisionV1p4beta1SafeSearchAnnotation 11900 raw := NoMethod(*s) 11901 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11902} 11903 11904// GoogleCloudVisionV1p4beta1Symbol: A single symbol representation. 11905type GoogleCloudVisionV1p4beta1Symbol struct { 11906 // BoundingBox: The bounding box for the symbol. 11907 // The vertices are in the order of top-left, top-right, 11908 // bottom-right, 11909 // bottom-left. When a rotation of the bounding box is detected the 11910 // rotation 11911 // is represented as around the top-left corner as defined when the text 11912 // is 11913 // read in the 'natural' orientation. 11914 // For example: 11915 // * when the text is horizontal it might look like: 11916 // 0----1 11917 // | | 11918 // 3----2 11919 // * when it's rotated 180 degrees around the top-left corner it 11920 // becomes: 11921 // 2----3 11922 // | | 11923 // 1----0 11924 // and the vertex order will still be (0, 1, 2, 3). 11925 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 11926 11927 // Confidence: Confidence of the OCR results for the symbol. Range [0, 11928 // 1]. 11929 Confidence float64 `json:"confidence,omitempty"` 11930 11931 // Property: Additional information detected for the symbol. 11932 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11933 11934 // Text: The actual UTF-8 representation of the symbol. 11935 Text string `json:"text,omitempty"` 11936 11937 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 11938 // unconditionally include in API requests. By default, fields with 11939 // empty values are omitted from API requests. However, any non-pointer, 11940 // non-interface field appearing in ForceSendFields will be sent to the 11941 // server regardless of whether the field is empty or not. This may be 11942 // used to include empty fields in Patch requests. 11943 ForceSendFields []string `json:"-"` 11944 11945 // NullFields is a list of field names (e.g. "BoundingBox") to include 11946 // in API requests with the JSON null value. By default, fields with 11947 // empty values are omitted from API requests. However, any field with 11948 // an empty value appearing in NullFields will be sent to the server as 11949 // null. It is an error if a field in this list has a non-empty value. 11950 // This may be used to include null fields in Patch requests. 11951 NullFields []string `json:"-"` 11952} 11953 11954func (s *GoogleCloudVisionV1p4beta1Symbol) MarshalJSON() ([]byte, error) { 11955 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11956 raw := NoMethod(*s) 11957 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11958} 11959 11960func (s *GoogleCloudVisionV1p4beta1Symbol) UnmarshalJSON(data []byte) error { 11961 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11962 var s1 struct { 11963 Confidence gensupport.JSONFloat64 `json:"confidence"` 11964 *NoMethod 11965 } 11966 s1.NoMethod = (*NoMethod)(s) 11967 if err := json.Unmarshal(data, &s1); err != nil { 11968 return err 11969 } 11970 s.Confidence = float64(s1.Confidence) 11971 return nil 11972} 11973 11974// GoogleCloudVisionV1p4beta1TextAnnotation: TextAnnotation contains a 11975// structured representation of OCR extracted text. 11976// The hierarchy of an OCR extracted text structure is like this: 11977// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 11978// Symbol 11979// Each structural component, starting from Page, may further have their 11980// own 11981// properties. Properties describe detected languages, breaks etc.. 11982// Please refer 11983// to the TextAnnotation.TextProperty message definition below for 11984// more 11985// detail. 11986type GoogleCloudVisionV1p4beta1TextAnnotation struct { 11987 // Pages: List of pages detected by OCR. 11988 Pages []*GoogleCloudVisionV1p4beta1Page `json:"pages,omitempty"` 11989 11990 // Text: UTF-8 text detected on the pages. 11991 Text string `json:"text,omitempty"` 11992 11993 // ForceSendFields is a list of field names (e.g. "Pages") to 11994 // unconditionally include in API requests. By default, fields with 11995 // empty values are omitted from API requests. However, any non-pointer, 11996 // non-interface field appearing in ForceSendFields will be sent to the 11997 // server regardless of whether the field is empty or not. This may be 11998 // used to include empty fields in Patch requests. 11999 ForceSendFields []string `json:"-"` 12000 12001 // NullFields is a list of field names (e.g. "Pages") to include in API 12002 // requests with the JSON null value. By default, fields with empty 12003 // values are omitted from API requests. However, any field with an 12004 // empty value appearing in NullFields will be sent to the server as 12005 // null. It is an error if a field in this list has a non-empty value. 12006 // This may be used to include null fields in Patch requests. 12007 NullFields []string `json:"-"` 12008} 12009 12010func (s *GoogleCloudVisionV1p4beta1TextAnnotation) MarshalJSON() ([]byte, error) { 12011 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotation 12012 raw := NoMethod(*s) 12013 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12014} 12015 12016// GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak: Detected start 12017// or end of a structural component. 12018type GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak struct { 12019 // IsPrefix: True if break prepends the element. 12020 IsPrefix bool `json:"isPrefix,omitempty"` 12021 12022 // Type: Detected break type. 12023 // 12024 // Possible values: 12025 // "UNKNOWN" - Unknown break label type. 12026 // "SPACE" - Regular space. 12027 // "SURE_SPACE" - Sure space (very wide). 12028 // "EOL_SURE_SPACE" - Line-wrapping break. 12029 // "HYPHEN" - End-line hyphen that is not present in text; does not 12030 // co-occur with 12031 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 12032 // "LINE_BREAK" - Line break that ends a paragraph. 12033 Type string `json:"type,omitempty"` 12034 12035 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 12036 // unconditionally include in API requests. By default, fields with 12037 // empty values are omitted from API requests. However, any non-pointer, 12038 // non-interface field appearing in ForceSendFields will be sent to the 12039 // server regardless of whether the field is empty or not. This may be 12040 // used to include empty fields in Patch requests. 12041 ForceSendFields []string `json:"-"` 12042 12043 // NullFields is a list of field names (e.g. "IsPrefix") to include in 12044 // API requests with the JSON null value. By default, fields with empty 12045 // values are omitted from API requests. However, any field with an 12046 // empty value appearing in NullFields will be sent to the server as 12047 // null. It is an error if a field in this list has a non-empty value. 12048 // This may be used to include null fields in Patch requests. 12049 NullFields []string `json:"-"` 12050} 12051 12052func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 12053 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak 12054 raw := NoMethod(*s) 12055 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12056} 12057 12058// GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage: Detected 12059// language for a structural component. 12060type GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage struct { 12061 // Confidence: Confidence of detected language. Range [0, 1]. 12062 Confidence float64 `json:"confidence,omitempty"` 12063 12064 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 12065 // For more 12066 // information, 12067 // see 12068 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 12069 LanguageCode string `json:"languageCode,omitempty"` 12070 12071 // ForceSendFields is a list of field names (e.g. "Confidence") to 12072 // unconditionally include in API requests. By default, fields with 12073 // empty values are omitted from API requests. However, any non-pointer, 12074 // non-interface field appearing in ForceSendFields will be sent to the 12075 // server regardless of whether the field is empty or not. This may be 12076 // used to include empty fields in Patch requests. 12077 ForceSendFields []string `json:"-"` 12078 12079 // NullFields is a list of field names (e.g. "Confidence") to include in 12080 // API requests with the JSON null value. By default, fields with empty 12081 // values are omitted from API requests. However, any field with an 12082 // empty value appearing in NullFields will be sent to the server as 12083 // null. It is an error if a field in this list has a non-empty value. 12084 // This may be used to include null fields in Patch requests. 12085 NullFields []string `json:"-"` 12086} 12087 12088func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 12089 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 12090 raw := NoMethod(*s) 12091 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12092} 12093 12094func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 12095 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 12096 var s1 struct { 12097 Confidence gensupport.JSONFloat64 `json:"confidence"` 12098 *NoMethod 12099 } 12100 s1.NoMethod = (*NoMethod)(s) 12101 if err := json.Unmarshal(data, &s1); err != nil { 12102 return err 12103 } 12104 s.Confidence = float64(s1.Confidence) 12105 return nil 12106} 12107 12108// GoogleCloudVisionV1p4beta1TextAnnotationTextProperty: Additional 12109// information detected on the structural component. 12110type GoogleCloudVisionV1p4beta1TextAnnotationTextProperty struct { 12111 // DetectedBreak: Detected start or end of a text segment. 12112 DetectedBreak *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 12113 12114 // DetectedLanguages: A list of detected languages together with 12115 // confidence. 12116 DetectedLanguages []*GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 12117 12118 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 12119 // unconditionally include in API requests. By default, fields with 12120 // empty values are omitted from API requests. However, any non-pointer, 12121 // non-interface field appearing in ForceSendFields will be sent to the 12122 // server regardless of whether the field is empty or not. This may be 12123 // used to include empty fields in Patch requests. 12124 ForceSendFields []string `json:"-"` 12125 12126 // NullFields is a list of field names (e.g. "DetectedBreak") to include 12127 // in API requests with the JSON null value. By default, fields with 12128 // empty values are omitted from API requests. However, any field with 12129 // an empty value appearing in NullFields will be sent to the server as 12130 // null. It is an error if a field in this list has a non-empty value. 12131 // This may be used to include null fields in Patch requests. 12132 NullFields []string `json:"-"` 12133} 12134 12135func (s *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 12136 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationTextProperty 12137 raw := NoMethod(*s) 12138 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12139} 12140 12141// GoogleCloudVisionV1p4beta1Vertex: A vertex represents a 2D point in 12142// the image. 12143// NOTE: the vertex coordinates are in the same scale as the original 12144// image. 12145type GoogleCloudVisionV1p4beta1Vertex struct { 12146 // X: X coordinate. 12147 X int64 `json:"x,omitempty"` 12148 12149 // Y: Y coordinate. 12150 Y int64 `json:"y,omitempty"` 12151 12152 // ForceSendFields is a list of field names (e.g. "X") to 12153 // unconditionally include in API requests. By default, fields with 12154 // empty values are omitted from API requests. However, any non-pointer, 12155 // non-interface field appearing in ForceSendFields will be sent to the 12156 // server regardless of whether the field is empty or not. This may be 12157 // used to include empty fields in Patch requests. 12158 ForceSendFields []string `json:"-"` 12159 12160 // NullFields is a list of field names (e.g. "X") to include in API 12161 // requests with the JSON null value. By default, fields with empty 12162 // values are omitted from API requests. However, any field with an 12163 // empty value appearing in NullFields will be sent to the server as 12164 // null. It is an error if a field in this list has a non-empty value. 12165 // This may be used to include null fields in Patch requests. 12166 NullFields []string `json:"-"` 12167} 12168 12169func (s *GoogleCloudVisionV1p4beta1Vertex) MarshalJSON() ([]byte, error) { 12170 type NoMethod GoogleCloudVisionV1p4beta1Vertex 12171 raw := NoMethod(*s) 12172 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12173} 12174 12175// GoogleCloudVisionV1p4beta1WebDetection: Relevant information for the 12176// image from the Internet. 12177type GoogleCloudVisionV1p4beta1WebDetection struct { 12178 // BestGuessLabels: The service's best guess as to the topic of the 12179 // request image. 12180 // Inferred from similar images on the open web. 12181 BestGuessLabels []*GoogleCloudVisionV1p4beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 12182 12183 // FullMatchingImages: Fully matching images from the Internet. 12184 // Can include resized copies of the query image. 12185 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 12186 12187 // PagesWithMatchingImages: Web pages containing the matching images 12188 // from the Internet. 12189 PagesWithMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 12190 12191 // PartialMatchingImages: Partial matching images from the 12192 // Internet. 12193 // Those images are similar enough to share some key-point features. 12194 // For 12195 // example an original image will likely have partial matching for its 12196 // crops. 12197 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 12198 12199 // VisuallySimilarImages: The visually similar image results. 12200 VisuallySimilarImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 12201 12202 // WebEntities: Deduced entities from similar images on the Internet. 12203 WebEntities []*GoogleCloudVisionV1p4beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 12204 12205 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 12206 // unconditionally include in API requests. By default, fields with 12207 // empty values are omitted from API requests. However, any non-pointer, 12208 // non-interface field appearing in ForceSendFields will be sent to the 12209 // server regardless of whether the field is empty or not. This may be 12210 // used to include empty fields in Patch requests. 12211 ForceSendFields []string `json:"-"` 12212 12213 // NullFields is a list of field names (e.g. "BestGuessLabels") to 12214 // include in API requests with the JSON null value. By default, fields 12215 // with empty values are omitted from API requests. However, any field 12216 // with an empty value appearing in NullFields will be sent to the 12217 // server as null. It is an error if a field in this list has a 12218 // non-empty value. This may be used to include null fields in Patch 12219 // requests. 12220 NullFields []string `json:"-"` 12221} 12222 12223func (s *GoogleCloudVisionV1p4beta1WebDetection) MarshalJSON() ([]byte, error) { 12224 type NoMethod GoogleCloudVisionV1p4beta1WebDetection 12225 raw := NoMethod(*s) 12226 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12227} 12228 12229// GoogleCloudVisionV1p4beta1WebDetectionWebEntity: Entity deduced from 12230// similar images on the Internet. 12231type GoogleCloudVisionV1p4beta1WebDetectionWebEntity struct { 12232 // Description: Canonical description of the entity, in English. 12233 Description string `json:"description,omitempty"` 12234 12235 // EntityId: Opaque entity ID. 12236 EntityId string `json:"entityId,omitempty"` 12237 12238 // Score: Overall relevancy score for the entity. 12239 // Not normalized and not comparable across different image queries. 12240 Score float64 `json:"score,omitempty"` 12241 12242 // ForceSendFields is a list of field names (e.g. "Description") to 12243 // unconditionally include in API requests. By default, fields with 12244 // empty values are omitted from API requests. However, any non-pointer, 12245 // non-interface field appearing in ForceSendFields will be sent to the 12246 // server regardless of whether the field is empty or not. This may be 12247 // used to include empty fields in Patch requests. 12248 ForceSendFields []string `json:"-"` 12249 12250 // NullFields is a list of field names (e.g. "Description") 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 *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 12260 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 12261 raw := NoMethod(*s) 12262 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12263} 12264 12265func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 12266 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 12267 var s1 struct { 12268 Score gensupport.JSONFloat64 `json:"score"` 12269 *NoMethod 12270 } 12271 s1.NoMethod = (*NoMethod)(s) 12272 if err := json.Unmarshal(data, &s1); err != nil { 12273 return err 12274 } 12275 s.Score = float64(s1.Score) 12276 return nil 12277} 12278 12279// GoogleCloudVisionV1p4beta1WebDetectionWebImage: Metadata for online 12280// images. 12281type GoogleCloudVisionV1p4beta1WebDetectionWebImage struct { 12282 // Score: (Deprecated) Overall relevancy score for the image. 12283 Score float64 `json:"score,omitempty"` 12284 12285 // Url: The result image URL. 12286 Url string `json:"url,omitempty"` 12287 12288 // ForceSendFields is a list of field names (e.g. "Score") to 12289 // unconditionally include in API requests. By default, fields with 12290 // empty values are omitted from API requests. However, any non-pointer, 12291 // non-interface field appearing in ForceSendFields will be sent to the 12292 // server regardless of whether the field is empty or not. This may be 12293 // used to include empty fields in Patch requests. 12294 ForceSendFields []string `json:"-"` 12295 12296 // NullFields is a list of field names (e.g. "Score") to include in API 12297 // requests with the JSON null value. By default, fields with empty 12298 // values are omitted from API requests. However, any field with an 12299 // empty value appearing in NullFields will be sent to the server as 12300 // null. It is an error if a field in this list has a non-empty value. 12301 // This may be used to include null fields in Patch requests. 12302 NullFields []string `json:"-"` 12303} 12304 12305func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 12306 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 12307 raw := NoMethod(*s) 12308 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12309} 12310 12311func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 12312 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 12313 var s1 struct { 12314 Score gensupport.JSONFloat64 `json:"score"` 12315 *NoMethod 12316 } 12317 s1.NoMethod = (*NoMethod)(s) 12318 if err := json.Unmarshal(data, &s1); err != nil { 12319 return err 12320 } 12321 s.Score = float64(s1.Score) 12322 return nil 12323} 12324 12325// GoogleCloudVisionV1p4beta1WebDetectionWebLabel: Label to provide 12326// extra metadata for the web detection. 12327type GoogleCloudVisionV1p4beta1WebDetectionWebLabel struct { 12328 // Label: Label for extra metadata. 12329 Label string `json:"label,omitempty"` 12330 12331 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 12332 // or "sr-Latn". 12333 // For more information, 12334 // see 12335 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 12336 LanguageCode string `json:"languageCode,omitempty"` 12337 12338 // ForceSendFields is a list of field names (e.g. "Label") to 12339 // unconditionally include in API requests. By default, fields with 12340 // empty values are omitted from API requests. However, any non-pointer, 12341 // non-interface field appearing in ForceSendFields will be sent to the 12342 // server regardless of whether the field is empty or not. This may be 12343 // used to include empty fields in Patch requests. 12344 ForceSendFields []string `json:"-"` 12345 12346 // NullFields is a list of field names (e.g. "Label") to include in API 12347 // requests with the JSON null value. By default, fields with empty 12348 // values are omitted from API requests. However, any field with an 12349 // empty value appearing in NullFields will be sent to the server as 12350 // null. It is an error if a field in this list has a non-empty value. 12351 // This may be used to include null fields in Patch requests. 12352 NullFields []string `json:"-"` 12353} 12354 12355func (s *GoogleCloudVisionV1p4beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 12356 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebLabel 12357 raw := NoMethod(*s) 12358 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12359} 12360 12361// GoogleCloudVisionV1p4beta1WebDetectionWebPage: Metadata for web 12362// pages. 12363type GoogleCloudVisionV1p4beta1WebDetectionWebPage struct { 12364 // FullMatchingImages: Fully matching images on the page. 12365 // Can include resized copies of the query image. 12366 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 12367 12368 // PageTitle: Title for the web page, may contain HTML markups. 12369 PageTitle string `json:"pageTitle,omitempty"` 12370 12371 // PartialMatchingImages: Partial matching images on the page. 12372 // Those images are similar enough to share some key-point features. 12373 // For 12374 // example an original image will likely have partial matching for 12375 // its 12376 // crops. 12377 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 12378 12379 // Score: (Deprecated) Overall relevancy score for the web page. 12380 Score float64 `json:"score,omitempty"` 12381 12382 // Url: The result web page URL. 12383 Url string `json:"url,omitempty"` 12384 12385 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 12386 // to unconditionally include in API requests. By default, fields with 12387 // empty values are omitted from API requests. However, any non-pointer, 12388 // non-interface field appearing in ForceSendFields will be sent to the 12389 // server regardless of whether the field is empty or not. This may be 12390 // used to include empty fields in Patch requests. 12391 ForceSendFields []string `json:"-"` 12392 12393 // NullFields is a list of field names (e.g. "FullMatchingImages") to 12394 // include in API requests with the JSON null value. By default, fields 12395 // with empty values are omitted from API requests. However, any field 12396 // with an empty value appearing in NullFields will be sent to the 12397 // server as null. It is an error if a field in this list has a 12398 // non-empty value. This may be used to include null fields in Patch 12399 // requests. 12400 NullFields []string `json:"-"` 12401} 12402 12403func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 12404 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 12405 raw := NoMethod(*s) 12406 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12407} 12408 12409func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 12410 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 12411 var s1 struct { 12412 Score gensupport.JSONFloat64 `json:"score"` 12413 *NoMethod 12414 } 12415 s1.NoMethod = (*NoMethod)(s) 12416 if err := json.Unmarshal(data, &s1); err != nil { 12417 return err 12418 } 12419 s.Score = float64(s1.Score) 12420 return nil 12421} 12422 12423// GoogleCloudVisionV1p4beta1Word: A word representation. 12424type GoogleCloudVisionV1p4beta1Word struct { 12425 // BoundingBox: The bounding box for the word. 12426 // The vertices are in the order of top-left, top-right, 12427 // bottom-right, 12428 // bottom-left. When a rotation of the bounding box is detected the 12429 // rotation 12430 // is represented as around the top-left corner as defined when the text 12431 // is 12432 // read in the 'natural' orientation. 12433 // For example: 12434 // * when the text is horizontal it might look like: 12435 // 0----1 12436 // | | 12437 // 3----2 12438 // * when it's rotated 180 degrees around the top-left corner it 12439 // becomes: 12440 // 2----3 12441 // | | 12442 // 1----0 12443 // and the vertex order will still be (0, 1, 2, 3). 12444 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 12445 12446 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 12447 Confidence float64 `json:"confidence,omitempty"` 12448 12449 // Property: Additional information detected for the word. 12450 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 12451 12452 // Symbols: List of symbols in the word. 12453 // The order of the symbols follows the natural reading order. 12454 Symbols []*GoogleCloudVisionV1p4beta1Symbol `json:"symbols,omitempty"` 12455 12456 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 12457 // unconditionally include in API requests. By default, fields with 12458 // empty values are omitted from API requests. However, any non-pointer, 12459 // non-interface field appearing in ForceSendFields will be sent to the 12460 // server regardless of whether the field is empty or not. This may be 12461 // used to include empty fields in Patch requests. 12462 ForceSendFields []string `json:"-"` 12463 12464 // NullFields is a list of field names (e.g. "BoundingBox") to include 12465 // in API requests with the JSON null value. By default, fields with 12466 // empty values are omitted from API requests. However, any field with 12467 // an empty value appearing in NullFields will be sent to the server as 12468 // null. It is an error if a field in this list has a non-empty value. 12469 // This may be used to include null fields in Patch requests. 12470 NullFields []string `json:"-"` 12471} 12472 12473func (s *GoogleCloudVisionV1p4beta1Word) MarshalJSON() ([]byte, error) { 12474 type NoMethod GoogleCloudVisionV1p4beta1Word 12475 raw := NoMethod(*s) 12476 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12477} 12478 12479func (s *GoogleCloudVisionV1p4beta1Word) UnmarshalJSON(data []byte) error { 12480 type NoMethod GoogleCloudVisionV1p4beta1Word 12481 var s1 struct { 12482 Confidence gensupport.JSONFloat64 `json:"confidence"` 12483 *NoMethod 12484 } 12485 s1.NoMethod = (*NoMethod)(s) 12486 if err := json.Unmarshal(data, &s1); err != nil { 12487 return err 12488 } 12489 s.Confidence = float64(s1.Confidence) 12490 return nil 12491} 12492 12493// GroupedResult: Information about the products similar to a single 12494// product in a query 12495// image. 12496type GroupedResult struct { 12497 // BoundingPoly: The bounding polygon around the product detected in the 12498 // query image. 12499 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 12500 12501 // ObjectAnnotations: List of generic predictions for the object in the 12502 // bounding box. 12503 ObjectAnnotations []*ObjectAnnotation `json:"objectAnnotations,omitempty"` 12504 12505 // Results: List of results, one for each product match. 12506 Results []*Result `json:"results,omitempty"` 12507 12508 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 12509 // unconditionally include in API requests. By default, fields with 12510 // empty values are omitted from API requests. However, any non-pointer, 12511 // non-interface field appearing in ForceSendFields will be sent to the 12512 // server regardless of whether the field is empty or not. This may be 12513 // used to include empty fields in Patch requests. 12514 ForceSendFields []string `json:"-"` 12515 12516 // NullFields is a list of field names (e.g. "BoundingPoly") to include 12517 // in API requests with the JSON null value. By default, fields with 12518 // empty values are omitted from API requests. However, any field with 12519 // an empty value appearing in NullFields will be sent to the server as 12520 // null. It is an error if a field in this list has a non-empty value. 12521 // This may be used to include null fields in Patch requests. 12522 NullFields []string `json:"-"` 12523} 12524 12525func (s *GroupedResult) MarshalJSON() ([]byte, error) { 12526 type NoMethod GroupedResult 12527 raw := NoMethod(*s) 12528 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12529} 12530 12531// Image: Client image to perform Google Cloud Vision API tasks over. 12532type Image struct { 12533 // Content: Image content, represented as a stream of bytes. 12534 // Note: As with all `bytes` fields, protobuffers use a pure 12535 // binary 12536 // representation, whereas JSON representations use base64. 12537 Content string `json:"content,omitempty"` 12538 12539 // Source: Google Cloud Storage image location, or publicly-accessible 12540 // image 12541 // URL. If both `content` and `source` are provided for an image, 12542 // `content` 12543 // takes precedence and is used to perform the image annotation request. 12544 Source *ImageSource `json:"source,omitempty"` 12545 12546 // ForceSendFields is a list of field names (e.g. "Content") to 12547 // unconditionally include in API requests. By default, fields with 12548 // empty values are omitted from API requests. However, any non-pointer, 12549 // non-interface field appearing in ForceSendFields will be sent to the 12550 // server regardless of whether the field is empty or not. This may be 12551 // used to include empty fields in Patch requests. 12552 ForceSendFields []string `json:"-"` 12553 12554 // NullFields is a list of field names (e.g. "Content") to include in 12555 // API requests with the JSON null value. By default, fields with empty 12556 // values are omitted from API requests. However, any field with an 12557 // empty value appearing in NullFields will be sent to the server as 12558 // null. It is an error if a field in this list has a non-empty value. 12559 // This may be used to include null fields in Patch requests. 12560 NullFields []string `json:"-"` 12561} 12562 12563func (s *Image) MarshalJSON() ([]byte, error) { 12564 type NoMethod Image 12565 raw := NoMethod(*s) 12566 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12567} 12568 12569// ImageAnnotationContext: If an image was produced from a file (e.g. a 12570// PDF), this message gives 12571// information about the source of that image. 12572type ImageAnnotationContext struct { 12573 // PageNumber: If the file was a PDF or TIFF, this field gives the page 12574 // number within 12575 // the file used to produce the image. 12576 PageNumber int64 `json:"pageNumber,omitempty"` 12577 12578 // Uri: The URI of the file used to produce the image. 12579 Uri string `json:"uri,omitempty"` 12580 12581 // ForceSendFields is a list of field names (e.g. "PageNumber") to 12582 // unconditionally include in API requests. By default, fields with 12583 // empty values are omitted from API requests. However, any non-pointer, 12584 // non-interface field appearing in ForceSendFields will be sent to the 12585 // server regardless of whether the field is empty or not. This may be 12586 // used to include empty fields in Patch requests. 12587 ForceSendFields []string `json:"-"` 12588 12589 // NullFields is a list of field names (e.g. "PageNumber") to include in 12590 // API requests with the JSON null value. By default, fields with empty 12591 // values are omitted from API requests. However, any field with an 12592 // empty value appearing in NullFields will be sent to the server as 12593 // null. It is an error if a field in this list has a non-empty value. 12594 // This may be used to include null fields in Patch requests. 12595 NullFields []string `json:"-"` 12596} 12597 12598func (s *ImageAnnotationContext) MarshalJSON() ([]byte, error) { 12599 type NoMethod ImageAnnotationContext 12600 raw := NoMethod(*s) 12601 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12602} 12603 12604// ImageContext: Image context and/or feature-specific parameters. 12605type ImageContext struct { 12606 // CropHintsParams: Parameters for crop hints annotation request. 12607 CropHintsParams *CropHintsParams `json:"cropHintsParams,omitempty"` 12608 12609 // LanguageHints: List of languages to use for TEXT_DETECTION. In most 12610 // cases, an empty value 12611 // yields the best results since it enables automatic language 12612 // detection. For 12613 // languages based on the Latin alphabet, setting `language_hints` is 12614 // not 12615 // needed. In rare cases, when the language of the text in the image is 12616 // known, 12617 // setting a hint will help get better results (although it will be 12618 // a 12619 // significant hindrance if the hint is wrong). Text detection returns 12620 // an 12621 // error if one or more of the specified languages is not one of 12622 // the 12623 // [supported languages](/vision/docs/languages). 12624 LanguageHints []string `json:"languageHints,omitempty"` 12625 12626 // LatLongRect: Not used. 12627 LatLongRect *LatLongRect `json:"latLongRect,omitempty"` 12628 12629 // ProductSearchParams: Parameters for product search. 12630 ProductSearchParams *ProductSearchParams `json:"productSearchParams,omitempty"` 12631 12632 // WebDetectionParams: Parameters for web detection. 12633 WebDetectionParams *WebDetectionParams `json:"webDetectionParams,omitempty"` 12634 12635 // ForceSendFields is a list of field names (e.g. "CropHintsParams") to 12636 // unconditionally include in API requests. By default, fields with 12637 // empty values are omitted from API requests. However, any non-pointer, 12638 // non-interface field appearing in ForceSendFields will be sent to the 12639 // server regardless of whether the field is empty or not. This may be 12640 // used to include empty fields in Patch requests. 12641 ForceSendFields []string `json:"-"` 12642 12643 // NullFields is a list of field names (e.g. "CropHintsParams") to 12644 // include in API requests with the JSON null value. By default, fields 12645 // with empty values are omitted from API requests. However, any field 12646 // with an empty value appearing in NullFields will be sent to the 12647 // server as null. It is an error if a field in this list has a 12648 // non-empty value. This may be used to include null fields in Patch 12649 // requests. 12650 NullFields []string `json:"-"` 12651} 12652 12653func (s *ImageContext) MarshalJSON() ([]byte, error) { 12654 type NoMethod ImageContext 12655 raw := NoMethod(*s) 12656 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12657} 12658 12659// ImageProperties: Stores image properties, such as dominant colors. 12660type ImageProperties struct { 12661 // DominantColors: If present, dominant colors completed successfully. 12662 DominantColors *DominantColorsAnnotation `json:"dominantColors,omitempty"` 12663 12664 // ForceSendFields is a list of field names (e.g. "DominantColors") to 12665 // unconditionally include in API requests. By default, fields with 12666 // empty values are omitted from API requests. However, any non-pointer, 12667 // non-interface field appearing in ForceSendFields will be sent to the 12668 // server regardless of whether the field is empty or not. This may be 12669 // used to include empty fields in Patch requests. 12670 ForceSendFields []string `json:"-"` 12671 12672 // NullFields is a list of field names (e.g. "DominantColors") to 12673 // include in API requests with the JSON null value. By default, fields 12674 // with empty values are omitted from API requests. However, any field 12675 // with an empty value appearing in NullFields will be sent to the 12676 // server as null. It is an error if a field in this list has a 12677 // non-empty value. This may be used to include null fields in Patch 12678 // requests. 12679 NullFields []string `json:"-"` 12680} 12681 12682func (s *ImageProperties) MarshalJSON() ([]byte, error) { 12683 type NoMethod ImageProperties 12684 raw := NoMethod(*s) 12685 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12686} 12687 12688// ImageSource: External image source (Google Cloud Storage or web URL 12689// image location). 12690type ImageSource struct { 12691 // GcsImageUri: **Use `image_uri` instead.** 12692 // 12693 // The Google Cloud Storage URI of the 12694 // form 12695 // `gs://bucket_name/object_name`. Object versioning is not supported. 12696 // See 12697 // [Google Cloud Storage 12698 // Request 12699 // URIs](https://cloud.google.com/storage/docs/reference-uris) for more 12700 // info. 12701 GcsImageUri string `json:"gcsImageUri,omitempty"` 12702 12703 // ImageUri: The URI of the source image. Can be either: 12704 // 12705 // 1. A Google Cloud Storage URI of the form 12706 // `gs://bucket_name/object_name`. Object versioning is not 12707 // supported. See 12708 // [Google Cloud Storage Request 12709 // URIs](https://cloud.google.com/storage/docs/reference-uris) for 12710 // more 12711 // info. 12712 // 12713 // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images 12714 // from 12715 // HTTP/HTTPS URLs, Google cannot guarantee that the request will be 12716 // completed. Your request may fail if the specified host denies the 12717 // request (e.g. due to request throttling or DOS prevention), or if 12718 // Google 12719 // throttles requests to the site for abuse prevention. You should 12720 // not 12721 // depend on externally-hosted images for production 12722 // applications. 12723 // 12724 // When both `gcs_image_uri` and `image_uri` are specified, `image_uri` 12725 // takes 12726 // precedence. 12727 ImageUri string `json:"imageUri,omitempty"` 12728 12729 // ForceSendFields is a list of field names (e.g. "GcsImageUri") to 12730 // unconditionally include in API requests. By default, fields with 12731 // empty values are omitted from API requests. However, any non-pointer, 12732 // non-interface field appearing in ForceSendFields will be sent to the 12733 // server regardless of whether the field is empty or not. This may be 12734 // used to include empty fields in Patch requests. 12735 ForceSendFields []string `json:"-"` 12736 12737 // NullFields is a list of field names (e.g. "GcsImageUri") to include 12738 // in API requests with the JSON null value. By default, fields with 12739 // empty values are omitted from API requests. However, any field with 12740 // an empty value appearing in NullFields will be sent to the server as 12741 // null. It is an error if a field in this list has a non-empty value. 12742 // This may be used to include null fields in Patch requests. 12743 NullFields []string `json:"-"` 12744} 12745 12746func (s *ImageSource) MarshalJSON() ([]byte, error) { 12747 type NoMethod ImageSource 12748 raw := NoMethod(*s) 12749 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12750} 12751 12752// ImportProductSetsGcsSource: The Google Cloud Storage location for a 12753// csv file which preserves a list of 12754// ImportProductSetRequests in each line. 12755type ImportProductSetsGcsSource struct { 12756 // CsvFileUri: The Google Cloud Storage URI of the input csv file. 12757 // 12758 // The URI must start with `gs://`. 12759 // 12760 // The format of the input csv file should be one image per line. 12761 // In each line, there are 8 columns. 12762 // 12763 // 1. image-uri 12764 // 2. image-id 12765 // 3. product-set-id 12766 // 4. product-id 12767 // 5. product-category 12768 // 6. product-display-name 12769 // 7. labels 12770 // 8. bounding-poly 12771 // 12772 // The `image-uri`, `product-set-id`, `product-id`, and 12773 // `product-category` 12774 // columns are required. All other columns are optional. 12775 // 12776 // If the `ProductSet` or `Product` specified by the `product-set-id` 12777 // and 12778 // `product-id` values does not exist, then the system will create a 12779 // new 12780 // `ProductSet` or `Product` for the image. In this case, 12781 // the 12782 // `product-display-name` column refers to 12783 // display_name, the 12784 // `product-category` column refers to 12785 // product_category, and the 12786 // `labels` column refers to product_labels. 12787 // 12788 // The `image-id` column is optional but must be unique if provided. If 12789 // it is 12790 // empty, the system will automatically assign a unique id to the 12791 // image. 12792 // 12793 // The `product-display-name` column is optional. If it is empty, the 12794 // system 12795 // sets the display_name field for the product to a 12796 // space (" "). You can update the `display_name` later by using the 12797 // API. 12798 // 12799 // If a `Product` with the specified `product-id` already exists, then 12800 // the 12801 // system ignores the `product-display-name`, `product-category`, and 12802 // `labels` 12803 // columns. 12804 // 12805 // The `labels` column (optional) is a line containing a list 12806 // of 12807 // comma-separated key-value pairs, in the following format: 12808 // 12809 // "key_1=value_1,key_2=value_2,...,key_n=value_n" 12810 // 12811 // The `bounding-poly` column (optional) identifies one region 12812 // of 12813 // interest from the image in the same manner as `CreateReferenceImage`. 12814 // If 12815 // you do not specify the `bounding-poly` column, then the system will 12816 // try to 12817 // detect regions of interest automatically. 12818 // 12819 // At most one `bounding-poly` column is allowed per line. If the 12820 // image 12821 // contains multiple regions of interest, add a line to the CSV file 12822 // that 12823 // includes the same product information, and the `bounding-poly` values 12824 // for 12825 // each region of interest. 12826 // 12827 // The `bounding-poly` column must contain an even number of 12828 // comma-separated 12829 // numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". 12830 // Use 12831 // non-negative integers for absolute bounding polygons, and float 12832 // values 12833 // in [0, 1] for normalized bounding polygons. 12834 // 12835 // The system will resize the image if the image resolution is too 12836 // large to process (larger than 20MP). 12837 CsvFileUri string `json:"csvFileUri,omitempty"` 12838 12839 // ForceSendFields is a list of field names (e.g. "CsvFileUri") to 12840 // unconditionally include in API requests. By default, fields with 12841 // empty values are omitted from API requests. However, any non-pointer, 12842 // non-interface field appearing in ForceSendFields will be sent to the 12843 // server regardless of whether the field is empty or not. This may be 12844 // used to include empty fields in Patch requests. 12845 ForceSendFields []string `json:"-"` 12846 12847 // NullFields is a list of field names (e.g. "CsvFileUri") to include in 12848 // API requests with the JSON null value. By default, fields with empty 12849 // values are omitted from API requests. However, any field with an 12850 // empty value appearing in NullFields will be sent to the server as 12851 // null. It is an error if a field in this list has a non-empty value. 12852 // This may be used to include null fields in Patch requests. 12853 NullFields []string `json:"-"` 12854} 12855 12856func (s *ImportProductSetsGcsSource) MarshalJSON() ([]byte, error) { 12857 type NoMethod ImportProductSetsGcsSource 12858 raw := NoMethod(*s) 12859 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12860} 12861 12862// ImportProductSetsInputConfig: The input content for the 12863// `ImportProductSets` method. 12864type ImportProductSetsInputConfig struct { 12865 // GcsSource: The Google Cloud Storage location for a csv file which 12866 // preserves a list 12867 // of ImportProductSetRequests in each line. 12868 GcsSource *ImportProductSetsGcsSource `json:"gcsSource,omitempty"` 12869 12870 // ForceSendFields is a list of field names (e.g. "GcsSource") to 12871 // unconditionally include in API requests. By default, fields with 12872 // empty values are omitted from API requests. However, any non-pointer, 12873 // non-interface field appearing in ForceSendFields will be sent to the 12874 // server regardless of whether the field is empty or not. This may be 12875 // used to include empty fields in Patch requests. 12876 ForceSendFields []string `json:"-"` 12877 12878 // NullFields is a list of field names (e.g. "GcsSource") to include in 12879 // API requests with the JSON null value. By default, fields with empty 12880 // values are omitted from API requests. However, any field with an 12881 // empty value appearing in NullFields will be sent to the server as 12882 // null. It is an error if a field in this list has a non-empty value. 12883 // This may be used to include null fields in Patch requests. 12884 NullFields []string `json:"-"` 12885} 12886 12887func (s *ImportProductSetsInputConfig) MarshalJSON() ([]byte, error) { 12888 type NoMethod ImportProductSetsInputConfig 12889 raw := NoMethod(*s) 12890 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12891} 12892 12893// ImportProductSetsRequest: Request message for the `ImportProductSets` 12894// method. 12895type ImportProductSetsRequest struct { 12896 // InputConfig: Required. The input content for the list of requests. 12897 InputConfig *ImportProductSetsInputConfig `json:"inputConfig,omitempty"` 12898 12899 // ForceSendFields is a list of field names (e.g. "InputConfig") to 12900 // unconditionally include in API requests. By default, fields with 12901 // empty values are omitted from API requests. However, any non-pointer, 12902 // non-interface field appearing in ForceSendFields will be sent to the 12903 // server regardless of whether the field is empty or not. This may be 12904 // used to include empty fields in Patch requests. 12905 ForceSendFields []string `json:"-"` 12906 12907 // NullFields is a list of field names (e.g. "InputConfig") to include 12908 // in API requests with the JSON null value. By default, fields with 12909 // empty values are omitted from API requests. However, any field with 12910 // an empty value appearing in NullFields will be sent to the server as 12911 // null. It is an error if a field in this list has a non-empty value. 12912 // This may be used to include null fields in Patch requests. 12913 NullFields []string `json:"-"` 12914} 12915 12916func (s *ImportProductSetsRequest) MarshalJSON() ([]byte, error) { 12917 type NoMethod ImportProductSetsRequest 12918 raw := NoMethod(*s) 12919 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12920} 12921 12922// ImportProductSetsResponse: Response message for the 12923// `ImportProductSets` method. 12924// 12925// This message is returned by 12926// the 12927// google.longrunning.Operations.GetOperation method in the 12928// returned 12929// google.longrunning.Operation.response field. 12930type ImportProductSetsResponse struct { 12931 // ReferenceImages: The list of reference_images that are imported 12932 // successfully. 12933 ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"` 12934 12935 // Statuses: The rpc status for each ImportProductSet request, including 12936 // both successes 12937 // and errors. 12938 // 12939 // The number of statuses here matches the number of lines in the csv 12940 // file, 12941 // and statuses[i] stores the success or failure status of processing 12942 // the i-th 12943 // line of the csv, starting from line 0. 12944 Statuses []*Status `json:"statuses,omitempty"` 12945 12946 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 12947 // unconditionally include in API requests. By default, fields with 12948 // empty values are omitted from API requests. However, any non-pointer, 12949 // non-interface field appearing in ForceSendFields will be sent to the 12950 // server regardless of whether the field is empty or not. This may be 12951 // used to include empty fields in Patch requests. 12952 ForceSendFields []string `json:"-"` 12953 12954 // NullFields is a list of field names (e.g. "ReferenceImages") to 12955 // include in API requests with the JSON null value. By default, fields 12956 // with empty values are omitted from API requests. However, any field 12957 // with an empty value appearing in NullFields will be sent to the 12958 // server as null. It is an error if a field in this list has a 12959 // non-empty value. This may be used to include null fields in Patch 12960 // requests. 12961 NullFields []string `json:"-"` 12962} 12963 12964func (s *ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 12965 type NoMethod ImportProductSetsResponse 12966 raw := NoMethod(*s) 12967 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12968} 12969 12970// InputConfig: The desired input location and metadata. 12971type InputConfig struct { 12972 // Content: File content, represented as a stream of bytes. 12973 // Note: As with all `bytes` fields, protobuffers use a pure 12974 // binary 12975 // representation, whereas JSON representations use base64. 12976 // 12977 // Currently, this field only works for BatchAnnotateFiles requests. It 12978 // does 12979 // not work for AsyncBatchAnnotateFiles requests. 12980 Content string `json:"content,omitempty"` 12981 12982 // GcsSource: The Google Cloud Storage location to read the input from. 12983 GcsSource *GcsSource `json:"gcsSource,omitempty"` 12984 12985 // MimeType: The type of the file. Currently only "application/pdf", 12986 // "image/tiff" and 12987 // "image/gif" are supported. Wildcards are not supported. 12988 MimeType string `json:"mimeType,omitempty"` 12989 12990 // ForceSendFields is a list of field names (e.g. "Content") to 12991 // unconditionally include in API requests. By default, fields with 12992 // empty values are omitted from API requests. However, any non-pointer, 12993 // non-interface field appearing in ForceSendFields will be sent to the 12994 // server regardless of whether the field is empty or not. This may be 12995 // used to include empty fields in Patch requests. 12996 ForceSendFields []string `json:"-"` 12997 12998 // NullFields is a list of field names (e.g. "Content") to include in 12999 // API requests with the JSON null value. By default, fields with empty 13000 // values are omitted from API requests. However, any field with an 13001 // empty value appearing in NullFields will be sent to the server as 13002 // null. It is an error if a field in this list has a non-empty value. 13003 // This may be used to include null fields in Patch requests. 13004 NullFields []string `json:"-"` 13005} 13006 13007func (s *InputConfig) MarshalJSON() ([]byte, error) { 13008 type NoMethod InputConfig 13009 raw := NoMethod(*s) 13010 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13011} 13012 13013// KeyValue: A product label represented as a key-value pair. 13014type KeyValue struct { 13015 // Key: The key of the label attached to the product. Cannot be empty 13016 // and cannot 13017 // exceed 128 bytes. 13018 Key string `json:"key,omitempty"` 13019 13020 // Value: The value of the label attached to the product. Cannot be 13021 // empty and 13022 // cannot exceed 128 bytes. 13023 Value string `json:"value,omitempty"` 13024 13025 // ForceSendFields is a list of field names (e.g. "Key") to 13026 // unconditionally include in API requests. By default, fields with 13027 // empty values are omitted from API requests. However, any non-pointer, 13028 // non-interface field appearing in ForceSendFields will be sent to the 13029 // server regardless of whether the field is empty or not. This may be 13030 // used to include empty fields in Patch requests. 13031 ForceSendFields []string `json:"-"` 13032 13033 // NullFields is a list of field names (e.g. "Key") to include in API 13034 // requests with the JSON null value. By default, fields with empty 13035 // values are omitted from API requests. However, any field with an 13036 // empty value appearing in NullFields will be sent to the server as 13037 // null. It is an error if a field in this list has a non-empty value. 13038 // This may be used to include null fields in Patch requests. 13039 NullFields []string `json:"-"` 13040} 13041 13042func (s *KeyValue) MarshalJSON() ([]byte, error) { 13043 type NoMethod KeyValue 13044 raw := NoMethod(*s) 13045 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13046} 13047 13048// Landmark: A face-specific landmark (for example, a face feature). 13049type Landmark struct { 13050 // Position: Face landmark position. 13051 Position *Position `json:"position,omitempty"` 13052 13053 // Type: Face landmark type. 13054 // 13055 // Possible values: 13056 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 13057 // filled. 13058 // "LEFT_EYE" - Left eye. 13059 // "RIGHT_EYE" - Right eye. 13060 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 13061 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 13062 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 13063 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 13064 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 13065 // "NOSE_TIP" - Nose tip. 13066 // "UPPER_LIP" - Upper lip. 13067 // "LOWER_LIP" - Lower lip. 13068 // "MOUTH_LEFT" - Mouth left. 13069 // "MOUTH_RIGHT" - Mouth right. 13070 // "MOUTH_CENTER" - Mouth center. 13071 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 13072 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 13073 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 13074 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 13075 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 13076 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 13077 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 13078 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 13079 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 13080 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 13081 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 13082 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 13083 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 13084 // "LEFT_EAR_TRAGION" - Left ear tragion. 13085 // "RIGHT_EAR_TRAGION" - Right ear tragion. 13086 // "LEFT_EYE_PUPIL" - Left eye pupil. 13087 // "RIGHT_EYE_PUPIL" - Right eye pupil. 13088 // "FOREHEAD_GLABELLA" - Forehead glabella. 13089 // "CHIN_GNATHION" - Chin gnathion. 13090 // "CHIN_LEFT_GONION" - Chin left gonion. 13091 // "CHIN_RIGHT_GONION" - Chin right gonion. 13092 Type string `json:"type,omitempty"` 13093 13094 // ForceSendFields is a list of field names (e.g. "Position") to 13095 // unconditionally include in API requests. By default, fields with 13096 // empty values are omitted from API requests. However, any non-pointer, 13097 // non-interface field appearing in ForceSendFields will be sent to the 13098 // server regardless of whether the field is empty or not. This may be 13099 // used to include empty fields in Patch requests. 13100 ForceSendFields []string `json:"-"` 13101 13102 // NullFields is a list of field names (e.g. "Position") to include in 13103 // API requests with the JSON null value. By default, fields with empty 13104 // values are omitted from API requests. However, any field with an 13105 // empty value appearing in NullFields will be sent to the server as 13106 // null. It is an error if a field in this list has a non-empty value. 13107 // This may be used to include null fields in Patch requests. 13108 NullFields []string `json:"-"` 13109} 13110 13111func (s *Landmark) MarshalJSON() ([]byte, error) { 13112 type NoMethod Landmark 13113 raw := NoMethod(*s) 13114 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13115} 13116 13117// LatLng: An object representing a latitude/longitude pair. This is 13118// expressed as a pair 13119// of doubles representing degrees latitude and degrees longitude. 13120// Unless 13121// specified otherwise, this must conform to the 13122// <a 13123// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 13124// st 13125// andard</a>. Values must be within normalized ranges. 13126type LatLng struct { 13127 // Latitude: The latitude in degrees. It must be in the range [-90.0, 13128 // +90.0]. 13129 Latitude float64 `json:"latitude,omitempty"` 13130 13131 // Longitude: The longitude in degrees. It must be in the range [-180.0, 13132 // +180.0]. 13133 Longitude float64 `json:"longitude,omitempty"` 13134 13135 // ForceSendFields is a list of field names (e.g. "Latitude") to 13136 // unconditionally include in API requests. By default, fields with 13137 // empty values are omitted from API requests. However, any non-pointer, 13138 // non-interface field appearing in ForceSendFields will be sent to the 13139 // server regardless of whether the field is empty or not. This may be 13140 // used to include empty fields in Patch requests. 13141 ForceSendFields []string `json:"-"` 13142 13143 // NullFields is a list of field names (e.g. "Latitude") to include in 13144 // API requests with the JSON null value. By default, fields with empty 13145 // values are omitted from API requests. However, any field with an 13146 // empty value appearing in NullFields will be sent to the server as 13147 // null. It is an error if a field in this list has a non-empty value. 13148 // This may be used to include null fields in Patch requests. 13149 NullFields []string `json:"-"` 13150} 13151 13152func (s *LatLng) MarshalJSON() ([]byte, error) { 13153 type NoMethod LatLng 13154 raw := NoMethod(*s) 13155 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13156} 13157 13158func (s *LatLng) UnmarshalJSON(data []byte) error { 13159 type NoMethod LatLng 13160 var s1 struct { 13161 Latitude gensupport.JSONFloat64 `json:"latitude"` 13162 Longitude gensupport.JSONFloat64 `json:"longitude"` 13163 *NoMethod 13164 } 13165 s1.NoMethod = (*NoMethod)(s) 13166 if err := json.Unmarshal(data, &s1); err != nil { 13167 return err 13168 } 13169 s.Latitude = float64(s1.Latitude) 13170 s.Longitude = float64(s1.Longitude) 13171 return nil 13172} 13173 13174// LatLongRect: Rectangle determined by min and max `LatLng` pairs. 13175type LatLongRect struct { 13176 // MaxLatLng: Max lat/long pair. 13177 MaxLatLng *LatLng `json:"maxLatLng,omitempty"` 13178 13179 // MinLatLng: Min lat/long pair. 13180 MinLatLng *LatLng `json:"minLatLng,omitempty"` 13181 13182 // ForceSendFields is a list of field names (e.g. "MaxLatLng") to 13183 // unconditionally include in API requests. By default, fields with 13184 // empty values are omitted from API requests. However, any non-pointer, 13185 // non-interface field appearing in ForceSendFields will be sent to the 13186 // server regardless of whether the field is empty or not. This may be 13187 // used to include empty fields in Patch requests. 13188 ForceSendFields []string `json:"-"` 13189 13190 // NullFields is a list of field names (e.g. "MaxLatLng") to include in 13191 // API requests with the JSON null value. By default, fields with empty 13192 // values are omitted from API requests. However, any field with an 13193 // empty value appearing in NullFields will be sent to the server as 13194 // null. It is an error if a field in this list has a non-empty value. 13195 // This may be used to include null fields in Patch requests. 13196 NullFields []string `json:"-"` 13197} 13198 13199func (s *LatLongRect) MarshalJSON() ([]byte, error) { 13200 type NoMethod LatLongRect 13201 raw := NoMethod(*s) 13202 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13203} 13204 13205// ListOperationsResponse: The response message for 13206// Operations.ListOperations. 13207type ListOperationsResponse struct { 13208 // NextPageToken: The standard List next-page token. 13209 NextPageToken string `json:"nextPageToken,omitempty"` 13210 13211 // Operations: A list of operations that matches the specified filter in 13212 // the request. 13213 Operations []*Operation `json:"operations,omitempty"` 13214 13215 // ServerResponse contains the HTTP response code and headers from the 13216 // server. 13217 googleapi.ServerResponse `json:"-"` 13218 13219 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13220 // unconditionally include in API requests. By default, fields with 13221 // empty values are omitted from API requests. However, any non-pointer, 13222 // non-interface field appearing in ForceSendFields will be sent to the 13223 // server regardless of whether the field is empty or not. This may be 13224 // used to include empty fields in Patch requests. 13225 ForceSendFields []string `json:"-"` 13226 13227 // NullFields is a list of field names (e.g. "NextPageToken") to include 13228 // in API requests with the JSON null value. By default, fields with 13229 // empty values are omitted from API requests. However, any field with 13230 // an empty value appearing in NullFields will be sent to the server as 13231 // null. It is an error if a field in this list has a non-empty value. 13232 // This may be used to include null fields in Patch requests. 13233 NullFields []string `json:"-"` 13234} 13235 13236func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { 13237 type NoMethod ListOperationsResponse 13238 raw := NoMethod(*s) 13239 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13240} 13241 13242// ListProductSetsResponse: Response message for the `ListProductSets` 13243// method. 13244type ListProductSetsResponse struct { 13245 // NextPageToken: Token to retrieve the next page of results, or empty 13246 // if there are no more 13247 // results in the list. 13248 NextPageToken string `json:"nextPageToken,omitempty"` 13249 13250 // ProductSets: List of ProductSets. 13251 ProductSets []*ProductSet `json:"productSets,omitempty"` 13252 13253 // ServerResponse contains the HTTP response code and headers from the 13254 // server. 13255 googleapi.ServerResponse `json:"-"` 13256 13257 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13258 // unconditionally include in API requests. By default, fields with 13259 // empty values are omitted from API requests. However, any non-pointer, 13260 // non-interface field appearing in ForceSendFields will be sent to the 13261 // server regardless of whether the field is empty or not. This may be 13262 // used to include empty fields in Patch requests. 13263 ForceSendFields []string `json:"-"` 13264 13265 // NullFields is a list of field names (e.g. "NextPageToken") to include 13266 // in API requests with the JSON null value. By default, fields with 13267 // empty values are omitted from API requests. However, any field with 13268 // an empty value appearing in NullFields will be sent to the server as 13269 // null. It is an error if a field in this list has a non-empty value. 13270 // This may be used to include null fields in Patch requests. 13271 NullFields []string `json:"-"` 13272} 13273 13274func (s *ListProductSetsResponse) MarshalJSON() ([]byte, error) { 13275 type NoMethod ListProductSetsResponse 13276 raw := NoMethod(*s) 13277 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13278} 13279 13280// ListProductsInProductSetResponse: Response message for the 13281// `ListProductsInProductSet` method. 13282type ListProductsInProductSetResponse struct { 13283 // NextPageToken: Token to retrieve the next page of results, or empty 13284 // if there are no more 13285 // results in the list. 13286 NextPageToken string `json:"nextPageToken,omitempty"` 13287 13288 // Products: The list of Products. 13289 Products []*Product `json:"products,omitempty"` 13290 13291 // ServerResponse contains the HTTP response code and headers from the 13292 // server. 13293 googleapi.ServerResponse `json:"-"` 13294 13295 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13296 // unconditionally include in API requests. By default, fields with 13297 // empty values are omitted from API requests. However, any non-pointer, 13298 // non-interface field appearing in ForceSendFields will be sent to the 13299 // server regardless of whether the field is empty or not. This may be 13300 // used to include empty fields in Patch requests. 13301 ForceSendFields []string `json:"-"` 13302 13303 // NullFields is a list of field names (e.g. "NextPageToken") to include 13304 // in API requests with the JSON null value. By default, fields with 13305 // empty values are omitted from API requests. However, any field with 13306 // an empty value appearing in NullFields will be sent to the server as 13307 // null. It is an error if a field in this list has a non-empty value. 13308 // This may be used to include null fields in Patch requests. 13309 NullFields []string `json:"-"` 13310} 13311 13312func (s *ListProductsInProductSetResponse) MarshalJSON() ([]byte, error) { 13313 type NoMethod ListProductsInProductSetResponse 13314 raw := NoMethod(*s) 13315 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13316} 13317 13318// ListProductsResponse: Response message for the `ListProducts` method. 13319type ListProductsResponse struct { 13320 // NextPageToken: Token to retrieve the next page of results, or empty 13321 // if there are no more 13322 // results in the list. 13323 NextPageToken string `json:"nextPageToken,omitempty"` 13324 13325 // Products: List of products. 13326 Products []*Product `json:"products,omitempty"` 13327 13328 // ServerResponse contains the HTTP response code and headers from the 13329 // server. 13330 googleapi.ServerResponse `json:"-"` 13331 13332 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13333 // unconditionally include in API requests. By default, fields with 13334 // empty values are omitted from API requests. However, any non-pointer, 13335 // non-interface field appearing in ForceSendFields will be sent to the 13336 // server regardless of whether the field is empty or not. This may be 13337 // used to include empty fields in Patch requests. 13338 ForceSendFields []string `json:"-"` 13339 13340 // NullFields is a list of field names (e.g. "NextPageToken") to include 13341 // in API requests with the JSON null value. By default, fields with 13342 // empty values are omitted from API requests. However, any field with 13343 // an empty value appearing in NullFields will be sent to the server as 13344 // null. It is an error if a field in this list has a non-empty value. 13345 // This may be used to include null fields in Patch requests. 13346 NullFields []string `json:"-"` 13347} 13348 13349func (s *ListProductsResponse) MarshalJSON() ([]byte, error) { 13350 type NoMethod ListProductsResponse 13351 raw := NoMethod(*s) 13352 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13353} 13354 13355// ListReferenceImagesResponse: Response message for the 13356// `ListReferenceImages` method. 13357type ListReferenceImagesResponse struct { 13358 // NextPageToken: The next_page_token returned from a previous List 13359 // request, if any. 13360 NextPageToken string `json:"nextPageToken,omitempty"` 13361 13362 // PageSize: The maximum number of items to return. Default 10, maximum 13363 // 100. 13364 PageSize int64 `json:"pageSize,omitempty"` 13365 13366 // ReferenceImages: The list of reference images. 13367 ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"` 13368 13369 // ServerResponse contains the HTTP response code and headers from the 13370 // server. 13371 googleapi.ServerResponse `json:"-"` 13372 13373 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13374 // unconditionally include in API requests. By default, fields with 13375 // empty values are omitted from API requests. However, any non-pointer, 13376 // non-interface field appearing in ForceSendFields will be sent to the 13377 // server regardless of whether the field is empty or not. This may be 13378 // used to include empty fields in Patch requests. 13379 ForceSendFields []string `json:"-"` 13380 13381 // NullFields is a list of field names (e.g. "NextPageToken") to include 13382 // in API requests with the JSON null value. By default, fields with 13383 // empty values are omitted from API requests. However, any field with 13384 // an empty value appearing in NullFields will be sent to the server as 13385 // null. It is an error if a field in this list has a non-empty value. 13386 // This may be used to include null fields in Patch requests. 13387 NullFields []string `json:"-"` 13388} 13389 13390func (s *ListReferenceImagesResponse) MarshalJSON() ([]byte, error) { 13391 type NoMethod ListReferenceImagesResponse 13392 raw := NoMethod(*s) 13393 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13394} 13395 13396// LocalizedObjectAnnotation: Set of detected objects with bounding 13397// boxes. 13398type LocalizedObjectAnnotation struct { 13399 // BoundingPoly: Image region to which this object belongs. This must be 13400 // populated. 13401 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 13402 13403 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 13404 // For more 13405 // information, 13406 // see 13407 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 13408 LanguageCode string `json:"languageCode,omitempty"` 13409 13410 // Mid: Object ID that should align with EntityAnnotation mid. 13411 Mid string `json:"mid,omitempty"` 13412 13413 // Name: Object name, expressed in its `language_code` language. 13414 Name string `json:"name,omitempty"` 13415 13416 // Score: Score of the result. Range [0, 1]. 13417 Score float64 `json:"score,omitempty"` 13418 13419 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 13420 // unconditionally include in API requests. By default, fields with 13421 // empty values are omitted from API requests. However, any non-pointer, 13422 // non-interface field appearing in ForceSendFields will be sent to the 13423 // server regardless of whether the field is empty or not. This may be 13424 // used to include empty fields in Patch requests. 13425 ForceSendFields []string `json:"-"` 13426 13427 // NullFields is a list of field names (e.g. "BoundingPoly") to include 13428 // in API requests with the JSON null value. By default, fields with 13429 // empty values are omitted from API requests. However, any field with 13430 // an empty value appearing in NullFields will be sent to the server as 13431 // null. It is an error if a field in this list has a non-empty value. 13432 // This may be used to include null fields in Patch requests. 13433 NullFields []string `json:"-"` 13434} 13435 13436func (s *LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 13437 type NoMethod LocalizedObjectAnnotation 13438 raw := NoMethod(*s) 13439 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13440} 13441 13442func (s *LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 13443 type NoMethod LocalizedObjectAnnotation 13444 var s1 struct { 13445 Score gensupport.JSONFloat64 `json:"score"` 13446 *NoMethod 13447 } 13448 s1.NoMethod = (*NoMethod)(s) 13449 if err := json.Unmarshal(data, &s1); err != nil { 13450 return err 13451 } 13452 s.Score = float64(s1.Score) 13453 return nil 13454} 13455 13456// LocationInfo: Detected entity location information. 13457type LocationInfo struct { 13458 // LatLng: lat/long location coordinates. 13459 LatLng *LatLng `json:"latLng,omitempty"` 13460 13461 // ForceSendFields is a list of field names (e.g. "LatLng") to 13462 // unconditionally include in API requests. By default, fields with 13463 // empty values are omitted from API requests. However, any non-pointer, 13464 // non-interface field appearing in ForceSendFields will be sent to the 13465 // server regardless of whether the field is empty or not. This may be 13466 // used to include empty fields in Patch requests. 13467 ForceSendFields []string `json:"-"` 13468 13469 // NullFields is a list of field names (e.g. "LatLng") to include in API 13470 // requests with the JSON null value. By default, fields with empty 13471 // values are omitted from API requests. However, any field with an 13472 // empty value appearing in NullFields will be sent to the server as 13473 // null. It is an error if a field in this list has a non-empty value. 13474 // This may be used to include null fields in Patch requests. 13475 NullFields []string `json:"-"` 13476} 13477 13478func (s *LocationInfo) MarshalJSON() ([]byte, error) { 13479 type NoMethod LocationInfo 13480 raw := NoMethod(*s) 13481 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13482} 13483 13484// NormalizedVertex: A vertex represents a 2D point in the image. 13485// NOTE: the normalized vertex coordinates are relative to the original 13486// image 13487// and range from 0 to 1. 13488type NormalizedVertex struct { 13489 // X: X coordinate. 13490 X float64 `json:"x,omitempty"` 13491 13492 // Y: Y coordinate. 13493 Y float64 `json:"y,omitempty"` 13494 13495 // ForceSendFields is a list of field names (e.g. "X") to 13496 // unconditionally include in API requests. By default, fields with 13497 // empty values are omitted from API requests. However, any non-pointer, 13498 // non-interface field appearing in ForceSendFields will be sent to the 13499 // server regardless of whether the field is empty or not. This may be 13500 // used to include empty fields in Patch requests. 13501 ForceSendFields []string `json:"-"` 13502 13503 // NullFields is a list of field names (e.g. "X") to include in API 13504 // requests with the JSON null value. By default, fields with empty 13505 // values are omitted from API requests. However, any field with an 13506 // empty value appearing in NullFields will be sent to the server as 13507 // null. It is an error if a field in this list has a non-empty value. 13508 // This may be used to include null fields in Patch requests. 13509 NullFields []string `json:"-"` 13510} 13511 13512func (s *NormalizedVertex) MarshalJSON() ([]byte, error) { 13513 type NoMethod NormalizedVertex 13514 raw := NoMethod(*s) 13515 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13516} 13517 13518func (s *NormalizedVertex) UnmarshalJSON(data []byte) error { 13519 type NoMethod NormalizedVertex 13520 var s1 struct { 13521 X gensupport.JSONFloat64 `json:"x"` 13522 Y gensupport.JSONFloat64 `json:"y"` 13523 *NoMethod 13524 } 13525 s1.NoMethod = (*NoMethod)(s) 13526 if err := json.Unmarshal(data, &s1); err != nil { 13527 return err 13528 } 13529 s.X = float64(s1.X) 13530 s.Y = float64(s1.Y) 13531 return nil 13532} 13533 13534// ObjectAnnotation: Prediction for what the object in the bounding box 13535// is. 13536type ObjectAnnotation struct { 13537 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 13538 // For more 13539 // information, 13540 // see 13541 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 13542 LanguageCode string `json:"languageCode,omitempty"` 13543 13544 // Mid: Object ID that should align with EntityAnnotation mid. 13545 Mid string `json:"mid,omitempty"` 13546 13547 // Name: Object name, expressed in its `language_code` language. 13548 Name string `json:"name,omitempty"` 13549 13550 // Score: Score of the result. Range [0, 1]. 13551 Score float64 `json:"score,omitempty"` 13552 13553 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 13554 // unconditionally include in API requests. By default, fields with 13555 // empty values are omitted from API requests. However, any non-pointer, 13556 // non-interface field appearing in ForceSendFields will be sent to the 13557 // server regardless of whether the field is empty or not. This may be 13558 // used to include empty fields in Patch requests. 13559 ForceSendFields []string `json:"-"` 13560 13561 // NullFields is a list of field names (e.g. "LanguageCode") to include 13562 // in API requests with the JSON null value. By default, fields with 13563 // empty values are omitted from API requests. However, any field with 13564 // an empty value appearing in NullFields will be sent to the server as 13565 // null. It is an error if a field in this list has a non-empty value. 13566 // This may be used to include null fields in Patch requests. 13567 NullFields []string `json:"-"` 13568} 13569 13570func (s *ObjectAnnotation) MarshalJSON() ([]byte, error) { 13571 type NoMethod ObjectAnnotation 13572 raw := NoMethod(*s) 13573 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13574} 13575 13576func (s *ObjectAnnotation) UnmarshalJSON(data []byte) error { 13577 type NoMethod ObjectAnnotation 13578 var s1 struct { 13579 Score gensupport.JSONFloat64 `json:"score"` 13580 *NoMethod 13581 } 13582 s1.NoMethod = (*NoMethod)(s) 13583 if err := json.Unmarshal(data, &s1); err != nil { 13584 return err 13585 } 13586 s.Score = float64(s1.Score) 13587 return nil 13588} 13589 13590// Operation: This resource represents a long-running operation that is 13591// the result of a 13592// network API call. 13593type Operation struct { 13594 // Done: If the value is `false`, it means the operation is still in 13595 // progress. 13596 // If `true`, the operation is completed, and either `error` or 13597 // `response` is 13598 // available. 13599 Done bool `json:"done,omitempty"` 13600 13601 // Error: The error result of the operation in case of failure or 13602 // cancellation. 13603 Error *Status `json:"error,omitempty"` 13604 13605 // Metadata: Service-specific metadata associated with the operation. 13606 // It typically 13607 // contains progress information and common metadata such as create 13608 // time. 13609 // Some services might not provide such metadata. Any method that 13610 // returns a 13611 // long-running operation should document the metadata type, if any. 13612 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 13613 13614 // Name: The server-assigned name, which is only unique within the same 13615 // service that 13616 // originally returns it. If you use the default HTTP mapping, 13617 // the 13618 // `name` should be a resource name ending with 13619 // `operations/{unique_id}`. 13620 Name string `json:"name,omitempty"` 13621 13622 // Response: The normal response of the operation in case of success. 13623 // If the original 13624 // method returns no data on success, such as `Delete`, the response 13625 // is 13626 // `google.protobuf.Empty`. If the original method is 13627 // standard 13628 // `Get`/`Create`/`Update`, the response should be the resource. For 13629 // other 13630 // methods, the response should have the type `XxxResponse`, where 13631 // `Xxx` 13632 // is the original method name. For example, if the original method 13633 // name 13634 // is `TakeSnapshot()`, the inferred response type 13635 // is 13636 // `TakeSnapshotResponse`. 13637 Response googleapi.RawMessage `json:"response,omitempty"` 13638 13639 // ServerResponse contains the HTTP response code and headers from the 13640 // server. 13641 googleapi.ServerResponse `json:"-"` 13642 13643 // ForceSendFields is a list of field names (e.g. "Done") to 13644 // unconditionally include in API requests. By default, fields with 13645 // empty values are omitted from API requests. However, any non-pointer, 13646 // non-interface field appearing in ForceSendFields will be sent to the 13647 // server regardless of whether the field is empty or not. This may be 13648 // used to include empty fields in Patch requests. 13649 ForceSendFields []string `json:"-"` 13650 13651 // NullFields is a list of field names (e.g. "Done") to include in API 13652 // requests with the JSON null value. By default, fields with empty 13653 // values are omitted from API requests. However, any field with an 13654 // empty value appearing in NullFields will be sent to the server as 13655 // null. It is an error if a field in this list has a non-empty value. 13656 // This may be used to include null fields in Patch requests. 13657 NullFields []string `json:"-"` 13658} 13659 13660func (s *Operation) MarshalJSON() ([]byte, error) { 13661 type NoMethod Operation 13662 raw := NoMethod(*s) 13663 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13664} 13665 13666// OperationMetadata: Contains metadata for the BatchAnnotateImages 13667// operation. 13668type OperationMetadata struct { 13669 // CreateTime: The time when the batch request was received. 13670 CreateTime string `json:"createTime,omitempty"` 13671 13672 // State: Current state of the batch operation. 13673 // 13674 // Possible values: 13675 // "STATE_UNSPECIFIED" - Invalid. 13676 // "CREATED" - Request is received. 13677 // "RUNNING" - Request is actively being processed. 13678 // "DONE" - The batch processing is done. 13679 // "CANCELLED" - The batch processing was cancelled. 13680 State string `json:"state,omitempty"` 13681 13682 // UpdateTime: The time when the operation result was last updated. 13683 UpdateTime string `json:"updateTime,omitempty"` 13684 13685 // ForceSendFields is a list of field names (e.g. "CreateTime") to 13686 // unconditionally include in API requests. By default, fields with 13687 // empty values are omitted from API requests. However, any non-pointer, 13688 // non-interface field appearing in ForceSendFields will be sent to the 13689 // server regardless of whether the field is empty or not. This may be 13690 // used to include empty fields in Patch requests. 13691 ForceSendFields []string `json:"-"` 13692 13693 // NullFields is a list of field names (e.g. "CreateTime") to include in 13694 // API requests with the JSON null value. By default, fields with empty 13695 // values are omitted from API requests. However, any field with an 13696 // empty value appearing in NullFields will be sent to the server as 13697 // null. It is an error if a field in this list has a non-empty value. 13698 // This may be used to include null fields in Patch requests. 13699 NullFields []string `json:"-"` 13700} 13701 13702func (s *OperationMetadata) MarshalJSON() ([]byte, error) { 13703 type NoMethod OperationMetadata 13704 raw := NoMethod(*s) 13705 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13706} 13707 13708// OutputConfig: The desired output location and metadata. 13709type OutputConfig struct { 13710 // BatchSize: The max number of response protos to put into each output 13711 // JSON file on 13712 // Google Cloud Storage. 13713 // The valid range is [1, 100]. If not specified, the default value is 13714 // 20. 13715 // 13716 // For example, for one pdf file with 100 pages, 100 response protos 13717 // will 13718 // be generated. If `batch_size` = 20, then 5 json files each 13719 // containing 20 response protos will be written under the 13720 // prefix 13721 // `gcs_destination`.`uri`. 13722 // 13723 // Currently, batch_size only applies to GcsDestination, with potential 13724 // future 13725 // support for other output configurations. 13726 BatchSize int64 `json:"batchSize,omitempty"` 13727 13728 // GcsDestination: The Google Cloud Storage location to write the 13729 // output(s) to. 13730 GcsDestination *GcsDestination `json:"gcsDestination,omitempty"` 13731 13732 // ForceSendFields is a list of field names (e.g. "BatchSize") to 13733 // unconditionally include in API requests. By default, fields with 13734 // empty values are omitted from API requests. However, any non-pointer, 13735 // non-interface field appearing in ForceSendFields will be sent to the 13736 // server regardless of whether the field is empty or not. This may be 13737 // used to include empty fields in Patch requests. 13738 ForceSendFields []string `json:"-"` 13739 13740 // NullFields is a list of field names (e.g. "BatchSize") to include in 13741 // API requests with the JSON null value. By default, fields with empty 13742 // values are omitted from API requests. However, any field with an 13743 // empty value appearing in NullFields will be sent to the server as 13744 // null. It is an error if a field in this list has a non-empty value. 13745 // This may be used to include null fields in Patch requests. 13746 NullFields []string `json:"-"` 13747} 13748 13749func (s *OutputConfig) MarshalJSON() ([]byte, error) { 13750 type NoMethod OutputConfig 13751 raw := NoMethod(*s) 13752 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13753} 13754 13755// Page: Detected page from OCR. 13756type Page struct { 13757 // Blocks: List of blocks of text, images etc on this page. 13758 Blocks []*Block `json:"blocks,omitempty"` 13759 13760 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 13761 Confidence float64 `json:"confidence,omitempty"` 13762 13763 // Height: Page height. For PDFs the unit is points. For images 13764 // (including 13765 // TIFFs) the unit is pixels. 13766 Height int64 `json:"height,omitempty"` 13767 13768 // Property: Additional information detected on the page. 13769 Property *TextProperty `json:"property,omitempty"` 13770 13771 // Width: Page width. For PDFs the unit is points. For images 13772 // (including 13773 // TIFFs) the unit is pixels. 13774 Width int64 `json:"width,omitempty"` 13775 13776 // ForceSendFields is a list of field names (e.g. "Blocks") to 13777 // unconditionally include in API requests. By default, fields with 13778 // empty values are omitted from API requests. However, any non-pointer, 13779 // non-interface field appearing in ForceSendFields will be sent to the 13780 // server regardless of whether the field is empty or not. This may be 13781 // used to include empty fields in Patch requests. 13782 ForceSendFields []string `json:"-"` 13783 13784 // NullFields is a list of field names (e.g. "Blocks") to include in API 13785 // requests with the JSON null value. By default, fields with empty 13786 // values are omitted from API requests. However, any field with an 13787 // empty value appearing in NullFields will be sent to the server as 13788 // null. It is an error if a field in this list has a non-empty value. 13789 // This may be used to include null fields in Patch requests. 13790 NullFields []string `json:"-"` 13791} 13792 13793func (s *Page) MarshalJSON() ([]byte, error) { 13794 type NoMethod Page 13795 raw := NoMethod(*s) 13796 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13797} 13798 13799func (s *Page) UnmarshalJSON(data []byte) error { 13800 type NoMethod Page 13801 var s1 struct { 13802 Confidence gensupport.JSONFloat64 `json:"confidence"` 13803 *NoMethod 13804 } 13805 s1.NoMethod = (*NoMethod)(s) 13806 if err := json.Unmarshal(data, &s1); err != nil { 13807 return err 13808 } 13809 s.Confidence = float64(s1.Confidence) 13810 return nil 13811} 13812 13813// Paragraph: Structural unit of text representing a number of words in 13814// certain order. 13815type Paragraph struct { 13816 // BoundingBox: The bounding box for the paragraph. 13817 // The vertices are in the order of top-left, top-right, 13818 // bottom-right, 13819 // bottom-left. When a rotation of the bounding box is detected the 13820 // rotation 13821 // is represented as around the top-left corner as defined when the text 13822 // is 13823 // read in the 'natural' orientation. 13824 // For example: 13825 // * when the text is horizontal it might look like: 13826 // 0----1 13827 // | | 13828 // 3----2 13829 // * when it's rotated 180 degrees around the top-left corner it 13830 // becomes: 13831 // 2----3 13832 // | | 13833 // 1----0 13834 // and the vertex order will still be (0, 1, 2, 3). 13835 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 13836 13837 // Confidence: Confidence of the OCR results for the paragraph. Range 13838 // [0, 1]. 13839 Confidence float64 `json:"confidence,omitempty"` 13840 13841 // Property: Additional information detected for the paragraph. 13842 Property *TextProperty `json:"property,omitempty"` 13843 13844 // Words: List of all words in this paragraph. 13845 Words []*Word `json:"words,omitempty"` 13846 13847 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 13848 // unconditionally include in API requests. By default, fields with 13849 // empty values are omitted from API requests. However, any non-pointer, 13850 // non-interface field appearing in ForceSendFields will be sent to the 13851 // server regardless of whether the field is empty or not. This may be 13852 // used to include empty fields in Patch requests. 13853 ForceSendFields []string `json:"-"` 13854 13855 // NullFields is a list of field names (e.g. "BoundingBox") to include 13856 // in API requests with the JSON null value. By default, fields with 13857 // empty values are omitted from API requests. However, any field with 13858 // an empty value appearing in NullFields will be sent to the server as 13859 // null. It is an error if a field in this list has a non-empty value. 13860 // This may be used to include null fields in Patch requests. 13861 NullFields []string `json:"-"` 13862} 13863 13864func (s *Paragraph) MarshalJSON() ([]byte, error) { 13865 type NoMethod Paragraph 13866 raw := NoMethod(*s) 13867 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13868} 13869 13870func (s *Paragraph) UnmarshalJSON(data []byte) error { 13871 type NoMethod Paragraph 13872 var s1 struct { 13873 Confidence gensupport.JSONFloat64 `json:"confidence"` 13874 *NoMethod 13875 } 13876 s1.NoMethod = (*NoMethod)(s) 13877 if err := json.Unmarshal(data, &s1); err != nil { 13878 return err 13879 } 13880 s.Confidence = float64(s1.Confidence) 13881 return nil 13882} 13883 13884// Position: A 3D position in the image, used primarily for Face 13885// detection landmarks. 13886// A valid Position must have both x and y coordinates. 13887// The position coordinates are in the same scale as the original image. 13888type Position struct { 13889 // X: X coordinate. 13890 X float64 `json:"x,omitempty"` 13891 13892 // Y: Y coordinate. 13893 Y float64 `json:"y,omitempty"` 13894 13895 // Z: Z coordinate (or depth). 13896 Z float64 `json:"z,omitempty"` 13897 13898 // ForceSendFields is a list of field names (e.g. "X") to 13899 // unconditionally include in API requests. By default, fields with 13900 // empty values are omitted from API requests. However, any non-pointer, 13901 // non-interface field appearing in ForceSendFields will be sent to the 13902 // server regardless of whether the field is empty or not. This may be 13903 // used to include empty fields in Patch requests. 13904 ForceSendFields []string `json:"-"` 13905 13906 // NullFields is a list of field names (e.g. "X") to include in API 13907 // requests with the JSON null value. By default, fields with empty 13908 // values are omitted from API requests. However, any field with an 13909 // empty value appearing in NullFields will be sent to the server as 13910 // null. It is an error if a field in this list has a non-empty value. 13911 // This may be used to include null fields in Patch requests. 13912 NullFields []string `json:"-"` 13913} 13914 13915func (s *Position) MarshalJSON() ([]byte, error) { 13916 type NoMethod Position 13917 raw := NoMethod(*s) 13918 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13919} 13920 13921func (s *Position) UnmarshalJSON(data []byte) error { 13922 type NoMethod Position 13923 var s1 struct { 13924 X gensupport.JSONFloat64 `json:"x"` 13925 Y gensupport.JSONFloat64 `json:"y"` 13926 Z gensupport.JSONFloat64 `json:"z"` 13927 *NoMethod 13928 } 13929 s1.NoMethod = (*NoMethod)(s) 13930 if err := json.Unmarshal(data, &s1); err != nil { 13931 return err 13932 } 13933 s.X = float64(s1.X) 13934 s.Y = float64(s1.Y) 13935 s.Z = float64(s1.Z) 13936 return nil 13937} 13938 13939// Product: A Product contains ReferenceImages. 13940type Product struct { 13941 // Description: User-provided metadata to be stored with this product. 13942 // Must be at most 4096 13943 // characters long. 13944 Description string `json:"description,omitempty"` 13945 13946 // DisplayName: The user-provided name for this Product. Must not be 13947 // empty. Must be at most 13948 // 4096 characters long. 13949 DisplayName string `json:"displayName,omitempty"` 13950 13951 // Name: The resource name of the product. 13952 // 13953 // Format 13954 // is: 13955 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 13956 // 13957 // This field is ignored when creating a product. 13958 Name string `json:"name,omitempty"` 13959 13960 // ProductCategory: Immutable. The category for the product identified 13961 // by the reference image. This should 13962 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 13963 // categories 13964 // "homegoods", "apparel", and "toys" are still supported, but these 13965 // should 13966 // not be used for new products. 13967 ProductCategory string `json:"productCategory,omitempty"` 13968 13969 // ProductLabels: Key-value pairs that can be attached to a product. At 13970 // query time, 13971 // constraints can be specified based on the product_labels. 13972 // 13973 // Note that integer values can be provided as strings, e.g. "1199". 13974 // Only 13975 // strings with integer values can match a range-based restriction which 13976 // is 13977 // to be supported soon. 13978 // 13979 // Multiple values can be assigned to the same key. One product may have 13980 // up to 13981 // 500 product_labels. 13982 // 13983 // Notice that the total number of distinct product_labels over all 13984 // products 13985 // in one ProductSet cannot exceed 1M, otherwise the product search 13986 // pipeline 13987 // will refuse to work for that ProductSet. 13988 ProductLabels []*KeyValue `json:"productLabels,omitempty"` 13989 13990 // ServerResponse contains the HTTP response code and headers from the 13991 // server. 13992 googleapi.ServerResponse `json:"-"` 13993 13994 // ForceSendFields is a list of field names (e.g. "Description") to 13995 // unconditionally include in API requests. By default, fields with 13996 // empty values are omitted from API requests. However, any non-pointer, 13997 // non-interface field appearing in ForceSendFields will be sent to the 13998 // server regardless of whether the field is empty or not. This may be 13999 // used to include empty fields in Patch requests. 14000 ForceSendFields []string `json:"-"` 14001 14002 // NullFields is a list of field names (e.g. "Description") to include 14003 // in API requests with the JSON null value. By default, fields with 14004 // empty values are omitted from API requests. However, any field with 14005 // an empty value appearing in NullFields will be sent to the server as 14006 // null. It is an error if a field in this list has a non-empty value. 14007 // This may be used to include null fields in Patch requests. 14008 NullFields []string `json:"-"` 14009} 14010 14011func (s *Product) MarshalJSON() ([]byte, error) { 14012 type NoMethod Product 14013 raw := NoMethod(*s) 14014 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14015} 14016 14017// ProductSearchParams: Parameters for a product search request. 14018type ProductSearchParams struct { 14019 // BoundingPoly: The bounding polygon around the area of interest in the 14020 // image. 14021 // If it is not specified, system discretion will be applied. 14022 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 14023 14024 // Filter: The filtering expression. This can be used to restrict search 14025 // results based 14026 // on Product labels. We currently support an AND of OR of 14027 // key-value 14028 // expressions, where each expression within an OR must have the same 14029 // key. An 14030 // '=' should be used to connect the key and value. 14031 // 14032 // For example, "(color = red OR color = blue) AND brand = Google" 14033 // is 14034 // acceptable, but "(color = red OR brand = Google)" is not 14035 // acceptable. 14036 // "color: red" is not acceptable because it uses a ':' instead of an 14037 // '='. 14038 Filter string `json:"filter,omitempty"` 14039 14040 // ProductCategories: The list of product categories to search in. 14041 // Currently, we only consider 14042 // the first category, and either "homegoods-v2", "apparel-v2", 14043 // "toys-v2", 14044 // "packagedgoods-v1", or "general-v1" should be specified. The 14045 // legacy 14046 // categories "homegoods", "apparel", and "toys" are still supported but 14047 // will 14048 // be deprecated. For new products, please use "homegoods-v2", 14049 // "apparel-v2", 14050 // or "toys-v2" for better product search accuracy. It is recommended 14051 // to 14052 // migrate existing products to these categories as well. 14053 ProductCategories []string `json:"productCategories,omitempty"` 14054 14055 // ProductSet: The resource name of a ProductSet to be searched for 14056 // similar images. 14057 // 14058 // Format 14059 // is: 14060 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 14061 ProductSet string `json:"productSet,omitempty"` 14062 14063 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 14064 // unconditionally include in API requests. By default, fields with 14065 // empty values are omitted from API requests. However, any non-pointer, 14066 // non-interface field appearing in ForceSendFields will be sent to the 14067 // server regardless of whether the field is empty or not. This may be 14068 // used to include empty fields in Patch requests. 14069 ForceSendFields []string `json:"-"` 14070 14071 // NullFields is a list of field names (e.g. "BoundingPoly") to include 14072 // in API requests with the JSON null value. By default, fields with 14073 // empty values are omitted from API requests. However, any field with 14074 // an empty value appearing in NullFields will be sent to the server as 14075 // null. It is an error if a field in this list has a non-empty value. 14076 // This may be used to include null fields in Patch requests. 14077 NullFields []string `json:"-"` 14078} 14079 14080func (s *ProductSearchParams) MarshalJSON() ([]byte, error) { 14081 type NoMethod ProductSearchParams 14082 raw := NoMethod(*s) 14083 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14084} 14085 14086// ProductSearchResults: Results for a product search request. 14087type ProductSearchResults struct { 14088 // IndexTime: Timestamp of the index which provided these results. 14089 // Products added to the 14090 // product set and products removed from the product set after this time 14091 // are 14092 // not reflected in the current results. 14093 IndexTime string `json:"indexTime,omitempty"` 14094 14095 // ProductGroupedResults: List of results grouped by products detected 14096 // in the query image. Each entry 14097 // corresponds to one bounding polygon in the query image, and contains 14098 // the 14099 // matching products specific to that region. There may be duplicate 14100 // product 14101 // matches in the union of all the per-product results. 14102 ProductGroupedResults []*GroupedResult `json:"productGroupedResults,omitempty"` 14103 14104 // Results: List of results, one for each product match. 14105 Results []*Result `json:"results,omitempty"` 14106 14107 // ForceSendFields is a list of field names (e.g. "IndexTime") to 14108 // unconditionally include in API requests. By default, fields with 14109 // empty values are omitted from API requests. However, any non-pointer, 14110 // non-interface field appearing in ForceSendFields will be sent to the 14111 // server regardless of whether the field is empty or not. This may be 14112 // used to include empty fields in Patch requests. 14113 ForceSendFields []string `json:"-"` 14114 14115 // NullFields is a list of field names (e.g. "IndexTime") to include in 14116 // API requests with the JSON null value. By default, fields with empty 14117 // values are omitted from API requests. However, any field with an 14118 // empty value appearing in NullFields will be sent to the server as 14119 // null. It is an error if a field in this list has a non-empty value. 14120 // This may be used to include null fields in Patch requests. 14121 NullFields []string `json:"-"` 14122} 14123 14124func (s *ProductSearchResults) MarshalJSON() ([]byte, error) { 14125 type NoMethod ProductSearchResults 14126 raw := NoMethod(*s) 14127 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14128} 14129 14130// ProductSet: A ProductSet contains Products. A ProductSet can contain 14131// a maximum of 1 14132// million reference images. If the limit is exceeded, periodic indexing 14133// will 14134// fail. 14135type ProductSet struct { 14136 // DisplayName: The user-provided name for this ProductSet. Must not be 14137 // empty. Must be at 14138 // most 4096 characters long. 14139 DisplayName string `json:"displayName,omitempty"` 14140 14141 // IndexError: Output only. If there was an error with indexing the 14142 // product set, the field 14143 // is populated. 14144 // 14145 // This field is ignored when creating a ProductSet. 14146 IndexError *Status `json:"indexError,omitempty"` 14147 14148 // IndexTime: Output only. The time at which this ProductSet was last 14149 // indexed. Query 14150 // results will reflect all updates before this time. If this ProductSet 14151 // has 14152 // never been indexed, this timestamp is the default 14153 // value 14154 // "1970-01-01T00:00:00Z". 14155 // 14156 // This field is ignored when creating a ProductSet. 14157 IndexTime string `json:"indexTime,omitempty"` 14158 14159 // Name: The resource name of the ProductSet. 14160 // 14161 // Format 14162 // is: 14163 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 14164 // 14165 // 14166 // This field is ignored when creating a ProductSet. 14167 Name string `json:"name,omitempty"` 14168 14169 // ServerResponse contains the HTTP response code and headers from the 14170 // server. 14171 googleapi.ServerResponse `json:"-"` 14172 14173 // ForceSendFields is a list of field names (e.g. "DisplayName") to 14174 // unconditionally include in API requests. By default, fields with 14175 // empty values are omitted from API requests. However, any non-pointer, 14176 // non-interface field appearing in ForceSendFields will be sent to the 14177 // server regardless of whether the field is empty or not. This may be 14178 // used to include empty fields in Patch requests. 14179 ForceSendFields []string `json:"-"` 14180 14181 // NullFields is a list of field names (e.g. "DisplayName") to include 14182 // in API requests with the JSON null value. By default, fields with 14183 // empty values are omitted from API requests. However, any field with 14184 // an empty value appearing in NullFields will be sent to the server as 14185 // null. It is an error if a field in this list has a non-empty value. 14186 // This may be used to include null fields in Patch requests. 14187 NullFields []string `json:"-"` 14188} 14189 14190func (s *ProductSet) MarshalJSON() ([]byte, error) { 14191 type NoMethod ProductSet 14192 raw := NoMethod(*s) 14193 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14194} 14195 14196// ProductSetPurgeConfig: Config to control which ProductSet contains 14197// the Products to be deleted. 14198type ProductSetPurgeConfig struct { 14199 // ProductSetId: The ProductSet that contains the Products to delete. If 14200 // a Product is a 14201 // member of product_set_id in addition to other ProductSets, the 14202 // Product will 14203 // still be deleted. 14204 ProductSetId string `json:"productSetId,omitempty"` 14205 14206 // ForceSendFields is a list of field names (e.g. "ProductSetId") to 14207 // unconditionally include in API requests. By default, fields with 14208 // empty values are omitted from API requests. However, any non-pointer, 14209 // non-interface field appearing in ForceSendFields will be sent to the 14210 // server regardless of whether the field is empty or not. This may be 14211 // used to include empty fields in Patch requests. 14212 ForceSendFields []string `json:"-"` 14213 14214 // NullFields is a list of field names (e.g. "ProductSetId") to include 14215 // in API requests with the JSON null value. By default, fields with 14216 // empty values are omitted from API requests. However, any field with 14217 // an empty value appearing in NullFields will be sent to the server as 14218 // null. It is an error if a field in this list has a non-empty value. 14219 // This may be used to include null fields in Patch requests. 14220 NullFields []string `json:"-"` 14221} 14222 14223func (s *ProductSetPurgeConfig) MarshalJSON() ([]byte, error) { 14224 type NoMethod ProductSetPurgeConfig 14225 raw := NoMethod(*s) 14226 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14227} 14228 14229// Property: A `Property` consists of a user-supplied name/value pair. 14230type Property struct { 14231 // Name: Name of the property. 14232 Name string `json:"name,omitempty"` 14233 14234 // Uint64Value: Value of numeric properties. 14235 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 14236 14237 // Value: Value of the property. 14238 Value string `json:"value,omitempty"` 14239 14240 // ForceSendFields is a list of field names (e.g. "Name") to 14241 // unconditionally include in API requests. By default, fields with 14242 // empty values are omitted from API requests. However, any non-pointer, 14243 // non-interface field appearing in ForceSendFields will be sent to the 14244 // server regardless of whether the field is empty or not. This may be 14245 // used to include empty fields in Patch requests. 14246 ForceSendFields []string `json:"-"` 14247 14248 // NullFields is a list of field names (e.g. "Name") to include in API 14249 // requests with the JSON null value. By default, fields with empty 14250 // values are omitted from API requests. However, any field with an 14251 // empty value appearing in NullFields will be sent to the server as 14252 // null. It is an error if a field in this list has a non-empty value. 14253 // This may be used to include null fields in Patch requests. 14254 NullFields []string `json:"-"` 14255} 14256 14257func (s *Property) MarshalJSON() ([]byte, error) { 14258 type NoMethod Property 14259 raw := NoMethod(*s) 14260 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14261} 14262 14263// PurgeProductsRequest: Request message for the `PurgeProducts` method. 14264type PurgeProductsRequest struct { 14265 // DeleteOrphanProducts: If delete_orphan_products is true, all Products 14266 // that are not in any 14267 // ProductSet will be deleted. 14268 DeleteOrphanProducts bool `json:"deleteOrphanProducts,omitempty"` 14269 14270 // Force: The default value is false. Override this value to true to 14271 // actually perform 14272 // the purge. 14273 Force bool `json:"force,omitempty"` 14274 14275 // ProductSetPurgeConfig: Specify which ProductSet contains the Products 14276 // to be deleted. 14277 ProductSetPurgeConfig *ProductSetPurgeConfig `json:"productSetPurgeConfig,omitempty"` 14278 14279 // ForceSendFields is a list of field names (e.g. 14280 // "DeleteOrphanProducts") to unconditionally include in API requests. 14281 // By default, fields with empty values are omitted from API requests. 14282 // However, any non-pointer, non-interface field appearing in 14283 // ForceSendFields will be sent to the server regardless of whether the 14284 // field is empty or not. This may be used to include empty fields in 14285 // Patch requests. 14286 ForceSendFields []string `json:"-"` 14287 14288 // NullFields is a list of field names (e.g. "DeleteOrphanProducts") to 14289 // include in API requests with the JSON null value. By default, fields 14290 // with empty values are omitted from API requests. However, any field 14291 // with an empty value appearing in NullFields will be sent to the 14292 // server as null. It is an error if a field in this list has a 14293 // non-empty value. This may be used to include null fields in Patch 14294 // requests. 14295 NullFields []string `json:"-"` 14296} 14297 14298func (s *PurgeProductsRequest) MarshalJSON() ([]byte, error) { 14299 type NoMethod PurgeProductsRequest 14300 raw := NoMethod(*s) 14301 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14302} 14303 14304// ReferenceImage: A `ReferenceImage` represents a product image and its 14305// associated metadata, 14306// such as bounding boxes. 14307type ReferenceImage struct { 14308 // BoundingPolys: Optional. Bounding polygons around the areas of 14309 // interest in the reference image. 14310 // If this field is empty, the system will try to detect regions 14311 // of 14312 // interest. At most 10 bounding polygons will be used. 14313 // 14314 // The provided shape is converted into a non-rotated rectangle. 14315 // Once 14316 // converted, the small edge of the rectangle must be greater than or 14317 // equal 14318 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 14319 // 1:5 14320 // is not). 14321 BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"` 14322 14323 // Name: The resource name of the reference image. 14324 // 14325 // Format 14326 // is: 14327 // 14328 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 14329 // ceImages/IMAGE_ID`. 14330 // 14331 // This field is ignored when creating a reference image. 14332 Name string `json:"name,omitempty"` 14333 14334 // Uri: Required. The Google Cloud Storage URI of the reference 14335 // image. 14336 // 14337 // The URI must start with `gs://`. 14338 Uri string `json:"uri,omitempty"` 14339 14340 // ServerResponse contains the HTTP response code and headers from the 14341 // server. 14342 googleapi.ServerResponse `json:"-"` 14343 14344 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 14345 // unconditionally include in API requests. By default, fields with 14346 // empty values are omitted from API requests. However, any non-pointer, 14347 // non-interface field appearing in ForceSendFields will be sent to the 14348 // server regardless of whether the field is empty or not. This may be 14349 // used to include empty fields in Patch requests. 14350 ForceSendFields []string `json:"-"` 14351 14352 // NullFields is a list of field names (e.g. "BoundingPolys") to include 14353 // in API requests with the JSON null value. By default, fields with 14354 // empty values are omitted from API requests. However, any field with 14355 // an empty value appearing in NullFields will be sent to the server as 14356 // null. It is an error if a field in this list has a non-empty value. 14357 // This may be used to include null fields in Patch requests. 14358 NullFields []string `json:"-"` 14359} 14360 14361func (s *ReferenceImage) MarshalJSON() ([]byte, error) { 14362 type NoMethod ReferenceImage 14363 raw := NoMethod(*s) 14364 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14365} 14366 14367// RemoveProductFromProductSetRequest: Request message for the 14368// `RemoveProductFromProductSet` method. 14369type RemoveProductFromProductSetRequest struct { 14370 // Product: Required. The resource name for the Product to be removed 14371 // from this ProductSet. 14372 // 14373 // Format is: 14374 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` 14375 Product string `json:"product,omitempty"` 14376 14377 // ForceSendFields is a list of field names (e.g. "Product") to 14378 // unconditionally include in API requests. By default, fields with 14379 // empty values are omitted from API requests. However, any non-pointer, 14380 // non-interface field appearing in ForceSendFields will be sent to the 14381 // server regardless of whether the field is empty or not. This may be 14382 // used to include empty fields in Patch requests. 14383 ForceSendFields []string `json:"-"` 14384 14385 // NullFields is a list of field names (e.g. "Product") to include in 14386 // API requests with the JSON null value. By default, fields with empty 14387 // values are omitted from API requests. However, any field with an 14388 // empty value appearing in NullFields will be sent to the server as 14389 // null. It is an error if a field in this list has a non-empty value. 14390 // This may be used to include null fields in Patch requests. 14391 NullFields []string `json:"-"` 14392} 14393 14394func (s *RemoveProductFromProductSetRequest) MarshalJSON() ([]byte, error) { 14395 type NoMethod RemoveProductFromProductSetRequest 14396 raw := NoMethod(*s) 14397 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14398} 14399 14400// Result: Information about a product. 14401type Result struct { 14402 // Image: The resource name of the image from the product that is the 14403 // closest match 14404 // to the query. 14405 Image string `json:"image,omitempty"` 14406 14407 // Product: The Product. 14408 Product *Product `json:"product,omitempty"` 14409 14410 // Score: A confidence level on the match, ranging from 0 (no 14411 // confidence) to 14412 // 1 (full confidence). 14413 Score float64 `json:"score,omitempty"` 14414 14415 // ForceSendFields is a list of field names (e.g. "Image") to 14416 // unconditionally include in API requests. By default, fields with 14417 // empty values are omitted from API requests. However, any non-pointer, 14418 // non-interface field appearing in ForceSendFields will be sent to the 14419 // server regardless of whether the field is empty or not. This may be 14420 // used to include empty fields in Patch requests. 14421 ForceSendFields []string `json:"-"` 14422 14423 // NullFields is a list of field names (e.g. "Image") to include in API 14424 // requests with the JSON null value. By default, fields with empty 14425 // values are omitted from API requests. However, any field with an 14426 // empty value appearing in NullFields will be sent to the server as 14427 // null. It is an error if a field in this list has a non-empty value. 14428 // This may be used to include null fields in Patch requests. 14429 NullFields []string `json:"-"` 14430} 14431 14432func (s *Result) MarshalJSON() ([]byte, error) { 14433 type NoMethod Result 14434 raw := NoMethod(*s) 14435 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14436} 14437 14438func (s *Result) UnmarshalJSON(data []byte) error { 14439 type NoMethod Result 14440 var s1 struct { 14441 Score gensupport.JSONFloat64 `json:"score"` 14442 *NoMethod 14443 } 14444 s1.NoMethod = (*NoMethod)(s) 14445 if err := json.Unmarshal(data, &s1); err != nil { 14446 return err 14447 } 14448 s.Score = float64(s1.Score) 14449 return nil 14450} 14451 14452// SafeSearchAnnotation: Set of features pertaining to the image, 14453// computed by computer vision 14454// methods over safe-search verticals (for example, adult, spoof, 14455// medical, 14456// violence). 14457type SafeSearchAnnotation struct { 14458 // Adult: Represents the adult content likelihood for the image. Adult 14459 // content may 14460 // contain elements such as nudity, pornographic images or cartoons, 14461 // or 14462 // sexual activities. 14463 // 14464 // Possible values: 14465 // "UNKNOWN" - Unknown likelihood. 14466 // "VERY_UNLIKELY" - It is very unlikely. 14467 // "UNLIKELY" - It is unlikely. 14468 // "POSSIBLE" - It is possible. 14469 // "LIKELY" - It is likely. 14470 // "VERY_LIKELY" - It is very likely. 14471 Adult string `json:"adult,omitempty"` 14472 14473 // Medical: Likelihood that this is a medical image. 14474 // 14475 // Possible values: 14476 // "UNKNOWN" - Unknown likelihood. 14477 // "VERY_UNLIKELY" - It is very unlikely. 14478 // "UNLIKELY" - It is unlikely. 14479 // "POSSIBLE" - It is possible. 14480 // "LIKELY" - It is likely. 14481 // "VERY_LIKELY" - It is very likely. 14482 Medical string `json:"medical,omitempty"` 14483 14484 // Racy: Likelihood that the request image contains racy content. Racy 14485 // content may 14486 // include (but is not limited to) skimpy or sheer clothing, 14487 // strategically 14488 // covered nudity, lewd or provocative poses, or close-ups of 14489 // sensitive 14490 // body areas. 14491 // 14492 // Possible values: 14493 // "UNKNOWN" - Unknown likelihood. 14494 // "VERY_UNLIKELY" - It is very unlikely. 14495 // "UNLIKELY" - It is unlikely. 14496 // "POSSIBLE" - It is possible. 14497 // "LIKELY" - It is likely. 14498 // "VERY_LIKELY" - It is very likely. 14499 Racy string `json:"racy,omitempty"` 14500 14501 // Spoof: Spoof likelihood. The likelihood that an modification 14502 // was made to the image's canonical version to make it appear 14503 // funny or offensive. 14504 // 14505 // Possible values: 14506 // "UNKNOWN" - Unknown likelihood. 14507 // "VERY_UNLIKELY" - It is very unlikely. 14508 // "UNLIKELY" - It is unlikely. 14509 // "POSSIBLE" - It is possible. 14510 // "LIKELY" - It is likely. 14511 // "VERY_LIKELY" - It is very likely. 14512 Spoof string `json:"spoof,omitempty"` 14513 14514 // Violence: Likelihood that this image contains violent content. 14515 // 14516 // Possible values: 14517 // "UNKNOWN" - Unknown likelihood. 14518 // "VERY_UNLIKELY" - It is very unlikely. 14519 // "UNLIKELY" - It is unlikely. 14520 // "POSSIBLE" - It is possible. 14521 // "LIKELY" - It is likely. 14522 // "VERY_LIKELY" - It is very likely. 14523 Violence string `json:"violence,omitempty"` 14524 14525 // ForceSendFields is a list of field names (e.g. "Adult") to 14526 // unconditionally include in API requests. By default, fields with 14527 // empty values are omitted from API requests. However, any non-pointer, 14528 // non-interface field appearing in ForceSendFields will be sent to the 14529 // server regardless of whether the field is empty or not. This may be 14530 // used to include empty fields in Patch requests. 14531 ForceSendFields []string `json:"-"` 14532 14533 // NullFields is a list of field names (e.g. "Adult") to include in API 14534 // requests with the JSON null value. By default, fields with empty 14535 // values are omitted from API requests. However, any field with an 14536 // empty value appearing in NullFields will be sent to the server as 14537 // null. It is an error if a field in this list has a non-empty value. 14538 // This may be used to include null fields in Patch requests. 14539 NullFields []string `json:"-"` 14540} 14541 14542func (s *SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 14543 type NoMethod SafeSearchAnnotation 14544 raw := NoMethod(*s) 14545 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14546} 14547 14548// Status: The `Status` type defines a logical error model that is 14549// suitable for 14550// different programming environments, including REST APIs and RPC APIs. 14551// It is 14552// used by [gRPC](https://github.com/grpc). Each `Status` message 14553// contains 14554// three pieces of data: error code, error message, and error 14555// details. 14556// 14557// You can find out more about this error model and how to work with it 14558// in the 14559// [API Design Guide](https://cloud.google.com/apis/design/errors). 14560type Status struct { 14561 // Code: The status code, which should be an enum value of 14562 // google.rpc.Code. 14563 Code int64 `json:"code,omitempty"` 14564 14565 // Details: A list of messages that carry the error details. There is a 14566 // common set of 14567 // message types for APIs to use. 14568 Details []googleapi.RawMessage `json:"details,omitempty"` 14569 14570 // Message: A developer-facing error message, which should be in 14571 // English. Any 14572 // user-facing error message should be localized and sent in 14573 // the 14574 // google.rpc.Status.details field, or localized by the client. 14575 Message string `json:"message,omitempty"` 14576 14577 // ForceSendFields is a list of field names (e.g. "Code") to 14578 // unconditionally include in API requests. By default, fields with 14579 // empty values are omitted from API requests. However, any non-pointer, 14580 // non-interface field appearing in ForceSendFields will be sent to the 14581 // server regardless of whether the field is empty or not. This may be 14582 // used to include empty fields in Patch requests. 14583 ForceSendFields []string `json:"-"` 14584 14585 // NullFields is a list of field names (e.g. "Code") to include in API 14586 // requests with the JSON null value. By default, fields with empty 14587 // values are omitted from API requests. However, any field with an 14588 // empty value appearing in NullFields will be sent to the server as 14589 // null. It is an error if a field in this list has a non-empty value. 14590 // This may be used to include null fields in Patch requests. 14591 NullFields []string `json:"-"` 14592} 14593 14594func (s *Status) MarshalJSON() ([]byte, error) { 14595 type NoMethod Status 14596 raw := NoMethod(*s) 14597 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14598} 14599 14600// Symbol: A single symbol representation. 14601type Symbol struct { 14602 // BoundingBox: The bounding box for the symbol. 14603 // The vertices are in the order of top-left, top-right, 14604 // bottom-right, 14605 // bottom-left. When a rotation of the bounding box is detected the 14606 // rotation 14607 // is represented as around the top-left corner as defined when the text 14608 // is 14609 // read in the 'natural' orientation. 14610 // For example: 14611 // * when the text is horizontal it might look like: 14612 // 0----1 14613 // | | 14614 // 3----2 14615 // * when it's rotated 180 degrees around the top-left corner it 14616 // becomes: 14617 // 2----3 14618 // | | 14619 // 1----0 14620 // and the vertex order will still be (0, 1, 2, 3). 14621 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 14622 14623 // Confidence: Confidence of the OCR results for the symbol. Range [0, 14624 // 1]. 14625 Confidence float64 `json:"confidence,omitempty"` 14626 14627 // Property: Additional information detected for the symbol. 14628 Property *TextProperty `json:"property,omitempty"` 14629 14630 // Text: The actual UTF-8 representation of the symbol. 14631 Text string `json:"text,omitempty"` 14632 14633 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 14634 // unconditionally include in API requests. By default, fields with 14635 // empty values are omitted from API requests. However, any non-pointer, 14636 // non-interface field appearing in ForceSendFields will be sent to the 14637 // server regardless of whether the field is empty or not. This may be 14638 // used to include empty fields in Patch requests. 14639 ForceSendFields []string `json:"-"` 14640 14641 // NullFields is a list of field names (e.g. "BoundingBox") to include 14642 // in API requests with the JSON null value. By default, fields with 14643 // empty values are omitted from API requests. However, any field with 14644 // an empty value appearing in NullFields will be sent to the server as 14645 // null. It is an error if a field in this list has a non-empty value. 14646 // This may be used to include null fields in Patch requests. 14647 NullFields []string `json:"-"` 14648} 14649 14650func (s *Symbol) MarshalJSON() ([]byte, error) { 14651 type NoMethod Symbol 14652 raw := NoMethod(*s) 14653 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14654} 14655 14656func (s *Symbol) UnmarshalJSON(data []byte) error { 14657 type NoMethod Symbol 14658 var s1 struct { 14659 Confidence gensupport.JSONFloat64 `json:"confidence"` 14660 *NoMethod 14661 } 14662 s1.NoMethod = (*NoMethod)(s) 14663 if err := json.Unmarshal(data, &s1); err != nil { 14664 return err 14665 } 14666 s.Confidence = float64(s1.Confidence) 14667 return nil 14668} 14669 14670// TextAnnotation: TextAnnotation contains a structured representation 14671// of OCR extracted text. 14672// The hierarchy of an OCR extracted text structure is like this: 14673// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 14674// Symbol 14675// Each structural component, starting from Page, may further have their 14676// own 14677// properties. Properties describe detected languages, breaks etc.. 14678// Please refer 14679// to the TextAnnotation.TextProperty message definition below for 14680// more 14681// detail. 14682type TextAnnotation struct { 14683 // Pages: List of pages detected by OCR. 14684 Pages []*Page `json:"pages,omitempty"` 14685 14686 // Text: UTF-8 text detected on the pages. 14687 Text string `json:"text,omitempty"` 14688 14689 // ForceSendFields is a list of field names (e.g. "Pages") to 14690 // unconditionally include in API requests. By default, fields with 14691 // empty values are omitted from API requests. However, any non-pointer, 14692 // non-interface field appearing in ForceSendFields will be sent to the 14693 // server regardless of whether the field is empty or not. This may be 14694 // used to include empty fields in Patch requests. 14695 ForceSendFields []string `json:"-"` 14696 14697 // NullFields is a list of field names (e.g. "Pages") to include in API 14698 // requests with the JSON null value. By default, fields with empty 14699 // values are omitted from API requests. However, any field with an 14700 // empty value appearing in NullFields will be sent to the server as 14701 // null. It is an error if a field in this list has a non-empty value. 14702 // This may be used to include null fields in Patch requests. 14703 NullFields []string `json:"-"` 14704} 14705 14706func (s *TextAnnotation) MarshalJSON() ([]byte, error) { 14707 type NoMethod TextAnnotation 14708 raw := NoMethod(*s) 14709 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14710} 14711 14712// TextProperty: Additional information detected on the structural 14713// component. 14714type TextProperty struct { 14715 // DetectedBreak: Detected start or end of a text segment. 14716 DetectedBreak *DetectedBreak `json:"detectedBreak,omitempty"` 14717 14718 // DetectedLanguages: A list of detected languages together with 14719 // confidence. 14720 DetectedLanguages []*DetectedLanguage `json:"detectedLanguages,omitempty"` 14721 14722 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 14723 // unconditionally include in API requests. By default, fields with 14724 // empty values are omitted from API requests. However, any non-pointer, 14725 // non-interface field appearing in ForceSendFields will be sent to the 14726 // server regardless of whether the field is empty or not. This may be 14727 // used to include empty fields in Patch requests. 14728 ForceSendFields []string `json:"-"` 14729 14730 // NullFields is a list of field names (e.g. "DetectedBreak") to include 14731 // in API requests with the JSON null value. By default, fields with 14732 // empty values are omitted from API requests. However, any field with 14733 // an empty value appearing in NullFields will be sent to the server as 14734 // null. It is an error if a field in this list has a non-empty value. 14735 // This may be used to include null fields in Patch requests. 14736 NullFields []string `json:"-"` 14737} 14738 14739func (s *TextProperty) MarshalJSON() ([]byte, error) { 14740 type NoMethod TextProperty 14741 raw := NoMethod(*s) 14742 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14743} 14744 14745// Vertex: A vertex represents a 2D point in the image. 14746// NOTE: the vertex coordinates are in the same scale as the original 14747// image. 14748type Vertex struct { 14749 // X: X coordinate. 14750 X int64 `json:"x,omitempty"` 14751 14752 // Y: Y coordinate. 14753 Y int64 `json:"y,omitempty"` 14754 14755 // ForceSendFields is a list of field names (e.g. "X") to 14756 // unconditionally include in API requests. By default, fields with 14757 // empty values are omitted from API requests. However, any non-pointer, 14758 // non-interface field appearing in ForceSendFields will be sent to the 14759 // server regardless of whether the field is empty or not. This may be 14760 // used to include empty fields in Patch requests. 14761 ForceSendFields []string `json:"-"` 14762 14763 // NullFields is a list of field names (e.g. "X") to include in API 14764 // requests with the JSON null value. By default, fields with empty 14765 // values are omitted from API requests. However, any field with an 14766 // empty value appearing in NullFields will be sent to the server as 14767 // null. It is an error if a field in this list has a non-empty value. 14768 // This may be used to include null fields in Patch requests. 14769 NullFields []string `json:"-"` 14770} 14771 14772func (s *Vertex) MarshalJSON() ([]byte, error) { 14773 type NoMethod Vertex 14774 raw := NoMethod(*s) 14775 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14776} 14777 14778// WebDetection: Relevant information for the image from the Internet. 14779type WebDetection struct { 14780 // BestGuessLabels: The service's best guess as to the topic of the 14781 // request image. 14782 // Inferred from similar images on the open web. 14783 BestGuessLabels []*WebLabel `json:"bestGuessLabels,omitempty"` 14784 14785 // FullMatchingImages: Fully matching images from the Internet. 14786 // Can include resized copies of the query image. 14787 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 14788 14789 // PagesWithMatchingImages: Web pages containing the matching images 14790 // from the Internet. 14791 PagesWithMatchingImages []*WebPage `json:"pagesWithMatchingImages,omitempty"` 14792 14793 // PartialMatchingImages: Partial matching images from the 14794 // Internet. 14795 // Those images are similar enough to share some key-point features. 14796 // For 14797 // example an original image will likely have partial matching for its 14798 // crops. 14799 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 14800 14801 // VisuallySimilarImages: The visually similar image results. 14802 VisuallySimilarImages []*WebImage `json:"visuallySimilarImages,omitempty"` 14803 14804 // WebEntities: Deduced entities from similar images on the Internet. 14805 WebEntities []*WebEntity `json:"webEntities,omitempty"` 14806 14807 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 14808 // unconditionally include in API requests. By default, fields with 14809 // empty values are omitted from API requests. However, any non-pointer, 14810 // non-interface field appearing in ForceSendFields will be sent to the 14811 // server regardless of whether the field is empty or not. This may be 14812 // used to include empty fields in Patch requests. 14813 ForceSendFields []string `json:"-"` 14814 14815 // NullFields is a list of field names (e.g. "BestGuessLabels") to 14816 // include in API requests with the JSON null value. By default, fields 14817 // with empty values are omitted from API requests. However, any field 14818 // with an empty value appearing in NullFields will be sent to the 14819 // server as null. It is an error if a field in this list has a 14820 // non-empty value. This may be used to include null fields in Patch 14821 // requests. 14822 NullFields []string `json:"-"` 14823} 14824 14825func (s *WebDetection) MarshalJSON() ([]byte, error) { 14826 type NoMethod WebDetection 14827 raw := NoMethod(*s) 14828 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14829} 14830 14831// WebDetectionParams: Parameters for web detection request. 14832type WebDetectionParams struct { 14833 // IncludeGeoResults: Whether to include results derived from the geo 14834 // information in the image. 14835 IncludeGeoResults bool `json:"includeGeoResults,omitempty"` 14836 14837 // ForceSendFields is a list of field names (e.g. "IncludeGeoResults") 14838 // to unconditionally include in API requests. By default, fields with 14839 // empty values are omitted from API requests. However, any non-pointer, 14840 // non-interface field appearing in ForceSendFields will be sent to the 14841 // server regardless of whether the field is empty or not. This may be 14842 // used to include empty fields in Patch requests. 14843 ForceSendFields []string `json:"-"` 14844 14845 // NullFields is a list of field names (e.g. "IncludeGeoResults") to 14846 // include in API requests with the JSON null value. By default, fields 14847 // with empty values are omitted from API requests. However, any field 14848 // with an empty value appearing in NullFields will be sent to the 14849 // server as null. It is an error if a field in this list has a 14850 // non-empty value. This may be used to include null fields in Patch 14851 // requests. 14852 NullFields []string `json:"-"` 14853} 14854 14855func (s *WebDetectionParams) MarshalJSON() ([]byte, error) { 14856 type NoMethod WebDetectionParams 14857 raw := NoMethod(*s) 14858 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14859} 14860 14861// WebEntity: Entity deduced from similar images on the Internet. 14862type WebEntity struct { 14863 // Description: Canonical description of the entity, in English. 14864 Description string `json:"description,omitempty"` 14865 14866 // EntityId: Opaque entity ID. 14867 EntityId string `json:"entityId,omitempty"` 14868 14869 // Score: Overall relevancy score for the entity. 14870 // Not normalized and not comparable across different image queries. 14871 Score float64 `json:"score,omitempty"` 14872 14873 // ForceSendFields is a list of field names (e.g. "Description") to 14874 // unconditionally include in API requests. By default, fields with 14875 // empty values are omitted from API requests. However, any non-pointer, 14876 // non-interface field appearing in ForceSendFields will be sent to the 14877 // server regardless of whether the field is empty or not. This may be 14878 // used to include empty fields in Patch requests. 14879 ForceSendFields []string `json:"-"` 14880 14881 // NullFields is a list of field names (e.g. "Description") to include 14882 // in API requests with the JSON null value. By default, fields with 14883 // empty values are omitted from API requests. However, any field with 14884 // an empty value appearing in NullFields will be sent to the server as 14885 // null. It is an error if a field in this list has a non-empty value. 14886 // This may be used to include null fields in Patch requests. 14887 NullFields []string `json:"-"` 14888} 14889 14890func (s *WebEntity) MarshalJSON() ([]byte, error) { 14891 type NoMethod WebEntity 14892 raw := NoMethod(*s) 14893 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14894} 14895 14896func (s *WebEntity) UnmarshalJSON(data []byte) error { 14897 type NoMethod WebEntity 14898 var s1 struct { 14899 Score gensupport.JSONFloat64 `json:"score"` 14900 *NoMethod 14901 } 14902 s1.NoMethod = (*NoMethod)(s) 14903 if err := json.Unmarshal(data, &s1); err != nil { 14904 return err 14905 } 14906 s.Score = float64(s1.Score) 14907 return nil 14908} 14909 14910// WebImage: Metadata for online images. 14911type WebImage struct { 14912 // Score: (Deprecated) Overall relevancy score for the image. 14913 Score float64 `json:"score,omitempty"` 14914 14915 // Url: The result image URL. 14916 Url string `json:"url,omitempty"` 14917 14918 // ForceSendFields is a list of field names (e.g. "Score") to 14919 // unconditionally include in API requests. By default, fields with 14920 // empty values are omitted from API requests. However, any non-pointer, 14921 // non-interface field appearing in ForceSendFields will be sent to the 14922 // server regardless of whether the field is empty or not. This may be 14923 // used to include empty fields in Patch requests. 14924 ForceSendFields []string `json:"-"` 14925 14926 // NullFields is a list of field names (e.g. "Score") to include in API 14927 // requests with the JSON null value. By default, fields with empty 14928 // values are omitted from API requests. However, any field with an 14929 // empty value appearing in NullFields will be sent to the server as 14930 // null. It is an error if a field in this list has a non-empty value. 14931 // This may be used to include null fields in Patch requests. 14932 NullFields []string `json:"-"` 14933} 14934 14935func (s *WebImage) MarshalJSON() ([]byte, error) { 14936 type NoMethod WebImage 14937 raw := NoMethod(*s) 14938 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14939} 14940 14941func (s *WebImage) UnmarshalJSON(data []byte) error { 14942 type NoMethod WebImage 14943 var s1 struct { 14944 Score gensupport.JSONFloat64 `json:"score"` 14945 *NoMethod 14946 } 14947 s1.NoMethod = (*NoMethod)(s) 14948 if err := json.Unmarshal(data, &s1); err != nil { 14949 return err 14950 } 14951 s.Score = float64(s1.Score) 14952 return nil 14953} 14954 14955// WebLabel: Label to provide extra metadata for the web detection. 14956type WebLabel struct { 14957 // Label: Label for extra metadata. 14958 Label string `json:"label,omitempty"` 14959 14960 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 14961 // or "sr-Latn". 14962 // For more information, 14963 // see 14964 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 14965 LanguageCode string `json:"languageCode,omitempty"` 14966 14967 // ForceSendFields is a list of field names (e.g. "Label") to 14968 // unconditionally include in API requests. By default, fields with 14969 // empty values are omitted from API requests. However, any non-pointer, 14970 // non-interface field appearing in ForceSendFields will be sent to the 14971 // server regardless of whether the field is empty or not. This may be 14972 // used to include empty fields in Patch requests. 14973 ForceSendFields []string `json:"-"` 14974 14975 // NullFields is a list of field names (e.g. "Label") to include in API 14976 // requests with the JSON null value. By default, fields with empty 14977 // values are omitted from API requests. However, any field with an 14978 // empty value appearing in NullFields will be sent to the server as 14979 // null. It is an error if a field in this list has a non-empty value. 14980 // This may be used to include null fields in Patch requests. 14981 NullFields []string `json:"-"` 14982} 14983 14984func (s *WebLabel) MarshalJSON() ([]byte, error) { 14985 type NoMethod WebLabel 14986 raw := NoMethod(*s) 14987 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14988} 14989 14990// WebPage: Metadata for web pages. 14991type WebPage struct { 14992 // FullMatchingImages: Fully matching images on the page. 14993 // Can include resized copies of the query image. 14994 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 14995 14996 // PageTitle: Title for the web page, may contain HTML markups. 14997 PageTitle string `json:"pageTitle,omitempty"` 14998 14999 // PartialMatchingImages: Partial matching images on the page. 15000 // Those images are similar enough to share some key-point features. 15001 // For 15002 // example an original image will likely have partial matching for 15003 // its 15004 // crops. 15005 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 15006 15007 // Score: (Deprecated) Overall relevancy score for the web page. 15008 Score float64 `json:"score,omitempty"` 15009 15010 // Url: The result web page URL. 15011 Url string `json:"url,omitempty"` 15012 15013 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 15014 // to unconditionally include in API requests. By default, fields with 15015 // empty values are omitted from API requests. However, any non-pointer, 15016 // non-interface field appearing in ForceSendFields will be sent to the 15017 // server regardless of whether the field is empty or not. This may be 15018 // used to include empty fields in Patch requests. 15019 ForceSendFields []string `json:"-"` 15020 15021 // NullFields is a list of field names (e.g. "FullMatchingImages") to 15022 // include in API requests with the JSON null value. By default, fields 15023 // with empty values are omitted from API requests. However, any field 15024 // with an empty value appearing in NullFields will be sent to the 15025 // server as null. It is an error if a field in this list has a 15026 // non-empty value. This may be used to include null fields in Patch 15027 // requests. 15028 NullFields []string `json:"-"` 15029} 15030 15031func (s *WebPage) MarshalJSON() ([]byte, error) { 15032 type NoMethod WebPage 15033 raw := NoMethod(*s) 15034 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15035} 15036 15037func (s *WebPage) UnmarshalJSON(data []byte) error { 15038 type NoMethod WebPage 15039 var s1 struct { 15040 Score gensupport.JSONFloat64 `json:"score"` 15041 *NoMethod 15042 } 15043 s1.NoMethod = (*NoMethod)(s) 15044 if err := json.Unmarshal(data, &s1); err != nil { 15045 return err 15046 } 15047 s.Score = float64(s1.Score) 15048 return nil 15049} 15050 15051// Word: A word representation. 15052type Word struct { 15053 // BoundingBox: The bounding box for the word. 15054 // The vertices are in the order of top-left, top-right, 15055 // bottom-right, 15056 // bottom-left. When a rotation of the bounding box is detected the 15057 // rotation 15058 // is represented as around the top-left corner as defined when the text 15059 // is 15060 // read in the 'natural' orientation. 15061 // For example: 15062 // * when the text is horizontal it might look like: 15063 // 0----1 15064 // | | 15065 // 3----2 15066 // * when it's rotated 180 degrees around the top-left corner it 15067 // becomes: 15068 // 2----3 15069 // | | 15070 // 1----0 15071 // and the vertex order will still be (0, 1, 2, 3). 15072 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 15073 15074 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 15075 Confidence float64 `json:"confidence,omitempty"` 15076 15077 // Property: Additional information detected for the word. 15078 Property *TextProperty `json:"property,omitempty"` 15079 15080 // Symbols: List of symbols in the word. 15081 // The order of the symbols follows the natural reading order. 15082 Symbols []*Symbol `json:"symbols,omitempty"` 15083 15084 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 15085 // unconditionally include in API requests. By default, fields with 15086 // empty values are omitted from API requests. However, any non-pointer, 15087 // non-interface field appearing in ForceSendFields will be sent to the 15088 // server regardless of whether the field is empty or not. This may be 15089 // used to include empty fields in Patch requests. 15090 ForceSendFields []string `json:"-"` 15091 15092 // NullFields is a list of field names (e.g. "BoundingBox") to include 15093 // in API requests with the JSON null value. By default, fields with 15094 // empty values are omitted from API requests. However, any field with 15095 // an empty value appearing in NullFields will be sent to the server as 15096 // null. It is an error if a field in this list has a non-empty value. 15097 // This may be used to include null fields in Patch requests. 15098 NullFields []string `json:"-"` 15099} 15100 15101func (s *Word) MarshalJSON() ([]byte, error) { 15102 type NoMethod Word 15103 raw := NoMethod(*s) 15104 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15105} 15106 15107func (s *Word) UnmarshalJSON(data []byte) error { 15108 type NoMethod Word 15109 var s1 struct { 15110 Confidence gensupport.JSONFloat64 `json:"confidence"` 15111 *NoMethod 15112 } 15113 s1.NoMethod = (*NoMethod)(s) 15114 if err := json.Unmarshal(data, &s1); err != nil { 15115 return err 15116 } 15117 s.Confidence = float64(s1.Confidence) 15118 return nil 15119} 15120 15121// method id "vision.files.annotate": 15122 15123type FilesAnnotateCall struct { 15124 s *Service 15125 batchannotatefilesrequest *BatchAnnotateFilesRequest 15126 urlParams_ gensupport.URLParams 15127 ctx_ context.Context 15128 header_ http.Header 15129} 15130 15131// Annotate: Service that performs image detection and annotation for a 15132// batch of files. 15133// Now only "application/pdf", "image/tiff" and "image/gif" are 15134// supported. 15135// 15136// This service will extract at most 5 (customers can specify which 5 15137// in 15138// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 15139// each 15140// file provided and perform detection and annotation for each 15141// image 15142// extracted. 15143func (r *FilesService) Annotate(batchannotatefilesrequest *BatchAnnotateFilesRequest) *FilesAnnotateCall { 15144 c := &FilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15145 c.batchannotatefilesrequest = batchannotatefilesrequest 15146 return c 15147} 15148 15149// Fields allows partial responses to be retrieved. See 15150// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15151// for more information. 15152func (c *FilesAnnotateCall) Fields(s ...googleapi.Field) *FilesAnnotateCall { 15153 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15154 return c 15155} 15156 15157// Context sets the context to be used in this call's Do method. Any 15158// pending HTTP request will be aborted if the provided context is 15159// canceled. 15160func (c *FilesAnnotateCall) Context(ctx context.Context) *FilesAnnotateCall { 15161 c.ctx_ = ctx 15162 return c 15163} 15164 15165// Header returns an http.Header that can be modified by the caller to 15166// add HTTP headers to the request. 15167func (c *FilesAnnotateCall) Header() http.Header { 15168 if c.header_ == nil { 15169 c.header_ = make(http.Header) 15170 } 15171 return c.header_ 15172} 15173 15174func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 15175 reqHeaders := make(http.Header) 15176 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 15177 for k, v := range c.header_ { 15178 reqHeaders[k] = v 15179 } 15180 reqHeaders.Set("User-Agent", c.s.userAgent()) 15181 var body io.Reader = nil 15182 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotatefilesrequest) 15183 if err != nil { 15184 return nil, err 15185 } 15186 reqHeaders.Set("Content-Type", "application/json") 15187 c.urlParams_.Set("alt", alt) 15188 c.urlParams_.Set("prettyPrint", "false") 15189 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/files:annotate") 15190 urls += "?" + c.urlParams_.Encode() 15191 req, err := http.NewRequest("POST", urls, body) 15192 if err != nil { 15193 return nil, err 15194 } 15195 req.Header = reqHeaders 15196 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15197} 15198 15199// Do executes the "vision.files.annotate" call. 15200// Exactly one of *BatchAnnotateFilesResponse or error will be non-nil. 15201// Any non-2xx status code is an error. Response headers are in either 15202// *BatchAnnotateFilesResponse.ServerResponse.Header or (if a response 15203// was returned at all) in error.(*googleapi.Error).Header. Use 15204// googleapi.IsNotModified to check whether the returned error was 15205// because http.StatusNotModified was returned. 15206func (c *FilesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateFilesResponse, error) { 15207 gensupport.SetOptions(c.urlParams_, opts...) 15208 res, err := c.doRequest("json") 15209 if res != nil && res.StatusCode == http.StatusNotModified { 15210 if res.Body != nil { 15211 res.Body.Close() 15212 } 15213 return nil, &googleapi.Error{ 15214 Code: res.StatusCode, 15215 Header: res.Header, 15216 } 15217 } 15218 if err != nil { 15219 return nil, err 15220 } 15221 defer googleapi.CloseBody(res) 15222 if err := googleapi.CheckResponse(res); err != nil { 15223 return nil, err 15224 } 15225 ret := &BatchAnnotateFilesResponse{ 15226 ServerResponse: googleapi.ServerResponse{ 15227 Header: res.Header, 15228 HTTPStatusCode: res.StatusCode, 15229 }, 15230 } 15231 target := &ret 15232 if err := gensupport.DecodeResponse(target, res); err != nil { 15233 return nil, err 15234 } 15235 return ret, nil 15236 // { 15237 // "description": "Service that performs image detection and annotation for a batch of files.\nNow only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported.\n\nThis service will extract at most 5 (customers can specify which 5 in\nAnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each\nfile provided and perform detection and annotation for each image\nextracted.", 15238 // "flatPath": "v1/files:annotate", 15239 // "httpMethod": "POST", 15240 // "id": "vision.files.annotate", 15241 // "parameterOrder": [], 15242 // "parameters": {}, 15243 // "path": "v1/files:annotate", 15244 // "request": { 15245 // "$ref": "BatchAnnotateFilesRequest" 15246 // }, 15247 // "response": { 15248 // "$ref": "BatchAnnotateFilesResponse" 15249 // }, 15250 // "scopes": [ 15251 // "https://www.googleapis.com/auth/cloud-platform", 15252 // "https://www.googleapis.com/auth/cloud-vision" 15253 // ] 15254 // } 15255 15256} 15257 15258// method id "vision.files.asyncBatchAnnotate": 15259 15260type FilesAsyncBatchAnnotateCall struct { 15261 s *Service 15262 asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest 15263 urlParams_ gensupport.URLParams 15264 ctx_ context.Context 15265 header_ http.Header 15266} 15267 15268// AsyncBatchAnnotate: Run asynchronous image detection and annotation 15269// for a list of generic 15270// files, such as PDF files, which may contain multiple pages and 15271// multiple 15272// images per page. Progress and results can be retrieved through 15273// the 15274// `google.longrunning.Operations` interface. 15275// `Operation.metadata` contains `OperationMetadata` 15276// (metadata). 15277// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 15278// (results). 15279func (r *FilesService) AsyncBatchAnnotate(asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest) *FilesAsyncBatchAnnotateCall { 15280 c := &FilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15281 c.asyncbatchannotatefilesrequest = asyncbatchannotatefilesrequest 15282 return c 15283} 15284 15285// Fields allows partial responses to be retrieved. See 15286// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15287// for more information. 15288func (c *FilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *FilesAsyncBatchAnnotateCall { 15289 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15290 return c 15291} 15292 15293// Context sets the context to be used in this call's Do method. Any 15294// pending HTTP request will be aborted if the provided context is 15295// canceled. 15296func (c *FilesAsyncBatchAnnotateCall) Context(ctx context.Context) *FilesAsyncBatchAnnotateCall { 15297 c.ctx_ = ctx 15298 return c 15299} 15300 15301// Header returns an http.Header that can be modified by the caller to 15302// add HTTP headers to the request. 15303func (c *FilesAsyncBatchAnnotateCall) Header() http.Header { 15304 if c.header_ == nil { 15305 c.header_ = make(http.Header) 15306 } 15307 return c.header_ 15308} 15309 15310func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 15311 reqHeaders := make(http.Header) 15312 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 15313 for k, v := range c.header_ { 15314 reqHeaders[k] = v 15315 } 15316 reqHeaders.Set("User-Agent", c.s.userAgent()) 15317 var body io.Reader = nil 15318 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotatefilesrequest) 15319 if err != nil { 15320 return nil, err 15321 } 15322 reqHeaders.Set("Content-Type", "application/json") 15323 c.urlParams_.Set("alt", alt) 15324 c.urlParams_.Set("prettyPrint", "false") 15325 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/files:asyncBatchAnnotate") 15326 urls += "?" + c.urlParams_.Encode() 15327 req, err := http.NewRequest("POST", urls, body) 15328 if err != nil { 15329 return nil, err 15330 } 15331 req.Header = reqHeaders 15332 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15333} 15334 15335// Do executes the "vision.files.asyncBatchAnnotate" call. 15336// Exactly one of *Operation or error will be non-nil. Any non-2xx 15337// status code is an error. Response headers are in either 15338// *Operation.ServerResponse.Header or (if a response was returned at 15339// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 15340// to check whether the returned error was because 15341// http.StatusNotModified was returned. 15342func (c *FilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 15343 gensupport.SetOptions(c.urlParams_, opts...) 15344 res, err := c.doRequest("json") 15345 if res != nil && res.StatusCode == http.StatusNotModified { 15346 if res.Body != nil { 15347 res.Body.Close() 15348 } 15349 return nil, &googleapi.Error{ 15350 Code: res.StatusCode, 15351 Header: res.Header, 15352 } 15353 } 15354 if err != nil { 15355 return nil, err 15356 } 15357 defer googleapi.CloseBody(res) 15358 if err := googleapi.CheckResponse(res); err != nil { 15359 return nil, err 15360 } 15361 ret := &Operation{ 15362 ServerResponse: googleapi.ServerResponse{ 15363 Header: res.Header, 15364 HTTPStatusCode: res.StatusCode, 15365 }, 15366 } 15367 target := &ret 15368 if err := gensupport.DecodeResponse(target, res); err != nil { 15369 return nil, err 15370 } 15371 return ret, nil 15372 // { 15373 // "description": "Run asynchronous image detection and annotation for a list of generic\nfiles, such as PDF files, which may contain multiple pages and multiple\nimages per page. Progress and results can be retrieved through the\n`google.longrunning.Operations` interface.\n`Operation.metadata` contains `OperationMetadata` (metadata).\n`Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 15374 // "flatPath": "v1/files:asyncBatchAnnotate", 15375 // "httpMethod": "POST", 15376 // "id": "vision.files.asyncBatchAnnotate", 15377 // "parameterOrder": [], 15378 // "parameters": {}, 15379 // "path": "v1/files:asyncBatchAnnotate", 15380 // "request": { 15381 // "$ref": "AsyncBatchAnnotateFilesRequest" 15382 // }, 15383 // "response": { 15384 // "$ref": "Operation" 15385 // }, 15386 // "scopes": [ 15387 // "https://www.googleapis.com/auth/cloud-platform", 15388 // "https://www.googleapis.com/auth/cloud-vision" 15389 // ] 15390 // } 15391 15392} 15393 15394// method id "vision.images.annotate": 15395 15396type ImagesAnnotateCall struct { 15397 s *Service 15398 batchannotateimagesrequest *BatchAnnotateImagesRequest 15399 urlParams_ gensupport.URLParams 15400 ctx_ context.Context 15401 header_ http.Header 15402} 15403 15404// Annotate: Run image detection and annotation for a batch of images. 15405func (r *ImagesService) Annotate(batchannotateimagesrequest *BatchAnnotateImagesRequest) *ImagesAnnotateCall { 15406 c := &ImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15407 c.batchannotateimagesrequest = batchannotateimagesrequest 15408 return c 15409} 15410 15411// Fields allows partial responses to be retrieved. See 15412// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15413// for more information. 15414func (c *ImagesAnnotateCall) Fields(s ...googleapi.Field) *ImagesAnnotateCall { 15415 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15416 return c 15417} 15418 15419// Context sets the context to be used in this call's Do method. Any 15420// pending HTTP request will be aborted if the provided context is 15421// canceled. 15422func (c *ImagesAnnotateCall) Context(ctx context.Context) *ImagesAnnotateCall { 15423 c.ctx_ = ctx 15424 return c 15425} 15426 15427// Header returns an http.Header that can be modified by the caller to 15428// add HTTP headers to the request. 15429func (c *ImagesAnnotateCall) Header() http.Header { 15430 if c.header_ == nil { 15431 c.header_ = make(http.Header) 15432 } 15433 return c.header_ 15434} 15435 15436func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 15437 reqHeaders := make(http.Header) 15438 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 15439 for k, v := range c.header_ { 15440 reqHeaders[k] = v 15441 } 15442 reqHeaders.Set("User-Agent", c.s.userAgent()) 15443 var body io.Reader = nil 15444 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotateimagesrequest) 15445 if err != nil { 15446 return nil, err 15447 } 15448 reqHeaders.Set("Content-Type", "application/json") 15449 c.urlParams_.Set("alt", alt) 15450 c.urlParams_.Set("prettyPrint", "false") 15451 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/images:annotate") 15452 urls += "?" + c.urlParams_.Encode() 15453 req, err := http.NewRequest("POST", urls, body) 15454 if err != nil { 15455 return nil, err 15456 } 15457 req.Header = reqHeaders 15458 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15459} 15460 15461// Do executes the "vision.images.annotate" call. 15462// Exactly one of *BatchAnnotateImagesResponse or error will be non-nil. 15463// Any non-2xx status code is an error. Response headers are in either 15464// *BatchAnnotateImagesResponse.ServerResponse.Header or (if a response 15465// was returned at all) in error.(*googleapi.Error).Header. Use 15466// googleapi.IsNotModified to check whether the returned error was 15467// because http.StatusNotModified was returned. 15468func (c *ImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateImagesResponse, error) { 15469 gensupport.SetOptions(c.urlParams_, opts...) 15470 res, err := c.doRequest("json") 15471 if res != nil && res.StatusCode == http.StatusNotModified { 15472 if res.Body != nil { 15473 res.Body.Close() 15474 } 15475 return nil, &googleapi.Error{ 15476 Code: res.StatusCode, 15477 Header: res.Header, 15478 } 15479 } 15480 if err != nil { 15481 return nil, err 15482 } 15483 defer googleapi.CloseBody(res) 15484 if err := googleapi.CheckResponse(res); err != nil { 15485 return nil, err 15486 } 15487 ret := &BatchAnnotateImagesResponse{ 15488 ServerResponse: googleapi.ServerResponse{ 15489 Header: res.Header, 15490 HTTPStatusCode: res.StatusCode, 15491 }, 15492 } 15493 target := &ret 15494 if err := gensupport.DecodeResponse(target, res); err != nil { 15495 return nil, err 15496 } 15497 return ret, nil 15498 // { 15499 // "description": "Run image detection and annotation for a batch of images.", 15500 // "flatPath": "v1/images:annotate", 15501 // "httpMethod": "POST", 15502 // "id": "vision.images.annotate", 15503 // "parameterOrder": [], 15504 // "parameters": {}, 15505 // "path": "v1/images:annotate", 15506 // "request": { 15507 // "$ref": "BatchAnnotateImagesRequest" 15508 // }, 15509 // "response": { 15510 // "$ref": "BatchAnnotateImagesResponse" 15511 // }, 15512 // "scopes": [ 15513 // "https://www.googleapis.com/auth/cloud-platform", 15514 // "https://www.googleapis.com/auth/cloud-vision" 15515 // ] 15516 // } 15517 15518} 15519 15520// method id "vision.images.asyncBatchAnnotate": 15521 15522type ImagesAsyncBatchAnnotateCall struct { 15523 s *Service 15524 asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest 15525 urlParams_ gensupport.URLParams 15526 ctx_ context.Context 15527 header_ http.Header 15528} 15529 15530// AsyncBatchAnnotate: Run asynchronous image detection and annotation 15531// for a list of images. 15532// 15533// Progress and results can be retrieved through 15534// the 15535// `google.longrunning.Operations` interface. 15536// `Operation.metadata` contains `OperationMetadata` 15537// (metadata). 15538// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` 15539// (results). 15540// 15541// This service will write image annotation outputs to json files in 15542// customer 15543// GCS bucket, each json file containing BatchAnnotateImagesResponse 15544// proto. 15545func (r *ImagesService) AsyncBatchAnnotate(asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest) *ImagesAsyncBatchAnnotateCall { 15546 c := &ImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15547 c.asyncbatchannotateimagesrequest = asyncbatchannotateimagesrequest 15548 return c 15549} 15550 15551// Fields allows partial responses to be retrieved. See 15552// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15553// for more information. 15554func (c *ImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ImagesAsyncBatchAnnotateCall { 15555 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15556 return c 15557} 15558 15559// Context sets the context to be used in this call's Do method. Any 15560// pending HTTP request will be aborted if the provided context is 15561// canceled. 15562func (c *ImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ImagesAsyncBatchAnnotateCall { 15563 c.ctx_ = ctx 15564 return c 15565} 15566 15567// Header returns an http.Header that can be modified by the caller to 15568// add HTTP headers to the request. 15569func (c *ImagesAsyncBatchAnnotateCall) Header() http.Header { 15570 if c.header_ == nil { 15571 c.header_ = make(http.Header) 15572 } 15573 return c.header_ 15574} 15575 15576func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 15577 reqHeaders := make(http.Header) 15578 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 15579 for k, v := range c.header_ { 15580 reqHeaders[k] = v 15581 } 15582 reqHeaders.Set("User-Agent", c.s.userAgent()) 15583 var body io.Reader = nil 15584 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotateimagesrequest) 15585 if err != nil { 15586 return nil, err 15587 } 15588 reqHeaders.Set("Content-Type", "application/json") 15589 c.urlParams_.Set("alt", alt) 15590 c.urlParams_.Set("prettyPrint", "false") 15591 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/images:asyncBatchAnnotate") 15592 urls += "?" + c.urlParams_.Encode() 15593 req, err := http.NewRequest("POST", urls, body) 15594 if err != nil { 15595 return nil, err 15596 } 15597 req.Header = reqHeaders 15598 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15599} 15600 15601// Do executes the "vision.images.asyncBatchAnnotate" call. 15602// Exactly one of *Operation or error will be non-nil. Any non-2xx 15603// status code is an error. Response headers are in either 15604// *Operation.ServerResponse.Header or (if a response was returned at 15605// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 15606// to check whether the returned error was because 15607// http.StatusNotModified was returned. 15608func (c *ImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 15609 gensupport.SetOptions(c.urlParams_, opts...) 15610 res, err := c.doRequest("json") 15611 if res != nil && res.StatusCode == http.StatusNotModified { 15612 if res.Body != nil { 15613 res.Body.Close() 15614 } 15615 return nil, &googleapi.Error{ 15616 Code: res.StatusCode, 15617 Header: res.Header, 15618 } 15619 } 15620 if err != nil { 15621 return nil, err 15622 } 15623 defer googleapi.CloseBody(res) 15624 if err := googleapi.CheckResponse(res); err != nil { 15625 return nil, err 15626 } 15627 ret := &Operation{ 15628 ServerResponse: googleapi.ServerResponse{ 15629 Header: res.Header, 15630 HTTPStatusCode: res.StatusCode, 15631 }, 15632 } 15633 target := &ret 15634 if err := gensupport.DecodeResponse(target, res); err != nil { 15635 return nil, err 15636 } 15637 return ret, nil 15638 // { 15639 // "description": "Run asynchronous image detection and annotation for a list of images.\n\nProgress and results can be retrieved through the\n`google.longrunning.Operations` interface.\n`Operation.metadata` contains `OperationMetadata` (metadata).\n`Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).\n\nThis service will write image annotation outputs to json files in customer\nGCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 15640 // "flatPath": "v1/images:asyncBatchAnnotate", 15641 // "httpMethod": "POST", 15642 // "id": "vision.images.asyncBatchAnnotate", 15643 // "parameterOrder": [], 15644 // "parameters": {}, 15645 // "path": "v1/images:asyncBatchAnnotate", 15646 // "request": { 15647 // "$ref": "AsyncBatchAnnotateImagesRequest" 15648 // }, 15649 // "response": { 15650 // "$ref": "Operation" 15651 // }, 15652 // "scopes": [ 15653 // "https://www.googleapis.com/auth/cloud-platform", 15654 // "https://www.googleapis.com/auth/cloud-vision" 15655 // ] 15656 // } 15657 15658} 15659 15660// method id "vision.locations.operations.get": 15661 15662type LocationsOperationsGetCall struct { 15663 s *Service 15664 name string 15665 urlParams_ gensupport.URLParams 15666 ifNoneMatch_ string 15667 ctx_ context.Context 15668 header_ http.Header 15669} 15670 15671// Get: Gets the latest state of a long-running operation. Clients can 15672// use this 15673// method to poll the operation result at intervals as recommended by 15674// the API 15675// service. 15676func (r *LocationsOperationsService) Get(name string) *LocationsOperationsGetCall { 15677 c := &LocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15678 c.name = name 15679 return c 15680} 15681 15682// Fields allows partial responses to be retrieved. See 15683// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15684// for more information. 15685func (c *LocationsOperationsGetCall) Fields(s ...googleapi.Field) *LocationsOperationsGetCall { 15686 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15687 return c 15688} 15689 15690// IfNoneMatch sets the optional parameter which makes the operation 15691// fail if the object's ETag matches the given value. This is useful for 15692// getting updates only after the object has changed since the last 15693// request. Use googleapi.IsNotModified to check whether the response 15694// error from Do is the result of In-None-Match. 15695func (c *LocationsOperationsGetCall) IfNoneMatch(entityTag string) *LocationsOperationsGetCall { 15696 c.ifNoneMatch_ = entityTag 15697 return c 15698} 15699 15700// Context sets the context to be used in this call's Do method. Any 15701// pending HTTP request will be aborted if the provided context is 15702// canceled. 15703func (c *LocationsOperationsGetCall) Context(ctx context.Context) *LocationsOperationsGetCall { 15704 c.ctx_ = ctx 15705 return c 15706} 15707 15708// Header returns an http.Header that can be modified by the caller to 15709// add HTTP headers to the request. 15710func (c *LocationsOperationsGetCall) Header() http.Header { 15711 if c.header_ == nil { 15712 c.header_ = make(http.Header) 15713 } 15714 return c.header_ 15715} 15716 15717func (c *LocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 15718 reqHeaders := make(http.Header) 15719 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 15720 for k, v := range c.header_ { 15721 reqHeaders[k] = v 15722 } 15723 reqHeaders.Set("User-Agent", c.s.userAgent()) 15724 if c.ifNoneMatch_ != "" { 15725 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 15726 } 15727 var body io.Reader = nil 15728 c.urlParams_.Set("alt", alt) 15729 c.urlParams_.Set("prettyPrint", "false") 15730 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 15731 urls += "?" + c.urlParams_.Encode() 15732 req, err := http.NewRequest("GET", urls, body) 15733 if err != nil { 15734 return nil, err 15735 } 15736 req.Header = reqHeaders 15737 googleapi.Expand(req.URL, map[string]string{ 15738 "name": c.name, 15739 }) 15740 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15741} 15742 15743// Do executes the "vision.locations.operations.get" call. 15744// Exactly one of *Operation or error will be non-nil. Any non-2xx 15745// status code is an error. Response headers are in either 15746// *Operation.ServerResponse.Header or (if a response was returned at 15747// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 15748// to check whether the returned error was because 15749// http.StatusNotModified was returned. 15750func (c *LocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 15751 gensupport.SetOptions(c.urlParams_, opts...) 15752 res, err := c.doRequest("json") 15753 if res != nil && res.StatusCode == http.StatusNotModified { 15754 if res.Body != nil { 15755 res.Body.Close() 15756 } 15757 return nil, &googleapi.Error{ 15758 Code: res.StatusCode, 15759 Header: res.Header, 15760 } 15761 } 15762 if err != nil { 15763 return nil, err 15764 } 15765 defer googleapi.CloseBody(res) 15766 if err := googleapi.CheckResponse(res); err != nil { 15767 return nil, err 15768 } 15769 ret := &Operation{ 15770 ServerResponse: googleapi.ServerResponse{ 15771 Header: res.Header, 15772 HTTPStatusCode: res.StatusCode, 15773 }, 15774 } 15775 target := &ret 15776 if err := gensupport.DecodeResponse(target, res); err != nil { 15777 return nil, err 15778 } 15779 return ret, nil 15780 // { 15781 // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", 15782 // "flatPath": "v1/locations/{locationsId}/operations/{operationsId}", 15783 // "httpMethod": "GET", 15784 // "id": "vision.locations.operations.get", 15785 // "parameterOrder": [ 15786 // "name" 15787 // ], 15788 // "parameters": { 15789 // "name": { 15790 // "description": "The name of the operation resource.", 15791 // "location": "path", 15792 // "pattern": "^locations/[^/]+/operations/[^/]+$", 15793 // "required": true, 15794 // "type": "string" 15795 // } 15796 // }, 15797 // "path": "v1/{+name}", 15798 // "response": { 15799 // "$ref": "Operation" 15800 // }, 15801 // "scopes": [ 15802 // "https://www.googleapis.com/auth/cloud-platform", 15803 // "https://www.googleapis.com/auth/cloud-vision" 15804 // ] 15805 // } 15806 15807} 15808 15809// method id "vision.operations.cancel": 15810 15811type OperationsCancelCall struct { 15812 s *Service 15813 name string 15814 canceloperationrequest *CancelOperationRequest 15815 urlParams_ gensupport.URLParams 15816 ctx_ context.Context 15817 header_ http.Header 15818} 15819 15820// Cancel: Starts asynchronous cancellation on a long-running operation. 15821// The server 15822// makes a best effort to cancel the operation, but success is 15823// not 15824// guaranteed. If the server doesn't support this method, it 15825// returns 15826// `google.rpc.Code.UNIMPLEMENTED`. Clients can 15827// use 15828// Operations.GetOperation or 15829// other methods to check whether the cancellation succeeded or whether 15830// the 15831// operation completed despite cancellation. On successful 15832// cancellation, 15833// the operation is not deleted; instead, it becomes an operation 15834// with 15835// an Operation.error value with a google.rpc.Status.code of 15836// 1, 15837// corresponding to `Code.CANCELLED`. 15838func (r *OperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *OperationsCancelCall { 15839 c := &OperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15840 c.name = name 15841 c.canceloperationrequest = canceloperationrequest 15842 return c 15843} 15844 15845// Fields allows partial responses to be retrieved. See 15846// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15847// for more information. 15848func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall { 15849 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15850 return c 15851} 15852 15853// Context sets the context to be used in this call's Do method. Any 15854// pending HTTP request will be aborted if the provided context is 15855// canceled. 15856func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall { 15857 c.ctx_ = ctx 15858 return c 15859} 15860 15861// Header returns an http.Header that can be modified by the caller to 15862// add HTTP headers to the request. 15863func (c *OperationsCancelCall) Header() http.Header { 15864 if c.header_ == nil { 15865 c.header_ = make(http.Header) 15866 } 15867 return c.header_ 15868} 15869 15870func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) { 15871 reqHeaders := make(http.Header) 15872 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 15873 for k, v := range c.header_ { 15874 reqHeaders[k] = v 15875 } 15876 reqHeaders.Set("User-Agent", c.s.userAgent()) 15877 var body io.Reader = nil 15878 body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) 15879 if err != nil { 15880 return nil, err 15881 } 15882 reqHeaders.Set("Content-Type", "application/json") 15883 c.urlParams_.Set("alt", alt) 15884 c.urlParams_.Set("prettyPrint", "false") 15885 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") 15886 urls += "?" + c.urlParams_.Encode() 15887 req, err := http.NewRequest("POST", urls, body) 15888 if err != nil { 15889 return nil, err 15890 } 15891 req.Header = reqHeaders 15892 googleapi.Expand(req.URL, map[string]string{ 15893 "name": c.name, 15894 }) 15895 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15896} 15897 15898// Do executes the "vision.operations.cancel" call. 15899// Exactly one of *Empty or error will be non-nil. Any non-2xx status 15900// code is an error. Response headers are in either 15901// *Empty.ServerResponse.Header or (if a response was returned at all) 15902// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 15903// check whether the returned error was because http.StatusNotModified 15904// was returned. 15905func (c *OperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 15906 gensupport.SetOptions(c.urlParams_, opts...) 15907 res, err := c.doRequest("json") 15908 if res != nil && res.StatusCode == http.StatusNotModified { 15909 if res.Body != nil { 15910 res.Body.Close() 15911 } 15912 return nil, &googleapi.Error{ 15913 Code: res.StatusCode, 15914 Header: res.Header, 15915 } 15916 } 15917 if err != nil { 15918 return nil, err 15919 } 15920 defer googleapi.CloseBody(res) 15921 if err := googleapi.CheckResponse(res); err != nil { 15922 return nil, err 15923 } 15924 ret := &Empty{ 15925 ServerResponse: googleapi.ServerResponse{ 15926 Header: res.Header, 15927 HTTPStatusCode: res.StatusCode, 15928 }, 15929 } 15930 target := &ret 15931 if err := gensupport.DecodeResponse(target, res); err != nil { 15932 return nil, err 15933 } 15934 return ret, nil 15935 // { 15936 // "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", 15937 // "flatPath": "v1/operations/{operationsId}:cancel", 15938 // "httpMethod": "POST", 15939 // "id": "vision.operations.cancel", 15940 // "parameterOrder": [ 15941 // "name" 15942 // ], 15943 // "parameters": { 15944 // "name": { 15945 // "description": "The name of the operation resource to be cancelled.", 15946 // "location": "path", 15947 // "pattern": "^operations/.+$", 15948 // "required": true, 15949 // "type": "string" 15950 // } 15951 // }, 15952 // "path": "v1/{+name}:cancel", 15953 // "request": { 15954 // "$ref": "CancelOperationRequest" 15955 // }, 15956 // "response": { 15957 // "$ref": "Empty" 15958 // }, 15959 // "scopes": [ 15960 // "https://www.googleapis.com/auth/cloud-platform", 15961 // "https://www.googleapis.com/auth/cloud-vision" 15962 // ] 15963 // } 15964 15965} 15966 15967// method id "vision.operations.delete": 15968 15969type OperationsDeleteCall struct { 15970 s *Service 15971 name string 15972 urlParams_ gensupport.URLParams 15973 ctx_ context.Context 15974 header_ http.Header 15975} 15976 15977// Delete: Deletes a long-running operation. This method indicates that 15978// the client is 15979// no longer interested in the operation result. It does not cancel 15980// the 15981// operation. If the server doesn't support this method, it 15982// returns 15983// `google.rpc.Code.UNIMPLEMENTED`. 15984func (r *OperationsService) Delete(name string) *OperationsDeleteCall { 15985 c := &OperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15986 c.name = name 15987 return c 15988} 15989 15990// Fields allows partial responses to be retrieved. See 15991// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15992// for more information. 15993func (c *OperationsDeleteCall) Fields(s ...googleapi.Field) *OperationsDeleteCall { 15994 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15995 return c 15996} 15997 15998// Context sets the context to be used in this call's Do method. Any 15999// pending HTTP request will be aborted if the provided context is 16000// canceled. 16001func (c *OperationsDeleteCall) Context(ctx context.Context) *OperationsDeleteCall { 16002 c.ctx_ = ctx 16003 return c 16004} 16005 16006// Header returns an http.Header that can be modified by the caller to 16007// add HTTP headers to the request. 16008func (c *OperationsDeleteCall) Header() http.Header { 16009 if c.header_ == nil { 16010 c.header_ = make(http.Header) 16011 } 16012 return c.header_ 16013} 16014 16015func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) { 16016 reqHeaders := make(http.Header) 16017 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 16018 for k, v := range c.header_ { 16019 reqHeaders[k] = v 16020 } 16021 reqHeaders.Set("User-Agent", c.s.userAgent()) 16022 var body io.Reader = nil 16023 c.urlParams_.Set("alt", alt) 16024 c.urlParams_.Set("prettyPrint", "false") 16025 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 16026 urls += "?" + c.urlParams_.Encode() 16027 req, err := http.NewRequest("DELETE", urls, body) 16028 if err != nil { 16029 return nil, err 16030 } 16031 req.Header = reqHeaders 16032 googleapi.Expand(req.URL, map[string]string{ 16033 "name": c.name, 16034 }) 16035 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16036} 16037 16038// Do executes the "vision.operations.delete" call. 16039// Exactly one of *Empty or error will be non-nil. Any non-2xx status 16040// code is an error. Response headers are in either 16041// *Empty.ServerResponse.Header or (if a response was returned at all) 16042// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 16043// check whether the returned error was because http.StatusNotModified 16044// was returned. 16045func (c *OperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 16046 gensupport.SetOptions(c.urlParams_, opts...) 16047 res, err := c.doRequest("json") 16048 if res != nil && res.StatusCode == http.StatusNotModified { 16049 if res.Body != nil { 16050 res.Body.Close() 16051 } 16052 return nil, &googleapi.Error{ 16053 Code: res.StatusCode, 16054 Header: res.Header, 16055 } 16056 } 16057 if err != nil { 16058 return nil, err 16059 } 16060 defer googleapi.CloseBody(res) 16061 if err := googleapi.CheckResponse(res); err != nil { 16062 return nil, err 16063 } 16064 ret := &Empty{ 16065 ServerResponse: googleapi.ServerResponse{ 16066 Header: res.Header, 16067 HTTPStatusCode: res.StatusCode, 16068 }, 16069 } 16070 target := &ret 16071 if err := gensupport.DecodeResponse(target, res); err != nil { 16072 return nil, err 16073 } 16074 return ret, nil 16075 // { 16076 // "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", 16077 // "flatPath": "v1/operations/{operationsId}", 16078 // "httpMethod": "DELETE", 16079 // "id": "vision.operations.delete", 16080 // "parameterOrder": [ 16081 // "name" 16082 // ], 16083 // "parameters": { 16084 // "name": { 16085 // "description": "The name of the operation resource to be deleted.", 16086 // "location": "path", 16087 // "pattern": "^operations/.+$", 16088 // "required": true, 16089 // "type": "string" 16090 // } 16091 // }, 16092 // "path": "v1/{+name}", 16093 // "response": { 16094 // "$ref": "Empty" 16095 // }, 16096 // "scopes": [ 16097 // "https://www.googleapis.com/auth/cloud-platform", 16098 // "https://www.googleapis.com/auth/cloud-vision" 16099 // ] 16100 // } 16101 16102} 16103 16104// method id "vision.operations.get": 16105 16106type OperationsGetCall struct { 16107 s *Service 16108 name string 16109 urlParams_ gensupport.URLParams 16110 ifNoneMatch_ string 16111 ctx_ context.Context 16112 header_ http.Header 16113} 16114 16115// Get: Gets the latest state of a long-running operation. Clients can 16116// use this 16117// method to poll the operation result at intervals as recommended by 16118// the API 16119// service. 16120func (r *OperationsService) Get(name string) *OperationsGetCall { 16121 c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16122 c.name = name 16123 return c 16124} 16125 16126// Fields allows partial responses to be retrieved. See 16127// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16128// for more information. 16129func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { 16130 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16131 return c 16132} 16133 16134// IfNoneMatch sets the optional parameter which makes the operation 16135// fail if the object's ETag matches the given value. This is useful for 16136// getting updates only after the object has changed since the last 16137// request. Use googleapi.IsNotModified to check whether the response 16138// error from Do is the result of In-None-Match. 16139func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { 16140 c.ifNoneMatch_ = entityTag 16141 return c 16142} 16143 16144// Context sets the context to be used in this call's Do method. Any 16145// pending HTTP request will be aborted if the provided context is 16146// canceled. 16147func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { 16148 c.ctx_ = ctx 16149 return c 16150} 16151 16152// Header returns an http.Header that can be modified by the caller to 16153// add HTTP headers to the request. 16154func (c *OperationsGetCall) Header() http.Header { 16155 if c.header_ == nil { 16156 c.header_ = make(http.Header) 16157 } 16158 return c.header_ 16159} 16160 16161func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) { 16162 reqHeaders := make(http.Header) 16163 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 16164 for k, v := range c.header_ { 16165 reqHeaders[k] = v 16166 } 16167 reqHeaders.Set("User-Agent", c.s.userAgent()) 16168 if c.ifNoneMatch_ != "" { 16169 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 16170 } 16171 var body io.Reader = nil 16172 c.urlParams_.Set("alt", alt) 16173 c.urlParams_.Set("prettyPrint", "false") 16174 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 16175 urls += "?" + c.urlParams_.Encode() 16176 req, err := http.NewRequest("GET", urls, body) 16177 if err != nil { 16178 return nil, err 16179 } 16180 req.Header = reqHeaders 16181 googleapi.Expand(req.URL, map[string]string{ 16182 "name": c.name, 16183 }) 16184 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16185} 16186 16187// Do executes the "vision.operations.get" call. 16188// Exactly one of *Operation or error will be non-nil. Any non-2xx 16189// status code is an error. Response headers are in either 16190// *Operation.ServerResponse.Header or (if a response was returned at 16191// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 16192// to check whether the returned error was because 16193// http.StatusNotModified was returned. 16194func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 16195 gensupport.SetOptions(c.urlParams_, opts...) 16196 res, err := c.doRequest("json") 16197 if res != nil && res.StatusCode == http.StatusNotModified { 16198 if res.Body != nil { 16199 res.Body.Close() 16200 } 16201 return nil, &googleapi.Error{ 16202 Code: res.StatusCode, 16203 Header: res.Header, 16204 } 16205 } 16206 if err != nil { 16207 return nil, err 16208 } 16209 defer googleapi.CloseBody(res) 16210 if err := googleapi.CheckResponse(res); err != nil { 16211 return nil, err 16212 } 16213 ret := &Operation{ 16214 ServerResponse: googleapi.ServerResponse{ 16215 Header: res.Header, 16216 HTTPStatusCode: res.StatusCode, 16217 }, 16218 } 16219 target := &ret 16220 if err := gensupport.DecodeResponse(target, res); err != nil { 16221 return nil, err 16222 } 16223 return ret, nil 16224 // { 16225 // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", 16226 // "flatPath": "v1/operations/{operationsId}", 16227 // "httpMethod": "GET", 16228 // "id": "vision.operations.get", 16229 // "parameterOrder": [ 16230 // "name" 16231 // ], 16232 // "parameters": { 16233 // "name": { 16234 // "description": "The name of the operation resource.", 16235 // "location": "path", 16236 // "pattern": "^operations/[^/]+$", 16237 // "required": true, 16238 // "type": "string" 16239 // } 16240 // }, 16241 // "path": "v1/{+name}", 16242 // "response": { 16243 // "$ref": "Operation" 16244 // }, 16245 // "scopes": [ 16246 // "https://www.googleapis.com/auth/cloud-platform", 16247 // "https://www.googleapis.com/auth/cloud-vision" 16248 // ] 16249 // } 16250 16251} 16252 16253// method id "vision.operations.list": 16254 16255type OperationsListCall struct { 16256 s *Service 16257 name string 16258 urlParams_ gensupport.URLParams 16259 ifNoneMatch_ string 16260 ctx_ context.Context 16261 header_ http.Header 16262} 16263 16264// List: Lists operations that match the specified filter in the 16265// request. If the 16266// server doesn't support this method, it returns 16267// `UNIMPLEMENTED`. 16268// 16269// NOTE: the `name` binding allows API services to override the 16270// binding 16271// to use different resource name schemes, such as `users/*/operations`. 16272// To 16273// override the binding, API services can add a binding such 16274// as 16275// "/v1/{name=users/*}/operations" to their service configuration. 16276// For backwards compatibility, the default name includes the 16277// operations 16278// collection id, however overriding users must ensure the name 16279// binding 16280// is the parent resource, without the operations collection id. 16281func (r *OperationsService) List(name string) *OperationsListCall { 16282 c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16283 c.name = name 16284 return c 16285} 16286 16287// Filter sets the optional parameter "filter": The standard list 16288// filter. 16289func (c *OperationsListCall) Filter(filter string) *OperationsListCall { 16290 c.urlParams_.Set("filter", filter) 16291 return c 16292} 16293 16294// PageSize sets the optional parameter "pageSize": The standard list 16295// page size. 16296func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall { 16297 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 16298 return c 16299} 16300 16301// PageToken sets the optional parameter "pageToken": The standard list 16302// page token. 16303func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall { 16304 c.urlParams_.Set("pageToken", pageToken) 16305 return c 16306} 16307 16308// Fields allows partial responses to be retrieved. See 16309// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16310// for more information. 16311func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall { 16312 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16313 return c 16314} 16315 16316// IfNoneMatch sets the optional parameter which makes the operation 16317// fail if the object's ETag matches the given value. This is useful for 16318// getting updates only after the object has changed since the last 16319// request. Use googleapi.IsNotModified to check whether the response 16320// error from Do is the result of In-None-Match. 16321func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall { 16322 c.ifNoneMatch_ = entityTag 16323 return c 16324} 16325 16326// Context sets the context to be used in this call's Do method. Any 16327// pending HTTP request will be aborted if the provided context is 16328// canceled. 16329func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall { 16330 c.ctx_ = ctx 16331 return c 16332} 16333 16334// Header returns an http.Header that can be modified by the caller to 16335// add HTTP headers to the request. 16336func (c *OperationsListCall) Header() http.Header { 16337 if c.header_ == nil { 16338 c.header_ = make(http.Header) 16339 } 16340 return c.header_ 16341} 16342 16343func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) { 16344 reqHeaders := make(http.Header) 16345 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 16346 for k, v := range c.header_ { 16347 reqHeaders[k] = v 16348 } 16349 reqHeaders.Set("User-Agent", c.s.userAgent()) 16350 if c.ifNoneMatch_ != "" { 16351 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 16352 } 16353 var body io.Reader = nil 16354 c.urlParams_.Set("alt", alt) 16355 c.urlParams_.Set("prettyPrint", "false") 16356 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 16357 urls += "?" + c.urlParams_.Encode() 16358 req, err := http.NewRequest("GET", urls, body) 16359 if err != nil { 16360 return nil, err 16361 } 16362 req.Header = reqHeaders 16363 googleapi.Expand(req.URL, map[string]string{ 16364 "name": c.name, 16365 }) 16366 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16367} 16368 16369// Do executes the "vision.operations.list" call. 16370// Exactly one of *ListOperationsResponse or error will be non-nil. Any 16371// non-2xx status code is an error. Response headers are in either 16372// *ListOperationsResponse.ServerResponse.Header or (if a response was 16373// returned at all) in error.(*googleapi.Error).Header. Use 16374// googleapi.IsNotModified to check whether the returned error was 16375// because http.StatusNotModified was returned. 16376func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { 16377 gensupport.SetOptions(c.urlParams_, opts...) 16378 res, err := c.doRequest("json") 16379 if res != nil && res.StatusCode == http.StatusNotModified { 16380 if res.Body != nil { 16381 res.Body.Close() 16382 } 16383 return nil, &googleapi.Error{ 16384 Code: res.StatusCode, 16385 Header: res.Header, 16386 } 16387 } 16388 if err != nil { 16389 return nil, err 16390 } 16391 defer googleapi.CloseBody(res) 16392 if err := googleapi.CheckResponse(res); err != nil { 16393 return nil, err 16394 } 16395 ret := &ListOperationsResponse{ 16396 ServerResponse: googleapi.ServerResponse{ 16397 Header: res.Header, 16398 HTTPStatusCode: res.StatusCode, 16399 }, 16400 } 16401 target := &ret 16402 if err := gensupport.DecodeResponse(target, res); err != nil { 16403 return nil, err 16404 } 16405 return ret, nil 16406 // { 16407 // "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", 16408 // "flatPath": "v1/operations", 16409 // "httpMethod": "GET", 16410 // "id": "vision.operations.list", 16411 // "parameterOrder": [ 16412 // "name" 16413 // ], 16414 // "parameters": { 16415 // "filter": { 16416 // "description": "The standard list filter.", 16417 // "location": "query", 16418 // "type": "string" 16419 // }, 16420 // "name": { 16421 // "description": "The name of the operation's parent resource.", 16422 // "location": "path", 16423 // "pattern": "^operations$", 16424 // "required": true, 16425 // "type": "string" 16426 // }, 16427 // "pageSize": { 16428 // "description": "The standard list page size.", 16429 // "format": "int32", 16430 // "location": "query", 16431 // "type": "integer" 16432 // }, 16433 // "pageToken": { 16434 // "description": "The standard list page token.", 16435 // "location": "query", 16436 // "type": "string" 16437 // } 16438 // }, 16439 // "path": "v1/{+name}", 16440 // "response": { 16441 // "$ref": "ListOperationsResponse" 16442 // }, 16443 // "scopes": [ 16444 // "https://www.googleapis.com/auth/cloud-platform", 16445 // "https://www.googleapis.com/auth/cloud-vision" 16446 // ] 16447 // } 16448 16449} 16450 16451// Pages invokes f for each page of results. 16452// A non-nil error returned from f will halt the iteration. 16453// The provided context supersedes any context provided to the Context method. 16454func (c *OperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { 16455 c.ctx_ = ctx 16456 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 16457 for { 16458 x, err := c.Do() 16459 if err != nil { 16460 return err 16461 } 16462 if err := f(x); err != nil { 16463 return err 16464 } 16465 if x.NextPageToken == "" { 16466 return nil 16467 } 16468 c.PageToken(x.NextPageToken) 16469 } 16470} 16471 16472// method id "vision.projects.files.annotate": 16473 16474type ProjectsFilesAnnotateCall struct { 16475 s *Service 16476 parent string 16477 batchannotatefilesrequest *BatchAnnotateFilesRequest 16478 urlParams_ gensupport.URLParams 16479 ctx_ context.Context 16480 header_ http.Header 16481} 16482 16483// Annotate: Service that performs image detection and annotation for a 16484// batch of files. 16485// Now only "application/pdf", "image/tiff" and "image/gif" are 16486// supported. 16487// 16488// This service will extract at most 5 (customers can specify which 5 16489// in 16490// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 16491// each 16492// file provided and perform detection and annotation for each 16493// image 16494// extracted. 16495func (r *ProjectsFilesService) Annotate(parent string, batchannotatefilesrequest *BatchAnnotateFilesRequest) *ProjectsFilesAnnotateCall { 16496 c := &ProjectsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16497 c.parent = parent 16498 c.batchannotatefilesrequest = batchannotatefilesrequest 16499 return c 16500} 16501 16502// Fields allows partial responses to be retrieved. See 16503// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16504// for more information. 16505func (c *ProjectsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAnnotateCall { 16506 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16507 return c 16508} 16509 16510// Context sets the context to be used in this call's Do method. Any 16511// pending HTTP request will be aborted if the provided context is 16512// canceled. 16513func (c *ProjectsFilesAnnotateCall) Context(ctx context.Context) *ProjectsFilesAnnotateCall { 16514 c.ctx_ = ctx 16515 return c 16516} 16517 16518// Header returns an http.Header that can be modified by the caller to 16519// add HTTP headers to the request. 16520func (c *ProjectsFilesAnnotateCall) Header() http.Header { 16521 if c.header_ == nil { 16522 c.header_ = make(http.Header) 16523 } 16524 return c.header_ 16525} 16526 16527func (c *ProjectsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 16528 reqHeaders := make(http.Header) 16529 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 16530 for k, v := range c.header_ { 16531 reqHeaders[k] = v 16532 } 16533 reqHeaders.Set("User-Agent", c.s.userAgent()) 16534 var body io.Reader = nil 16535 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotatefilesrequest) 16536 if err != nil { 16537 return nil, err 16538 } 16539 reqHeaders.Set("Content-Type", "application/json") 16540 c.urlParams_.Set("alt", alt) 16541 c.urlParams_.Set("prettyPrint", "false") 16542 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:annotate") 16543 urls += "?" + c.urlParams_.Encode() 16544 req, err := http.NewRequest("POST", urls, body) 16545 if err != nil { 16546 return nil, err 16547 } 16548 req.Header = reqHeaders 16549 googleapi.Expand(req.URL, map[string]string{ 16550 "parent": c.parent, 16551 }) 16552 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16553} 16554 16555// Do executes the "vision.projects.files.annotate" call. 16556// Exactly one of *BatchAnnotateFilesResponse or error will be non-nil. 16557// Any non-2xx status code is an error. Response headers are in either 16558// *BatchAnnotateFilesResponse.ServerResponse.Header or (if a response 16559// was returned at all) in error.(*googleapi.Error).Header. Use 16560// googleapi.IsNotModified to check whether the returned error was 16561// because http.StatusNotModified was returned. 16562func (c *ProjectsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateFilesResponse, error) { 16563 gensupport.SetOptions(c.urlParams_, opts...) 16564 res, err := c.doRequest("json") 16565 if res != nil && res.StatusCode == http.StatusNotModified { 16566 if res.Body != nil { 16567 res.Body.Close() 16568 } 16569 return nil, &googleapi.Error{ 16570 Code: res.StatusCode, 16571 Header: res.Header, 16572 } 16573 } 16574 if err != nil { 16575 return nil, err 16576 } 16577 defer googleapi.CloseBody(res) 16578 if err := googleapi.CheckResponse(res); err != nil { 16579 return nil, err 16580 } 16581 ret := &BatchAnnotateFilesResponse{ 16582 ServerResponse: googleapi.ServerResponse{ 16583 Header: res.Header, 16584 HTTPStatusCode: res.StatusCode, 16585 }, 16586 } 16587 target := &ret 16588 if err := gensupport.DecodeResponse(target, res); err != nil { 16589 return nil, err 16590 } 16591 return ret, nil 16592 // { 16593 // "description": "Service that performs image detection and annotation for a batch of files.\nNow only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported.\n\nThis service will extract at most 5 (customers can specify which 5 in\nAnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each\nfile provided and perform detection and annotation for each image\nextracted.", 16594 // "flatPath": "v1/projects/{projectsId}/files:annotate", 16595 // "httpMethod": "POST", 16596 // "id": "vision.projects.files.annotate", 16597 // "parameterOrder": [ 16598 // "parent" 16599 // ], 16600 // "parameters": { 16601 // "parent": { 16602 // "description": "Optional. Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no parent is specified, a region will be chosen automatically.\n\nSupported location-ids:\n `us`: USA country only,\n `asia`: East asia areas, like Japan, Taiwan,\n `eu`: The European Union.\n\nExample: `projects/project-A/locations/eu`.", 16603 // "location": "path", 16604 // "pattern": "^projects/[^/]+$", 16605 // "required": true, 16606 // "type": "string" 16607 // } 16608 // }, 16609 // "path": "v1/{+parent}/files:annotate", 16610 // "request": { 16611 // "$ref": "BatchAnnotateFilesRequest" 16612 // }, 16613 // "response": { 16614 // "$ref": "BatchAnnotateFilesResponse" 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.files.asyncBatchAnnotate": 16625 16626type ProjectsFilesAsyncBatchAnnotateCall struct { 16627 s *Service 16628 parent string 16629 asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest 16630 urlParams_ gensupport.URLParams 16631 ctx_ context.Context 16632 header_ http.Header 16633} 16634 16635// AsyncBatchAnnotate: Run asynchronous image detection and annotation 16636// for a list of generic 16637// files, such as PDF files, which may contain multiple pages and 16638// multiple 16639// images per page. Progress and results can be retrieved through 16640// the 16641// `google.longrunning.Operations` interface. 16642// `Operation.metadata` contains `OperationMetadata` 16643// (metadata). 16644// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 16645// (results). 16646func (r *ProjectsFilesService) AsyncBatchAnnotate(parent string, asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest) *ProjectsFilesAsyncBatchAnnotateCall { 16647 c := &ProjectsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16648 c.parent = parent 16649 c.asyncbatchannotatefilesrequest = asyncbatchannotatefilesrequest 16650 return c 16651} 16652 16653// Fields allows partial responses to be retrieved. See 16654// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16655// for more information. 16656func (c *ProjectsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAsyncBatchAnnotateCall { 16657 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16658 return c 16659} 16660 16661// Context sets the context to be used in this call's Do method. Any 16662// pending HTTP request will be aborted if the provided context is 16663// canceled. 16664func (c *ProjectsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsFilesAsyncBatchAnnotateCall { 16665 c.ctx_ = ctx 16666 return c 16667} 16668 16669// Header returns an http.Header that can be modified by the caller to 16670// add HTTP headers to the request. 16671func (c *ProjectsFilesAsyncBatchAnnotateCall) Header() http.Header { 16672 if c.header_ == nil { 16673 c.header_ = make(http.Header) 16674 } 16675 return c.header_ 16676} 16677 16678func (c *ProjectsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 16679 reqHeaders := make(http.Header) 16680 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 16681 for k, v := range c.header_ { 16682 reqHeaders[k] = v 16683 } 16684 reqHeaders.Set("User-Agent", c.s.userAgent()) 16685 var body io.Reader = nil 16686 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotatefilesrequest) 16687 if err != nil { 16688 return nil, err 16689 } 16690 reqHeaders.Set("Content-Type", "application/json") 16691 c.urlParams_.Set("alt", alt) 16692 c.urlParams_.Set("prettyPrint", "false") 16693 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:asyncBatchAnnotate") 16694 urls += "?" + c.urlParams_.Encode() 16695 req, err := http.NewRequest("POST", urls, body) 16696 if err != nil { 16697 return nil, err 16698 } 16699 req.Header = reqHeaders 16700 googleapi.Expand(req.URL, map[string]string{ 16701 "parent": c.parent, 16702 }) 16703 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16704} 16705 16706// Do executes the "vision.projects.files.asyncBatchAnnotate" call. 16707// Exactly one of *Operation or error will be non-nil. Any non-2xx 16708// status code is an error. Response headers are in either 16709// *Operation.ServerResponse.Header or (if a response was returned at 16710// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 16711// to check whether the returned error was because 16712// http.StatusNotModified was returned. 16713func (c *ProjectsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 16714 gensupport.SetOptions(c.urlParams_, opts...) 16715 res, err := c.doRequest("json") 16716 if res != nil && res.StatusCode == http.StatusNotModified { 16717 if res.Body != nil { 16718 res.Body.Close() 16719 } 16720 return nil, &googleapi.Error{ 16721 Code: res.StatusCode, 16722 Header: res.Header, 16723 } 16724 } 16725 if err != nil { 16726 return nil, err 16727 } 16728 defer googleapi.CloseBody(res) 16729 if err := googleapi.CheckResponse(res); err != nil { 16730 return nil, err 16731 } 16732 ret := &Operation{ 16733 ServerResponse: googleapi.ServerResponse{ 16734 Header: res.Header, 16735 HTTPStatusCode: res.StatusCode, 16736 }, 16737 } 16738 target := &ret 16739 if err := gensupport.DecodeResponse(target, res); err != nil { 16740 return nil, err 16741 } 16742 return ret, nil 16743 // { 16744 // "description": "Run asynchronous image detection and annotation for a list of generic\nfiles, such as PDF files, which may contain multiple pages and multiple\nimages per page. Progress and results can be retrieved through the\n`google.longrunning.Operations` interface.\n`Operation.metadata` contains `OperationMetadata` (metadata).\n`Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 16745 // "flatPath": "v1/projects/{projectsId}/files:asyncBatchAnnotate", 16746 // "httpMethod": "POST", 16747 // "id": "vision.projects.files.asyncBatchAnnotate", 16748 // "parameterOrder": [ 16749 // "parent" 16750 // ], 16751 // "parameters": { 16752 // "parent": { 16753 // "description": "Optional. Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no parent is specified, a region will be chosen automatically.\n\nSupported location-ids:\n `us`: USA country only,\n `asia`: East asia areas, like Japan, Taiwan,\n `eu`: The European Union.\n\nExample: `projects/project-A/locations/eu`.", 16754 // "location": "path", 16755 // "pattern": "^projects/[^/]+$", 16756 // "required": true, 16757 // "type": "string" 16758 // } 16759 // }, 16760 // "path": "v1/{+parent}/files:asyncBatchAnnotate", 16761 // "request": { 16762 // "$ref": "AsyncBatchAnnotateFilesRequest" 16763 // }, 16764 // "response": { 16765 // "$ref": "Operation" 16766 // }, 16767 // "scopes": [ 16768 // "https://www.googleapis.com/auth/cloud-platform", 16769 // "https://www.googleapis.com/auth/cloud-vision" 16770 // ] 16771 // } 16772 16773} 16774 16775// method id "vision.projects.images.annotate": 16776 16777type ProjectsImagesAnnotateCall struct { 16778 s *Service 16779 parent string 16780 batchannotateimagesrequest *BatchAnnotateImagesRequest 16781 urlParams_ gensupport.URLParams 16782 ctx_ context.Context 16783 header_ http.Header 16784} 16785 16786// Annotate: Run image detection and annotation for a batch of images. 16787func (r *ProjectsImagesService) Annotate(parent string, batchannotateimagesrequest *BatchAnnotateImagesRequest) *ProjectsImagesAnnotateCall { 16788 c := &ProjectsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16789 c.parent = parent 16790 c.batchannotateimagesrequest = batchannotateimagesrequest 16791 return c 16792} 16793 16794// Fields allows partial responses to be retrieved. See 16795// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16796// for more information. 16797func (c *ProjectsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAnnotateCall { 16798 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16799 return c 16800} 16801 16802// Context sets the context to be used in this call's Do method. Any 16803// pending HTTP request will be aborted if the provided context is 16804// canceled. 16805func (c *ProjectsImagesAnnotateCall) Context(ctx context.Context) *ProjectsImagesAnnotateCall { 16806 c.ctx_ = ctx 16807 return c 16808} 16809 16810// Header returns an http.Header that can be modified by the caller to 16811// add HTTP headers to the request. 16812func (c *ProjectsImagesAnnotateCall) Header() http.Header { 16813 if c.header_ == nil { 16814 c.header_ = make(http.Header) 16815 } 16816 return c.header_ 16817} 16818 16819func (c *ProjectsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 16820 reqHeaders := make(http.Header) 16821 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 16822 for k, v := range c.header_ { 16823 reqHeaders[k] = v 16824 } 16825 reqHeaders.Set("User-Agent", c.s.userAgent()) 16826 var body io.Reader = nil 16827 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotateimagesrequest) 16828 if err != nil { 16829 return nil, err 16830 } 16831 reqHeaders.Set("Content-Type", "application/json") 16832 c.urlParams_.Set("alt", alt) 16833 c.urlParams_.Set("prettyPrint", "false") 16834 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:annotate") 16835 urls += "?" + c.urlParams_.Encode() 16836 req, err := http.NewRequest("POST", urls, body) 16837 if err != nil { 16838 return nil, err 16839 } 16840 req.Header = reqHeaders 16841 googleapi.Expand(req.URL, map[string]string{ 16842 "parent": c.parent, 16843 }) 16844 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16845} 16846 16847// Do executes the "vision.projects.images.annotate" call. 16848// Exactly one of *BatchAnnotateImagesResponse or error will be non-nil. 16849// Any non-2xx status code is an error. Response headers are in either 16850// *BatchAnnotateImagesResponse.ServerResponse.Header or (if a response 16851// was returned at all) in error.(*googleapi.Error).Header. Use 16852// googleapi.IsNotModified to check whether the returned error was 16853// because http.StatusNotModified was returned. 16854func (c *ProjectsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateImagesResponse, error) { 16855 gensupport.SetOptions(c.urlParams_, opts...) 16856 res, err := c.doRequest("json") 16857 if res != nil && res.StatusCode == http.StatusNotModified { 16858 if res.Body != nil { 16859 res.Body.Close() 16860 } 16861 return nil, &googleapi.Error{ 16862 Code: res.StatusCode, 16863 Header: res.Header, 16864 } 16865 } 16866 if err != nil { 16867 return nil, err 16868 } 16869 defer googleapi.CloseBody(res) 16870 if err := googleapi.CheckResponse(res); err != nil { 16871 return nil, err 16872 } 16873 ret := &BatchAnnotateImagesResponse{ 16874 ServerResponse: googleapi.ServerResponse{ 16875 Header: res.Header, 16876 HTTPStatusCode: res.StatusCode, 16877 }, 16878 } 16879 target := &ret 16880 if err := gensupport.DecodeResponse(target, res); err != nil { 16881 return nil, err 16882 } 16883 return ret, nil 16884 // { 16885 // "description": "Run image detection and annotation for a batch of images.", 16886 // "flatPath": "v1/projects/{projectsId}/images:annotate", 16887 // "httpMethod": "POST", 16888 // "id": "vision.projects.images.annotate", 16889 // "parameterOrder": [ 16890 // "parent" 16891 // ], 16892 // "parameters": { 16893 // "parent": { 16894 // "description": "Optional. Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no parent is specified, a region will be chosen automatically.\n\nSupported location-ids:\n `us`: USA country only,\n `asia`: East asia areas, like Japan, Taiwan,\n `eu`: The European Union.\n\nExample: `projects/project-A/locations/eu`.", 16895 // "location": "path", 16896 // "pattern": "^projects/[^/]+$", 16897 // "required": true, 16898 // "type": "string" 16899 // } 16900 // }, 16901 // "path": "v1/{+parent}/images:annotate", 16902 // "request": { 16903 // "$ref": "BatchAnnotateImagesRequest" 16904 // }, 16905 // "response": { 16906 // "$ref": "BatchAnnotateImagesResponse" 16907 // }, 16908 // "scopes": [ 16909 // "https://www.googleapis.com/auth/cloud-platform", 16910 // "https://www.googleapis.com/auth/cloud-vision" 16911 // ] 16912 // } 16913 16914} 16915 16916// method id "vision.projects.images.asyncBatchAnnotate": 16917 16918type ProjectsImagesAsyncBatchAnnotateCall struct { 16919 s *Service 16920 parent string 16921 asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest 16922 urlParams_ gensupport.URLParams 16923 ctx_ context.Context 16924 header_ http.Header 16925} 16926 16927// AsyncBatchAnnotate: Run asynchronous image detection and annotation 16928// for a list of images. 16929// 16930// Progress and results can be retrieved through 16931// the 16932// `google.longrunning.Operations` interface. 16933// `Operation.metadata` contains `OperationMetadata` 16934// (metadata). 16935// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` 16936// (results). 16937// 16938// This service will write image annotation outputs to json files in 16939// customer 16940// GCS bucket, each json file containing BatchAnnotateImagesResponse 16941// proto. 16942func (r *ProjectsImagesService) AsyncBatchAnnotate(parent string, asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest) *ProjectsImagesAsyncBatchAnnotateCall { 16943 c := &ProjectsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16944 c.parent = parent 16945 c.asyncbatchannotateimagesrequest = asyncbatchannotateimagesrequest 16946 return c 16947} 16948 16949// Fields allows partial responses to be retrieved. See 16950// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16951// for more information. 16952func (c *ProjectsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAsyncBatchAnnotateCall { 16953 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16954 return c 16955} 16956 16957// Context sets the context to be used in this call's Do method. Any 16958// pending HTTP request will be aborted if the provided context is 16959// canceled. 16960func (c *ProjectsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsImagesAsyncBatchAnnotateCall { 16961 c.ctx_ = ctx 16962 return c 16963} 16964 16965// Header returns an http.Header that can be modified by the caller to 16966// add HTTP headers to the request. 16967func (c *ProjectsImagesAsyncBatchAnnotateCall) Header() http.Header { 16968 if c.header_ == nil { 16969 c.header_ = make(http.Header) 16970 } 16971 return c.header_ 16972} 16973 16974func (c *ProjectsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 16975 reqHeaders := make(http.Header) 16976 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 16977 for k, v := range c.header_ { 16978 reqHeaders[k] = v 16979 } 16980 reqHeaders.Set("User-Agent", c.s.userAgent()) 16981 var body io.Reader = nil 16982 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotateimagesrequest) 16983 if err != nil { 16984 return nil, err 16985 } 16986 reqHeaders.Set("Content-Type", "application/json") 16987 c.urlParams_.Set("alt", alt) 16988 c.urlParams_.Set("prettyPrint", "false") 16989 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:asyncBatchAnnotate") 16990 urls += "?" + c.urlParams_.Encode() 16991 req, err := http.NewRequest("POST", urls, body) 16992 if err != nil { 16993 return nil, err 16994 } 16995 req.Header = reqHeaders 16996 googleapi.Expand(req.URL, map[string]string{ 16997 "parent": c.parent, 16998 }) 16999 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17000} 17001 17002// Do executes the "vision.projects.images.asyncBatchAnnotate" call. 17003// Exactly one of *Operation or error will be non-nil. Any non-2xx 17004// status code is an error. Response headers are in either 17005// *Operation.ServerResponse.Header or (if a response was returned at 17006// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17007// to check whether the returned error was because 17008// http.StatusNotModified was returned. 17009func (c *ProjectsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, 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 := &Operation{ 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": "Run asynchronous image detection and annotation for a list of images.\n\nProgress and results can be retrieved through the\n`google.longrunning.Operations` interface.\n`Operation.metadata` contains `OperationMetadata` (metadata).\n`Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).\n\nThis service will write image annotation outputs to json files in customer\nGCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 17041 // "flatPath": "v1/projects/{projectsId}/images:asyncBatchAnnotate", 17042 // "httpMethod": "POST", 17043 // "id": "vision.projects.images.asyncBatchAnnotate", 17044 // "parameterOrder": [ 17045 // "parent" 17046 // ], 17047 // "parameters": { 17048 // "parent": { 17049 // "description": "Optional. Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no parent is specified, a region will be chosen automatically.\n\nSupported location-ids:\n `us`: USA country only,\n `asia`: East asia areas, like Japan, Taiwan,\n `eu`: The European Union.\n\nExample: `projects/project-A/locations/eu`.", 17050 // "location": "path", 17051 // "pattern": "^projects/[^/]+$", 17052 // "required": true, 17053 // "type": "string" 17054 // } 17055 // }, 17056 // "path": "v1/{+parent}/images:asyncBatchAnnotate", 17057 // "request": { 17058 // "$ref": "AsyncBatchAnnotateImagesRequest" 17059 // }, 17060 // "response": { 17061 // "$ref": "Operation" 17062 // }, 17063 // "scopes": [ 17064 // "https://www.googleapis.com/auth/cloud-platform", 17065 // "https://www.googleapis.com/auth/cloud-vision" 17066 // ] 17067 // } 17068 17069} 17070 17071// method id "vision.projects.locations.files.annotate": 17072 17073type ProjectsLocationsFilesAnnotateCall struct { 17074 s *Service 17075 parent string 17076 batchannotatefilesrequest *BatchAnnotateFilesRequest 17077 urlParams_ gensupport.URLParams 17078 ctx_ context.Context 17079 header_ http.Header 17080} 17081 17082// Annotate: Service that performs image detection and annotation for a 17083// batch of files. 17084// Now only "application/pdf", "image/tiff" and "image/gif" are 17085// supported. 17086// 17087// This service will extract at most 5 (customers can specify which 5 17088// in 17089// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 17090// each 17091// file provided and perform detection and annotation for each 17092// image 17093// extracted. 17094func (r *ProjectsLocationsFilesService) Annotate(parent string, batchannotatefilesrequest *BatchAnnotateFilesRequest) *ProjectsLocationsFilesAnnotateCall { 17095 c := &ProjectsLocationsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17096 c.parent = parent 17097 c.batchannotatefilesrequest = batchannotatefilesrequest 17098 return c 17099} 17100 17101// Fields allows partial responses to be retrieved. See 17102// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17103// for more information. 17104func (c *ProjectsLocationsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAnnotateCall { 17105 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17106 return c 17107} 17108 17109// Context sets the context to be used in this call's Do method. Any 17110// pending HTTP request will be aborted if the provided context is 17111// canceled. 17112func (c *ProjectsLocationsFilesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAnnotateCall { 17113 c.ctx_ = ctx 17114 return c 17115} 17116 17117// Header returns an http.Header that can be modified by the caller to 17118// add HTTP headers to the request. 17119func (c *ProjectsLocationsFilesAnnotateCall) Header() http.Header { 17120 if c.header_ == nil { 17121 c.header_ = make(http.Header) 17122 } 17123 return c.header_ 17124} 17125 17126func (c *ProjectsLocationsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 17127 reqHeaders := make(http.Header) 17128 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 17129 for k, v := range c.header_ { 17130 reqHeaders[k] = v 17131 } 17132 reqHeaders.Set("User-Agent", c.s.userAgent()) 17133 var body io.Reader = nil 17134 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotatefilesrequest) 17135 if err != nil { 17136 return nil, err 17137 } 17138 reqHeaders.Set("Content-Type", "application/json") 17139 c.urlParams_.Set("alt", alt) 17140 c.urlParams_.Set("prettyPrint", "false") 17141 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:annotate") 17142 urls += "?" + c.urlParams_.Encode() 17143 req, err := http.NewRequest("POST", urls, body) 17144 if err != nil { 17145 return nil, err 17146 } 17147 req.Header = reqHeaders 17148 googleapi.Expand(req.URL, map[string]string{ 17149 "parent": c.parent, 17150 }) 17151 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17152} 17153 17154// Do executes the "vision.projects.locations.files.annotate" call. 17155// Exactly one of *BatchAnnotateFilesResponse or error will be non-nil. 17156// Any non-2xx status code is an error. Response headers are in either 17157// *BatchAnnotateFilesResponse.ServerResponse.Header or (if a response 17158// was returned at all) in error.(*googleapi.Error).Header. Use 17159// googleapi.IsNotModified to check whether the returned error was 17160// because http.StatusNotModified was returned. 17161func (c *ProjectsLocationsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateFilesResponse, error) { 17162 gensupport.SetOptions(c.urlParams_, opts...) 17163 res, err := c.doRequest("json") 17164 if res != nil && res.StatusCode == http.StatusNotModified { 17165 if res.Body != nil { 17166 res.Body.Close() 17167 } 17168 return nil, &googleapi.Error{ 17169 Code: res.StatusCode, 17170 Header: res.Header, 17171 } 17172 } 17173 if err != nil { 17174 return nil, err 17175 } 17176 defer googleapi.CloseBody(res) 17177 if err := googleapi.CheckResponse(res); err != nil { 17178 return nil, err 17179 } 17180 ret := &BatchAnnotateFilesResponse{ 17181 ServerResponse: googleapi.ServerResponse{ 17182 Header: res.Header, 17183 HTTPStatusCode: res.StatusCode, 17184 }, 17185 } 17186 target := &ret 17187 if err := gensupport.DecodeResponse(target, res); err != nil { 17188 return nil, err 17189 } 17190 return ret, nil 17191 // { 17192 // "description": "Service that performs image detection and annotation for a batch of files.\nNow only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported.\n\nThis service will extract at most 5 (customers can specify which 5 in\nAnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each\nfile provided and perform detection and annotation for each image\nextracted.", 17193 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/files:annotate", 17194 // "httpMethod": "POST", 17195 // "id": "vision.projects.locations.files.annotate", 17196 // "parameterOrder": [ 17197 // "parent" 17198 // ], 17199 // "parameters": { 17200 // "parent": { 17201 // "description": "Optional. Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no parent is specified, a region will be chosen automatically.\n\nSupported location-ids:\n `us`: USA country only,\n `asia`: East asia areas, like Japan, Taiwan,\n `eu`: The European Union.\n\nExample: `projects/project-A/locations/eu`.", 17202 // "location": "path", 17203 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17204 // "required": true, 17205 // "type": "string" 17206 // } 17207 // }, 17208 // "path": "v1/{+parent}/files:annotate", 17209 // "request": { 17210 // "$ref": "BatchAnnotateFilesRequest" 17211 // }, 17212 // "response": { 17213 // "$ref": "BatchAnnotateFilesResponse" 17214 // }, 17215 // "scopes": [ 17216 // "https://www.googleapis.com/auth/cloud-platform", 17217 // "https://www.googleapis.com/auth/cloud-vision" 17218 // ] 17219 // } 17220 17221} 17222 17223// method id "vision.projects.locations.files.asyncBatchAnnotate": 17224 17225type ProjectsLocationsFilesAsyncBatchAnnotateCall struct { 17226 s *Service 17227 parent string 17228 asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest 17229 urlParams_ gensupport.URLParams 17230 ctx_ context.Context 17231 header_ http.Header 17232} 17233 17234// AsyncBatchAnnotate: Run asynchronous image detection and annotation 17235// for a list of generic 17236// files, such as PDF files, which may contain multiple pages and 17237// multiple 17238// images per page. Progress and results can be retrieved through 17239// the 17240// `google.longrunning.Operations` interface. 17241// `Operation.metadata` contains `OperationMetadata` 17242// (metadata). 17243// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 17244// (results). 17245func (r *ProjectsLocationsFilesService) AsyncBatchAnnotate(parent string, asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 17246 c := &ProjectsLocationsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17247 c.parent = parent 17248 c.asyncbatchannotatefilesrequest = asyncbatchannotatefilesrequest 17249 return c 17250} 17251 17252// Fields allows partial responses to be retrieved. See 17253// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17254// for more information. 17255func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 17256 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17257 return c 17258} 17259 17260// Context sets the context to be used in this call's Do method. Any 17261// pending HTTP request will be aborted if the provided context is 17262// canceled. 17263func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 17264 c.ctx_ = ctx 17265 return c 17266} 17267 17268// Header returns an http.Header that can be modified by the caller to 17269// add HTTP headers to the request. 17270func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Header() http.Header { 17271 if c.header_ == nil { 17272 c.header_ = make(http.Header) 17273 } 17274 return c.header_ 17275} 17276 17277func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 17278 reqHeaders := make(http.Header) 17279 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 17280 for k, v := range c.header_ { 17281 reqHeaders[k] = v 17282 } 17283 reqHeaders.Set("User-Agent", c.s.userAgent()) 17284 var body io.Reader = nil 17285 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotatefilesrequest) 17286 if err != nil { 17287 return nil, err 17288 } 17289 reqHeaders.Set("Content-Type", "application/json") 17290 c.urlParams_.Set("alt", alt) 17291 c.urlParams_.Set("prettyPrint", "false") 17292 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:asyncBatchAnnotate") 17293 urls += "?" + c.urlParams_.Encode() 17294 req, err := http.NewRequest("POST", urls, body) 17295 if err != nil { 17296 return nil, err 17297 } 17298 req.Header = reqHeaders 17299 googleapi.Expand(req.URL, map[string]string{ 17300 "parent": c.parent, 17301 }) 17302 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17303} 17304 17305// Do executes the "vision.projects.locations.files.asyncBatchAnnotate" call. 17306// Exactly one of *Operation or error will be non-nil. Any non-2xx 17307// status code is an error. Response headers are in either 17308// *Operation.ServerResponse.Header or (if a response was returned at 17309// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17310// to check whether the returned error was because 17311// http.StatusNotModified was returned. 17312func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17313 gensupport.SetOptions(c.urlParams_, opts...) 17314 res, err := c.doRequest("json") 17315 if res != nil && res.StatusCode == http.StatusNotModified { 17316 if res.Body != nil { 17317 res.Body.Close() 17318 } 17319 return nil, &googleapi.Error{ 17320 Code: res.StatusCode, 17321 Header: res.Header, 17322 } 17323 } 17324 if err != nil { 17325 return nil, err 17326 } 17327 defer googleapi.CloseBody(res) 17328 if err := googleapi.CheckResponse(res); err != nil { 17329 return nil, err 17330 } 17331 ret := &Operation{ 17332 ServerResponse: googleapi.ServerResponse{ 17333 Header: res.Header, 17334 HTTPStatusCode: res.StatusCode, 17335 }, 17336 } 17337 target := &ret 17338 if err := gensupport.DecodeResponse(target, res); err != nil { 17339 return nil, err 17340 } 17341 return ret, nil 17342 // { 17343 // "description": "Run asynchronous image detection and annotation for a list of generic\nfiles, such as PDF files, which may contain multiple pages and multiple\nimages per page. Progress and results can be retrieved through the\n`google.longrunning.Operations` interface.\n`Operation.metadata` contains `OperationMetadata` (metadata).\n`Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 17344 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/files:asyncBatchAnnotate", 17345 // "httpMethod": "POST", 17346 // "id": "vision.projects.locations.files.asyncBatchAnnotate", 17347 // "parameterOrder": [ 17348 // "parent" 17349 // ], 17350 // "parameters": { 17351 // "parent": { 17352 // "description": "Optional. Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no parent is specified, a region will be chosen automatically.\n\nSupported location-ids:\n `us`: USA country only,\n `asia`: East asia areas, like Japan, Taiwan,\n `eu`: The European Union.\n\nExample: `projects/project-A/locations/eu`.", 17353 // "location": "path", 17354 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17355 // "required": true, 17356 // "type": "string" 17357 // } 17358 // }, 17359 // "path": "v1/{+parent}/files:asyncBatchAnnotate", 17360 // "request": { 17361 // "$ref": "AsyncBatchAnnotateFilesRequest" 17362 // }, 17363 // "response": { 17364 // "$ref": "Operation" 17365 // }, 17366 // "scopes": [ 17367 // "https://www.googleapis.com/auth/cloud-platform", 17368 // "https://www.googleapis.com/auth/cloud-vision" 17369 // ] 17370 // } 17371 17372} 17373 17374// method id "vision.projects.locations.images.annotate": 17375 17376type ProjectsLocationsImagesAnnotateCall struct { 17377 s *Service 17378 parent string 17379 batchannotateimagesrequest *BatchAnnotateImagesRequest 17380 urlParams_ gensupport.URLParams 17381 ctx_ context.Context 17382 header_ http.Header 17383} 17384 17385// Annotate: Run image detection and annotation for a batch of images. 17386func (r *ProjectsLocationsImagesService) Annotate(parent string, batchannotateimagesrequest *BatchAnnotateImagesRequest) *ProjectsLocationsImagesAnnotateCall { 17387 c := &ProjectsLocationsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17388 c.parent = parent 17389 c.batchannotateimagesrequest = batchannotateimagesrequest 17390 return c 17391} 17392 17393// Fields allows partial responses to be retrieved. See 17394// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17395// for more information. 17396func (c *ProjectsLocationsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAnnotateCall { 17397 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17398 return c 17399} 17400 17401// Context sets the context to be used in this call's Do method. Any 17402// pending HTTP request will be aborted if the provided context is 17403// canceled. 17404func (c *ProjectsLocationsImagesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAnnotateCall { 17405 c.ctx_ = ctx 17406 return c 17407} 17408 17409// Header returns an http.Header that can be modified by the caller to 17410// add HTTP headers to the request. 17411func (c *ProjectsLocationsImagesAnnotateCall) Header() http.Header { 17412 if c.header_ == nil { 17413 c.header_ = make(http.Header) 17414 } 17415 return c.header_ 17416} 17417 17418func (c *ProjectsLocationsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 17419 reqHeaders := make(http.Header) 17420 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 17421 for k, v := range c.header_ { 17422 reqHeaders[k] = v 17423 } 17424 reqHeaders.Set("User-Agent", c.s.userAgent()) 17425 var body io.Reader = nil 17426 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotateimagesrequest) 17427 if err != nil { 17428 return nil, err 17429 } 17430 reqHeaders.Set("Content-Type", "application/json") 17431 c.urlParams_.Set("alt", alt) 17432 c.urlParams_.Set("prettyPrint", "false") 17433 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:annotate") 17434 urls += "?" + c.urlParams_.Encode() 17435 req, err := http.NewRequest("POST", urls, body) 17436 if err != nil { 17437 return nil, err 17438 } 17439 req.Header = reqHeaders 17440 googleapi.Expand(req.URL, map[string]string{ 17441 "parent": c.parent, 17442 }) 17443 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17444} 17445 17446// Do executes the "vision.projects.locations.images.annotate" call. 17447// Exactly one of *BatchAnnotateImagesResponse or error will be non-nil. 17448// Any non-2xx status code is an error. Response headers are in either 17449// *BatchAnnotateImagesResponse.ServerResponse.Header or (if a response 17450// was returned at all) in error.(*googleapi.Error).Header. Use 17451// googleapi.IsNotModified to check whether the returned error was 17452// because http.StatusNotModified was returned. 17453func (c *ProjectsLocationsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateImagesResponse, error) { 17454 gensupport.SetOptions(c.urlParams_, opts...) 17455 res, err := c.doRequest("json") 17456 if res != nil && res.StatusCode == http.StatusNotModified { 17457 if res.Body != nil { 17458 res.Body.Close() 17459 } 17460 return nil, &googleapi.Error{ 17461 Code: res.StatusCode, 17462 Header: res.Header, 17463 } 17464 } 17465 if err != nil { 17466 return nil, err 17467 } 17468 defer googleapi.CloseBody(res) 17469 if err := googleapi.CheckResponse(res); err != nil { 17470 return nil, err 17471 } 17472 ret := &BatchAnnotateImagesResponse{ 17473 ServerResponse: googleapi.ServerResponse{ 17474 Header: res.Header, 17475 HTTPStatusCode: res.StatusCode, 17476 }, 17477 } 17478 target := &ret 17479 if err := gensupport.DecodeResponse(target, res); err != nil { 17480 return nil, err 17481 } 17482 return ret, nil 17483 // { 17484 // "description": "Run image detection and annotation for a batch of images.", 17485 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/images:annotate", 17486 // "httpMethod": "POST", 17487 // "id": "vision.projects.locations.images.annotate", 17488 // "parameterOrder": [ 17489 // "parent" 17490 // ], 17491 // "parameters": { 17492 // "parent": { 17493 // "description": "Optional. Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no parent is specified, a region will be chosen automatically.\n\nSupported location-ids:\n `us`: USA country only,\n `asia`: East asia areas, like Japan, Taiwan,\n `eu`: The European Union.\n\nExample: `projects/project-A/locations/eu`.", 17494 // "location": "path", 17495 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17496 // "required": true, 17497 // "type": "string" 17498 // } 17499 // }, 17500 // "path": "v1/{+parent}/images:annotate", 17501 // "request": { 17502 // "$ref": "BatchAnnotateImagesRequest" 17503 // }, 17504 // "response": { 17505 // "$ref": "BatchAnnotateImagesResponse" 17506 // }, 17507 // "scopes": [ 17508 // "https://www.googleapis.com/auth/cloud-platform", 17509 // "https://www.googleapis.com/auth/cloud-vision" 17510 // ] 17511 // } 17512 17513} 17514 17515// method id "vision.projects.locations.images.asyncBatchAnnotate": 17516 17517type ProjectsLocationsImagesAsyncBatchAnnotateCall struct { 17518 s *Service 17519 parent string 17520 asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest 17521 urlParams_ gensupport.URLParams 17522 ctx_ context.Context 17523 header_ http.Header 17524} 17525 17526// AsyncBatchAnnotate: Run asynchronous image detection and annotation 17527// for a list of images. 17528// 17529// Progress and results can be retrieved through 17530// the 17531// `google.longrunning.Operations` interface. 17532// `Operation.metadata` contains `OperationMetadata` 17533// (metadata). 17534// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` 17535// (results). 17536// 17537// This service will write image annotation outputs to json files in 17538// customer 17539// GCS bucket, each json file containing BatchAnnotateImagesResponse 17540// proto. 17541func (r *ProjectsLocationsImagesService) AsyncBatchAnnotate(parent string, asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 17542 c := &ProjectsLocationsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17543 c.parent = parent 17544 c.asyncbatchannotateimagesrequest = asyncbatchannotateimagesrequest 17545 return c 17546} 17547 17548// Fields allows partial responses to be retrieved. See 17549// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17550// for more information. 17551func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 17552 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17553 return c 17554} 17555 17556// Context sets the context to be used in this call's Do method. Any 17557// pending HTTP request will be aborted if the provided context is 17558// canceled. 17559func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 17560 c.ctx_ = ctx 17561 return c 17562} 17563 17564// Header returns an http.Header that can be modified by the caller to 17565// add HTTP headers to the request. 17566func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Header() http.Header { 17567 if c.header_ == nil { 17568 c.header_ = make(http.Header) 17569 } 17570 return c.header_ 17571} 17572 17573func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 17574 reqHeaders := make(http.Header) 17575 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 17576 for k, v := range c.header_ { 17577 reqHeaders[k] = v 17578 } 17579 reqHeaders.Set("User-Agent", c.s.userAgent()) 17580 var body io.Reader = nil 17581 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotateimagesrequest) 17582 if err != nil { 17583 return nil, err 17584 } 17585 reqHeaders.Set("Content-Type", "application/json") 17586 c.urlParams_.Set("alt", alt) 17587 c.urlParams_.Set("prettyPrint", "false") 17588 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:asyncBatchAnnotate") 17589 urls += "?" + c.urlParams_.Encode() 17590 req, err := http.NewRequest("POST", urls, body) 17591 if err != nil { 17592 return nil, err 17593 } 17594 req.Header = reqHeaders 17595 googleapi.Expand(req.URL, map[string]string{ 17596 "parent": c.parent, 17597 }) 17598 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17599} 17600 17601// Do executes the "vision.projects.locations.images.asyncBatchAnnotate" call. 17602// Exactly one of *Operation or error will be non-nil. Any non-2xx 17603// status code is an error. Response headers are in either 17604// *Operation.ServerResponse.Header or (if a response was returned at 17605// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17606// to check whether the returned error was because 17607// http.StatusNotModified was returned. 17608func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17609 gensupport.SetOptions(c.urlParams_, opts...) 17610 res, err := c.doRequest("json") 17611 if res != nil && res.StatusCode == http.StatusNotModified { 17612 if res.Body != nil { 17613 res.Body.Close() 17614 } 17615 return nil, &googleapi.Error{ 17616 Code: res.StatusCode, 17617 Header: res.Header, 17618 } 17619 } 17620 if err != nil { 17621 return nil, err 17622 } 17623 defer googleapi.CloseBody(res) 17624 if err := googleapi.CheckResponse(res); err != nil { 17625 return nil, err 17626 } 17627 ret := &Operation{ 17628 ServerResponse: googleapi.ServerResponse{ 17629 Header: res.Header, 17630 HTTPStatusCode: res.StatusCode, 17631 }, 17632 } 17633 target := &ret 17634 if err := gensupport.DecodeResponse(target, res); err != nil { 17635 return nil, err 17636 } 17637 return ret, nil 17638 // { 17639 // "description": "Run asynchronous image detection and annotation for a list of images.\n\nProgress and results can be retrieved through the\n`google.longrunning.Operations` interface.\n`Operation.metadata` contains `OperationMetadata` (metadata).\n`Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).\n\nThis service will write image annotation outputs to json files in customer\nGCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 17640 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/images:asyncBatchAnnotate", 17641 // "httpMethod": "POST", 17642 // "id": "vision.projects.locations.images.asyncBatchAnnotate", 17643 // "parameterOrder": [ 17644 // "parent" 17645 // ], 17646 // "parameters": { 17647 // "parent": { 17648 // "description": "Optional. Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no parent is specified, a region will be chosen automatically.\n\nSupported location-ids:\n `us`: USA country only,\n `asia`: East asia areas, like Japan, Taiwan,\n `eu`: The European Union.\n\nExample: `projects/project-A/locations/eu`.", 17649 // "location": "path", 17650 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17651 // "required": true, 17652 // "type": "string" 17653 // } 17654 // }, 17655 // "path": "v1/{+parent}/images:asyncBatchAnnotate", 17656 // "request": { 17657 // "$ref": "AsyncBatchAnnotateImagesRequest" 17658 // }, 17659 // "response": { 17660 // "$ref": "Operation" 17661 // }, 17662 // "scopes": [ 17663 // "https://www.googleapis.com/auth/cloud-platform", 17664 // "https://www.googleapis.com/auth/cloud-vision" 17665 // ] 17666 // } 17667 17668} 17669 17670// method id "vision.projects.locations.operations.get": 17671 17672type ProjectsLocationsOperationsGetCall struct { 17673 s *Service 17674 name string 17675 urlParams_ gensupport.URLParams 17676 ifNoneMatch_ string 17677 ctx_ context.Context 17678 header_ http.Header 17679} 17680 17681// Get: Gets the latest state of a long-running operation. Clients can 17682// use this 17683// method to poll the operation result at intervals as recommended by 17684// the API 17685// service. 17686func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { 17687 c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17688 c.name = name 17689 return c 17690} 17691 17692// Fields allows partial responses to be retrieved. See 17693// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17694// for more information. 17695func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { 17696 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17697 return c 17698} 17699 17700// IfNoneMatch sets the optional parameter which makes the operation 17701// fail if the object's ETag matches the given value. This is useful for 17702// getting updates only after the object has changed since the last 17703// request. Use googleapi.IsNotModified to check whether the response 17704// error from Do is the result of In-None-Match. 17705func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { 17706 c.ifNoneMatch_ = entityTag 17707 return c 17708} 17709 17710// Context sets the context to be used in this call's Do method. Any 17711// pending HTTP request will be aborted if the provided context is 17712// canceled. 17713func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { 17714 c.ctx_ = ctx 17715 return c 17716} 17717 17718// Header returns an http.Header that can be modified by the caller to 17719// add HTTP headers to the request. 17720func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { 17721 if c.header_ == nil { 17722 c.header_ = make(http.Header) 17723 } 17724 return c.header_ 17725} 17726 17727func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 17728 reqHeaders := make(http.Header) 17729 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 17730 for k, v := range c.header_ { 17731 reqHeaders[k] = v 17732 } 17733 reqHeaders.Set("User-Agent", c.s.userAgent()) 17734 if c.ifNoneMatch_ != "" { 17735 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 17736 } 17737 var body io.Reader = nil 17738 c.urlParams_.Set("alt", alt) 17739 c.urlParams_.Set("prettyPrint", "false") 17740 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 17741 urls += "?" + c.urlParams_.Encode() 17742 req, err := http.NewRequest("GET", urls, body) 17743 if err != nil { 17744 return nil, err 17745 } 17746 req.Header = reqHeaders 17747 googleapi.Expand(req.URL, map[string]string{ 17748 "name": c.name, 17749 }) 17750 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17751} 17752 17753// Do executes the "vision.projects.locations.operations.get" call. 17754// Exactly one of *Operation or error will be non-nil. Any non-2xx 17755// status code is an error. Response headers are in either 17756// *Operation.ServerResponse.Header or (if a response was returned at 17757// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17758// to check whether the returned error was because 17759// http.StatusNotModified was returned. 17760func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17761 gensupport.SetOptions(c.urlParams_, opts...) 17762 res, err := c.doRequest("json") 17763 if res != nil && res.StatusCode == http.StatusNotModified { 17764 if res.Body != nil { 17765 res.Body.Close() 17766 } 17767 return nil, &googleapi.Error{ 17768 Code: res.StatusCode, 17769 Header: res.Header, 17770 } 17771 } 17772 if err != nil { 17773 return nil, err 17774 } 17775 defer googleapi.CloseBody(res) 17776 if err := googleapi.CheckResponse(res); err != nil { 17777 return nil, err 17778 } 17779 ret := &Operation{ 17780 ServerResponse: googleapi.ServerResponse{ 17781 Header: res.Header, 17782 HTTPStatusCode: res.StatusCode, 17783 }, 17784 } 17785 target := &ret 17786 if err := gensupport.DecodeResponse(target, res); err != nil { 17787 return nil, err 17788 } 17789 return ret, nil 17790 // { 17791 // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", 17792 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", 17793 // "httpMethod": "GET", 17794 // "id": "vision.projects.locations.operations.get", 17795 // "parameterOrder": [ 17796 // "name" 17797 // ], 17798 // "parameters": { 17799 // "name": { 17800 // "description": "The name of the operation resource.", 17801 // "location": "path", 17802 // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", 17803 // "required": true, 17804 // "type": "string" 17805 // } 17806 // }, 17807 // "path": "v1/{+name}", 17808 // "response": { 17809 // "$ref": "Operation" 17810 // }, 17811 // "scopes": [ 17812 // "https://www.googleapis.com/auth/cloud-platform", 17813 // "https://www.googleapis.com/auth/cloud-vision" 17814 // ] 17815 // } 17816 17817} 17818 17819// method id "vision.projects.locations.productSets.addProduct": 17820 17821type ProjectsLocationsProductSetsAddProductCall struct { 17822 s *Service 17823 name string 17824 addproducttoproductsetrequest *AddProductToProductSetRequest 17825 urlParams_ gensupport.URLParams 17826 ctx_ context.Context 17827 header_ http.Header 17828} 17829 17830// AddProduct: Adds a Product to the specified ProductSet. If the 17831// Product is already 17832// present, no change is made. 17833// 17834// One Product can be added to at most 100 ProductSets. 17835// 17836// Possible errors: 17837// 17838// * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. 17839func (r *ProjectsLocationsProductSetsService) AddProduct(name string, addproducttoproductsetrequest *AddProductToProductSetRequest) *ProjectsLocationsProductSetsAddProductCall { 17840 c := &ProjectsLocationsProductSetsAddProductCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17841 c.name = name 17842 c.addproducttoproductsetrequest = addproducttoproductsetrequest 17843 return c 17844} 17845 17846// Fields allows partial responses to be retrieved. See 17847// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17848// for more information. 17849func (c *ProjectsLocationsProductSetsAddProductCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsAddProductCall { 17850 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17851 return c 17852} 17853 17854// Context sets the context to be used in this call's Do method. Any 17855// pending HTTP request will be aborted if the provided context is 17856// canceled. 17857func (c *ProjectsLocationsProductSetsAddProductCall) Context(ctx context.Context) *ProjectsLocationsProductSetsAddProductCall { 17858 c.ctx_ = ctx 17859 return c 17860} 17861 17862// Header returns an http.Header that can be modified by the caller to 17863// add HTTP headers to the request. 17864func (c *ProjectsLocationsProductSetsAddProductCall) Header() http.Header { 17865 if c.header_ == nil { 17866 c.header_ = make(http.Header) 17867 } 17868 return c.header_ 17869} 17870 17871func (c *ProjectsLocationsProductSetsAddProductCall) doRequest(alt string) (*http.Response, error) { 17872 reqHeaders := make(http.Header) 17873 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 17874 for k, v := range c.header_ { 17875 reqHeaders[k] = v 17876 } 17877 reqHeaders.Set("User-Agent", c.s.userAgent()) 17878 var body io.Reader = nil 17879 body, err := googleapi.WithoutDataWrapper.JSONReader(c.addproducttoproductsetrequest) 17880 if err != nil { 17881 return nil, err 17882 } 17883 reqHeaders.Set("Content-Type", "application/json") 17884 c.urlParams_.Set("alt", alt) 17885 c.urlParams_.Set("prettyPrint", "false") 17886 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:addProduct") 17887 urls += "?" + c.urlParams_.Encode() 17888 req, err := http.NewRequest("POST", urls, body) 17889 if err != nil { 17890 return nil, err 17891 } 17892 req.Header = reqHeaders 17893 googleapi.Expand(req.URL, map[string]string{ 17894 "name": c.name, 17895 }) 17896 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17897} 17898 17899// Do executes the "vision.projects.locations.productSets.addProduct" call. 17900// Exactly one of *Empty or error will be non-nil. Any non-2xx status 17901// code is an error. Response headers are in either 17902// *Empty.ServerResponse.Header or (if a response was returned at all) 17903// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 17904// check whether the returned error was because http.StatusNotModified 17905// was returned. 17906func (c *ProjectsLocationsProductSetsAddProductCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 17907 gensupport.SetOptions(c.urlParams_, opts...) 17908 res, err := c.doRequest("json") 17909 if res != nil && res.StatusCode == http.StatusNotModified { 17910 if res.Body != nil { 17911 res.Body.Close() 17912 } 17913 return nil, &googleapi.Error{ 17914 Code: res.StatusCode, 17915 Header: res.Header, 17916 } 17917 } 17918 if err != nil { 17919 return nil, err 17920 } 17921 defer googleapi.CloseBody(res) 17922 if err := googleapi.CheckResponse(res); err != nil { 17923 return nil, err 17924 } 17925 ret := &Empty{ 17926 ServerResponse: googleapi.ServerResponse{ 17927 Header: res.Header, 17928 HTTPStatusCode: res.StatusCode, 17929 }, 17930 } 17931 target := &ret 17932 if err := gensupport.DecodeResponse(target, res); err != nil { 17933 return nil, err 17934 } 17935 return ret, nil 17936 // { 17937 // "description": "Adds a Product to the specified ProductSet. If the Product is already\npresent, no change is made.\n\nOne Product can be added to at most 100 ProductSets.\n\nPossible errors:\n\n* Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", 17938 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}:addProduct", 17939 // "httpMethod": "POST", 17940 // "id": "vision.projects.locations.productSets.addProduct", 17941 // "parameterOrder": [ 17942 // "name" 17943 // ], 17944 // "parameters": { 17945 // "name": { 17946 // "description": "Required. The resource name for the ProductSet to modify.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 17947 // "location": "path", 17948 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 17949 // "required": true, 17950 // "type": "string" 17951 // } 17952 // }, 17953 // "path": "v1/{+name}:addProduct", 17954 // "request": { 17955 // "$ref": "AddProductToProductSetRequest" 17956 // }, 17957 // "response": { 17958 // "$ref": "Empty" 17959 // }, 17960 // "scopes": [ 17961 // "https://www.googleapis.com/auth/cloud-platform", 17962 // "https://www.googleapis.com/auth/cloud-vision" 17963 // ] 17964 // } 17965 17966} 17967 17968// method id "vision.projects.locations.productSets.create": 17969 17970type ProjectsLocationsProductSetsCreateCall struct { 17971 s *Service 17972 parent string 17973 productset *ProductSet 17974 urlParams_ gensupport.URLParams 17975 ctx_ context.Context 17976 header_ http.Header 17977} 17978 17979// Create: Creates and returns a new ProductSet resource. 17980// 17981// Possible errors: 17982// 17983// * Returns INVALID_ARGUMENT if display_name is missing, or is longer 17984// than 17985// 4096 characters. 17986func (r *ProjectsLocationsProductSetsService) Create(parent string, productset *ProductSet) *ProjectsLocationsProductSetsCreateCall { 17987 c := &ProjectsLocationsProductSetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17988 c.parent = parent 17989 c.productset = productset 17990 return c 17991} 17992 17993// ProductSetId sets the optional parameter "productSetId": A 17994// user-supplied resource id for this ProductSet. If set, the server 17995// will 17996// attempt to use this value as the resource id. If it is already in 17997// use, an 17998// error is returned with code ALREADY_EXISTS. Must be at most 128 17999// characters 18000// long. It cannot contain the character `/`. 18001func (c *ProjectsLocationsProductSetsCreateCall) ProductSetId(productSetId string) *ProjectsLocationsProductSetsCreateCall { 18002 c.urlParams_.Set("productSetId", productSetId) 18003 return c 18004} 18005 18006// Fields allows partial responses to be retrieved. See 18007// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18008// for more information. 18009func (c *ProjectsLocationsProductSetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsCreateCall { 18010 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18011 return c 18012} 18013 18014// Context sets the context to be used in this call's Do method. Any 18015// pending HTTP request will be aborted if the provided context is 18016// canceled. 18017func (c *ProjectsLocationsProductSetsCreateCall) Context(ctx context.Context) *ProjectsLocationsProductSetsCreateCall { 18018 c.ctx_ = ctx 18019 return c 18020} 18021 18022// Header returns an http.Header that can be modified by the caller to 18023// add HTTP headers to the request. 18024func (c *ProjectsLocationsProductSetsCreateCall) Header() http.Header { 18025 if c.header_ == nil { 18026 c.header_ = make(http.Header) 18027 } 18028 return c.header_ 18029} 18030 18031func (c *ProjectsLocationsProductSetsCreateCall) doRequest(alt string) (*http.Response, error) { 18032 reqHeaders := make(http.Header) 18033 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 18034 for k, v := range c.header_ { 18035 reqHeaders[k] = v 18036 } 18037 reqHeaders.Set("User-Agent", c.s.userAgent()) 18038 var body io.Reader = nil 18039 body, err := googleapi.WithoutDataWrapper.JSONReader(c.productset) 18040 if err != nil { 18041 return nil, err 18042 } 18043 reqHeaders.Set("Content-Type", "application/json") 18044 c.urlParams_.Set("alt", alt) 18045 c.urlParams_.Set("prettyPrint", "false") 18046 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productSets") 18047 urls += "?" + c.urlParams_.Encode() 18048 req, err := http.NewRequest("POST", urls, body) 18049 if err != nil { 18050 return nil, err 18051 } 18052 req.Header = reqHeaders 18053 googleapi.Expand(req.URL, map[string]string{ 18054 "parent": c.parent, 18055 }) 18056 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18057} 18058 18059// Do executes the "vision.projects.locations.productSets.create" call. 18060// Exactly one of *ProductSet or error will be non-nil. Any non-2xx 18061// status code is an error. Response headers are in either 18062// *ProductSet.ServerResponse.Header or (if a response was returned at 18063// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 18064// to check whether the returned error was because 18065// http.StatusNotModified was returned. 18066func (c *ProjectsLocationsProductSetsCreateCall) Do(opts ...googleapi.CallOption) (*ProductSet, error) { 18067 gensupport.SetOptions(c.urlParams_, opts...) 18068 res, err := c.doRequest("json") 18069 if res != nil && res.StatusCode == http.StatusNotModified { 18070 if res.Body != nil { 18071 res.Body.Close() 18072 } 18073 return nil, &googleapi.Error{ 18074 Code: res.StatusCode, 18075 Header: res.Header, 18076 } 18077 } 18078 if err != nil { 18079 return nil, err 18080 } 18081 defer googleapi.CloseBody(res) 18082 if err := googleapi.CheckResponse(res); err != nil { 18083 return nil, err 18084 } 18085 ret := &ProductSet{ 18086 ServerResponse: googleapi.ServerResponse{ 18087 Header: res.Header, 18088 HTTPStatusCode: res.StatusCode, 18089 }, 18090 } 18091 target := &ret 18092 if err := gensupport.DecodeResponse(target, res); err != nil { 18093 return nil, err 18094 } 18095 return ret, nil 18096 // { 18097 // "description": "Creates and returns a new ProductSet resource.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if display_name is missing, or is longer than\n 4096 characters.", 18098 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets", 18099 // "httpMethod": "POST", 18100 // "id": "vision.projects.locations.productSets.create", 18101 // "parameterOrder": [ 18102 // "parent" 18103 // ], 18104 // "parameters": { 18105 // "parent": { 18106 // "description": "Required. The project in which the ProductSet should be created.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.", 18107 // "location": "path", 18108 // "pattern": "^projects/[^/]+/locations/[^/]+$", 18109 // "required": true, 18110 // "type": "string" 18111 // }, 18112 // "productSetId": { 18113 // "description": "A user-supplied resource id for this ProductSet. If set, the server will\nattempt to use this value as the resource id. If it is already in use, an\nerror is returned with code ALREADY_EXISTS. Must be at most 128 characters\nlong. It cannot contain the character `/`.", 18114 // "location": "query", 18115 // "type": "string" 18116 // } 18117 // }, 18118 // "path": "v1/{+parent}/productSets", 18119 // "request": { 18120 // "$ref": "ProductSet" 18121 // }, 18122 // "response": { 18123 // "$ref": "ProductSet" 18124 // }, 18125 // "scopes": [ 18126 // "https://www.googleapis.com/auth/cloud-platform", 18127 // "https://www.googleapis.com/auth/cloud-vision" 18128 // ] 18129 // } 18130 18131} 18132 18133// method id "vision.projects.locations.productSets.delete": 18134 18135type ProjectsLocationsProductSetsDeleteCall struct { 18136 s *Service 18137 name string 18138 urlParams_ gensupport.URLParams 18139 ctx_ context.Context 18140 header_ http.Header 18141} 18142 18143// Delete: Permanently deletes a ProductSet. Products and 18144// ReferenceImages in the 18145// ProductSet are not deleted. 18146// 18147// The actual image files are not deleted from Google Cloud Storage. 18148func (r *ProjectsLocationsProductSetsService) Delete(name string) *ProjectsLocationsProductSetsDeleteCall { 18149 c := &ProjectsLocationsProductSetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18150 c.name = name 18151 return c 18152} 18153 18154// Fields allows partial responses to be retrieved. See 18155// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18156// for more information. 18157func (c *ProjectsLocationsProductSetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsDeleteCall { 18158 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18159 return c 18160} 18161 18162// Context sets the context to be used in this call's Do method. Any 18163// pending HTTP request will be aborted if the provided context is 18164// canceled. 18165func (c *ProjectsLocationsProductSetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsProductSetsDeleteCall { 18166 c.ctx_ = ctx 18167 return c 18168} 18169 18170// Header returns an http.Header that can be modified by the caller to 18171// add HTTP headers to the request. 18172func (c *ProjectsLocationsProductSetsDeleteCall) Header() http.Header { 18173 if c.header_ == nil { 18174 c.header_ = make(http.Header) 18175 } 18176 return c.header_ 18177} 18178 18179func (c *ProjectsLocationsProductSetsDeleteCall) doRequest(alt string) (*http.Response, error) { 18180 reqHeaders := make(http.Header) 18181 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 18182 for k, v := range c.header_ { 18183 reqHeaders[k] = v 18184 } 18185 reqHeaders.Set("User-Agent", c.s.userAgent()) 18186 var body io.Reader = nil 18187 c.urlParams_.Set("alt", alt) 18188 c.urlParams_.Set("prettyPrint", "false") 18189 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 18190 urls += "?" + c.urlParams_.Encode() 18191 req, err := http.NewRequest("DELETE", urls, body) 18192 if err != nil { 18193 return nil, err 18194 } 18195 req.Header = reqHeaders 18196 googleapi.Expand(req.URL, map[string]string{ 18197 "name": c.name, 18198 }) 18199 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18200} 18201 18202// Do executes the "vision.projects.locations.productSets.delete" call. 18203// Exactly one of *Empty or error will be non-nil. Any non-2xx status 18204// code is an error. Response headers are in either 18205// *Empty.ServerResponse.Header or (if a response was returned at all) 18206// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 18207// check whether the returned error was because http.StatusNotModified 18208// was returned. 18209func (c *ProjectsLocationsProductSetsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 18210 gensupport.SetOptions(c.urlParams_, opts...) 18211 res, err := c.doRequest("json") 18212 if res != nil && res.StatusCode == http.StatusNotModified { 18213 if res.Body != nil { 18214 res.Body.Close() 18215 } 18216 return nil, &googleapi.Error{ 18217 Code: res.StatusCode, 18218 Header: res.Header, 18219 } 18220 } 18221 if err != nil { 18222 return nil, err 18223 } 18224 defer googleapi.CloseBody(res) 18225 if err := googleapi.CheckResponse(res); err != nil { 18226 return nil, err 18227 } 18228 ret := &Empty{ 18229 ServerResponse: googleapi.ServerResponse{ 18230 Header: res.Header, 18231 HTTPStatusCode: res.StatusCode, 18232 }, 18233 } 18234 target := &ret 18235 if err := gensupport.DecodeResponse(target, res); err != nil { 18236 return nil, err 18237 } 18238 return ret, nil 18239 // { 18240 // "description": "Permanently deletes a ProductSet. Products and ReferenceImages in the\nProductSet are not deleted.\n\nThe actual image files are not deleted from Google Cloud Storage.", 18241 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}", 18242 // "httpMethod": "DELETE", 18243 // "id": "vision.projects.locations.productSets.delete", 18244 // "parameterOrder": [ 18245 // "name" 18246 // ], 18247 // "parameters": { 18248 // "name": { 18249 // "description": "Required. Resource name of the ProductSet to delete.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 18250 // "location": "path", 18251 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 18252 // "required": true, 18253 // "type": "string" 18254 // } 18255 // }, 18256 // "path": "v1/{+name}", 18257 // "response": { 18258 // "$ref": "Empty" 18259 // }, 18260 // "scopes": [ 18261 // "https://www.googleapis.com/auth/cloud-platform", 18262 // "https://www.googleapis.com/auth/cloud-vision" 18263 // ] 18264 // } 18265 18266} 18267 18268// method id "vision.projects.locations.productSets.get": 18269 18270type ProjectsLocationsProductSetsGetCall struct { 18271 s *Service 18272 name string 18273 urlParams_ gensupport.URLParams 18274 ifNoneMatch_ string 18275 ctx_ context.Context 18276 header_ http.Header 18277} 18278 18279// Get: Gets information associated with a ProductSet. 18280// 18281// Possible errors: 18282// 18283// * Returns NOT_FOUND if the ProductSet does not exist. 18284func (r *ProjectsLocationsProductSetsService) Get(name string) *ProjectsLocationsProductSetsGetCall { 18285 c := &ProjectsLocationsProductSetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18286 c.name = name 18287 return c 18288} 18289 18290// Fields allows partial responses to be retrieved. See 18291// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18292// for more information. 18293func (c *ProjectsLocationsProductSetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsGetCall { 18294 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18295 return c 18296} 18297 18298// IfNoneMatch sets the optional parameter which makes the operation 18299// fail if the object's ETag matches the given value. This is useful for 18300// getting updates only after the object has changed since the last 18301// request. Use googleapi.IsNotModified to check whether the response 18302// error from Do is the result of In-None-Match. 18303func (c *ProjectsLocationsProductSetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductSetsGetCall { 18304 c.ifNoneMatch_ = entityTag 18305 return c 18306} 18307 18308// Context sets the context to be used in this call's Do method. Any 18309// pending HTTP request will be aborted if the provided context is 18310// canceled. 18311func (c *ProjectsLocationsProductSetsGetCall) Context(ctx context.Context) *ProjectsLocationsProductSetsGetCall { 18312 c.ctx_ = ctx 18313 return c 18314} 18315 18316// Header returns an http.Header that can be modified by the caller to 18317// add HTTP headers to the request. 18318func (c *ProjectsLocationsProductSetsGetCall) Header() http.Header { 18319 if c.header_ == nil { 18320 c.header_ = make(http.Header) 18321 } 18322 return c.header_ 18323} 18324 18325func (c *ProjectsLocationsProductSetsGetCall) doRequest(alt string) (*http.Response, error) { 18326 reqHeaders := make(http.Header) 18327 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 18328 for k, v := range c.header_ { 18329 reqHeaders[k] = v 18330 } 18331 reqHeaders.Set("User-Agent", c.s.userAgent()) 18332 if c.ifNoneMatch_ != "" { 18333 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 18334 } 18335 var body io.Reader = nil 18336 c.urlParams_.Set("alt", alt) 18337 c.urlParams_.Set("prettyPrint", "false") 18338 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 18339 urls += "?" + c.urlParams_.Encode() 18340 req, err := http.NewRequest("GET", urls, body) 18341 if err != nil { 18342 return nil, err 18343 } 18344 req.Header = reqHeaders 18345 googleapi.Expand(req.URL, map[string]string{ 18346 "name": c.name, 18347 }) 18348 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18349} 18350 18351// Do executes the "vision.projects.locations.productSets.get" call. 18352// Exactly one of *ProductSet or error will be non-nil. Any non-2xx 18353// status code is an error. Response headers are in either 18354// *ProductSet.ServerResponse.Header or (if a response was returned at 18355// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 18356// to check whether the returned error was because 18357// http.StatusNotModified was returned. 18358func (c *ProjectsLocationsProductSetsGetCall) Do(opts ...googleapi.CallOption) (*ProductSet, error) { 18359 gensupport.SetOptions(c.urlParams_, opts...) 18360 res, err := c.doRequest("json") 18361 if res != nil && res.StatusCode == http.StatusNotModified { 18362 if res.Body != nil { 18363 res.Body.Close() 18364 } 18365 return nil, &googleapi.Error{ 18366 Code: res.StatusCode, 18367 Header: res.Header, 18368 } 18369 } 18370 if err != nil { 18371 return nil, err 18372 } 18373 defer googleapi.CloseBody(res) 18374 if err := googleapi.CheckResponse(res); err != nil { 18375 return nil, err 18376 } 18377 ret := &ProductSet{ 18378 ServerResponse: googleapi.ServerResponse{ 18379 Header: res.Header, 18380 HTTPStatusCode: res.StatusCode, 18381 }, 18382 } 18383 target := &ret 18384 if err := gensupport.DecodeResponse(target, res); err != nil { 18385 return nil, err 18386 } 18387 return ret, nil 18388 // { 18389 // "description": "Gets information associated with a ProductSet.\n\nPossible errors:\n\n* Returns NOT_FOUND if the ProductSet does not exist.", 18390 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}", 18391 // "httpMethod": "GET", 18392 // "id": "vision.projects.locations.productSets.get", 18393 // "parameterOrder": [ 18394 // "name" 18395 // ], 18396 // "parameters": { 18397 // "name": { 18398 // "description": "Required. Resource name of the ProductSet to get.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 18399 // "location": "path", 18400 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 18401 // "required": true, 18402 // "type": "string" 18403 // } 18404 // }, 18405 // "path": "v1/{+name}", 18406 // "response": { 18407 // "$ref": "ProductSet" 18408 // }, 18409 // "scopes": [ 18410 // "https://www.googleapis.com/auth/cloud-platform", 18411 // "https://www.googleapis.com/auth/cloud-vision" 18412 // ] 18413 // } 18414 18415} 18416 18417// method id "vision.projects.locations.productSets.import": 18418 18419type ProjectsLocationsProductSetsImportCall struct { 18420 s *Service 18421 parent string 18422 importproductsetsrequest *ImportProductSetsRequest 18423 urlParams_ gensupport.URLParams 18424 ctx_ context.Context 18425 header_ http.Header 18426} 18427 18428// Import: Asynchronous API that imports a list of reference images to 18429// specified 18430// product sets based on a list of image information. 18431// 18432// The google.longrunning.Operation API can be used to keep track of 18433// the 18434// progress and results of the request. 18435// `Operation.metadata` contains `BatchOperationMetadata`. 18436// (progress) 18437// `Operation.response` contains `ImportProductSetsResponse`. 18438// (results) 18439// 18440// The input source of this method is a csv file on Google Cloud 18441// Storage. 18442// For the format of the csv file please 18443// see 18444// ImportProductSetsGcsSource.csv_file_uri. 18445func (r *ProjectsLocationsProductSetsService) Import(parent string, importproductsetsrequest *ImportProductSetsRequest) *ProjectsLocationsProductSetsImportCall { 18446 c := &ProjectsLocationsProductSetsImportCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18447 c.parent = parent 18448 c.importproductsetsrequest = importproductsetsrequest 18449 return c 18450} 18451 18452// Fields allows partial responses to be retrieved. See 18453// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18454// for more information. 18455func (c *ProjectsLocationsProductSetsImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsImportCall { 18456 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18457 return c 18458} 18459 18460// Context sets the context to be used in this call's Do method. Any 18461// pending HTTP request will be aborted if the provided context is 18462// canceled. 18463func (c *ProjectsLocationsProductSetsImportCall) Context(ctx context.Context) *ProjectsLocationsProductSetsImportCall { 18464 c.ctx_ = ctx 18465 return c 18466} 18467 18468// Header returns an http.Header that can be modified by the caller to 18469// add HTTP headers to the request. 18470func (c *ProjectsLocationsProductSetsImportCall) Header() http.Header { 18471 if c.header_ == nil { 18472 c.header_ = make(http.Header) 18473 } 18474 return c.header_ 18475} 18476 18477func (c *ProjectsLocationsProductSetsImportCall) doRequest(alt string) (*http.Response, error) { 18478 reqHeaders := make(http.Header) 18479 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 18480 for k, v := range c.header_ { 18481 reqHeaders[k] = v 18482 } 18483 reqHeaders.Set("User-Agent", c.s.userAgent()) 18484 var body io.Reader = nil 18485 body, err := googleapi.WithoutDataWrapper.JSONReader(c.importproductsetsrequest) 18486 if err != nil { 18487 return nil, err 18488 } 18489 reqHeaders.Set("Content-Type", "application/json") 18490 c.urlParams_.Set("alt", alt) 18491 c.urlParams_.Set("prettyPrint", "false") 18492 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productSets:import") 18493 urls += "?" + c.urlParams_.Encode() 18494 req, err := http.NewRequest("POST", urls, body) 18495 if err != nil { 18496 return nil, err 18497 } 18498 req.Header = reqHeaders 18499 googleapi.Expand(req.URL, map[string]string{ 18500 "parent": c.parent, 18501 }) 18502 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18503} 18504 18505// Do executes the "vision.projects.locations.productSets.import" call. 18506// Exactly one of *Operation or error will be non-nil. Any non-2xx 18507// status code is an error. Response headers are in either 18508// *Operation.ServerResponse.Header or (if a response was returned at 18509// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 18510// to check whether the returned error was because 18511// http.StatusNotModified was returned. 18512func (c *ProjectsLocationsProductSetsImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 18513 gensupport.SetOptions(c.urlParams_, opts...) 18514 res, err := c.doRequest("json") 18515 if res != nil && res.StatusCode == http.StatusNotModified { 18516 if res.Body != nil { 18517 res.Body.Close() 18518 } 18519 return nil, &googleapi.Error{ 18520 Code: res.StatusCode, 18521 Header: res.Header, 18522 } 18523 } 18524 if err != nil { 18525 return nil, err 18526 } 18527 defer googleapi.CloseBody(res) 18528 if err := googleapi.CheckResponse(res); err != nil { 18529 return nil, err 18530 } 18531 ret := &Operation{ 18532 ServerResponse: googleapi.ServerResponse{ 18533 Header: res.Header, 18534 HTTPStatusCode: res.StatusCode, 18535 }, 18536 } 18537 target := &ret 18538 if err := gensupport.DecodeResponse(target, res); err != nil { 18539 return nil, err 18540 } 18541 return ret, nil 18542 // { 18543 // "description": "Asynchronous API that imports a list of reference images to specified\nproduct sets based on a list of image information.\n\nThe google.longrunning.Operation API can be used to keep track of the\nprogress and results of the request.\n`Operation.metadata` contains `BatchOperationMetadata`. (progress)\n`Operation.response` contains `ImportProductSetsResponse`. (results)\n\nThe input source of this method is a csv file on Google Cloud Storage.\nFor the format of the csv file please see\nImportProductSetsGcsSource.csv_file_uri.", 18544 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets:import", 18545 // "httpMethod": "POST", 18546 // "id": "vision.projects.locations.productSets.import", 18547 // "parameterOrder": [ 18548 // "parent" 18549 // ], 18550 // "parameters": { 18551 // "parent": { 18552 // "description": "Required. The project in which the ProductSets should be imported.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.", 18553 // "location": "path", 18554 // "pattern": "^projects/[^/]+/locations/[^/]+$", 18555 // "required": true, 18556 // "type": "string" 18557 // } 18558 // }, 18559 // "path": "v1/{+parent}/productSets:import", 18560 // "request": { 18561 // "$ref": "ImportProductSetsRequest" 18562 // }, 18563 // "response": { 18564 // "$ref": "Operation" 18565 // }, 18566 // "scopes": [ 18567 // "https://www.googleapis.com/auth/cloud-platform", 18568 // "https://www.googleapis.com/auth/cloud-vision" 18569 // ] 18570 // } 18571 18572} 18573 18574// method id "vision.projects.locations.productSets.list": 18575 18576type ProjectsLocationsProductSetsListCall struct { 18577 s *Service 18578 parent string 18579 urlParams_ gensupport.URLParams 18580 ifNoneMatch_ string 18581 ctx_ context.Context 18582 header_ http.Header 18583} 18584 18585// List: Lists ProductSets in an unspecified order. 18586// 18587// Possible errors: 18588// 18589// * Returns INVALID_ARGUMENT if page_size is greater than 100, or less 18590// than 1. 18591func (r *ProjectsLocationsProductSetsService) List(parent string) *ProjectsLocationsProductSetsListCall { 18592 c := &ProjectsLocationsProductSetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18593 c.parent = parent 18594 return c 18595} 18596 18597// PageSize sets the optional parameter "pageSize": The maximum number 18598// of items to return. Default 10, maximum 100. 18599func (c *ProjectsLocationsProductSetsListCall) PageSize(pageSize int64) *ProjectsLocationsProductSetsListCall { 18600 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 18601 return c 18602} 18603 18604// PageToken sets the optional parameter "pageToken": The 18605// next_page_token returned from a previous List request, if any. 18606func (c *ProjectsLocationsProductSetsListCall) PageToken(pageToken string) *ProjectsLocationsProductSetsListCall { 18607 c.urlParams_.Set("pageToken", pageToken) 18608 return c 18609} 18610 18611// Fields allows partial responses to be retrieved. See 18612// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18613// for more information. 18614func (c *ProjectsLocationsProductSetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsListCall { 18615 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18616 return c 18617} 18618 18619// IfNoneMatch sets the optional parameter which makes the operation 18620// fail if the object's ETag matches the given value. This is useful for 18621// getting updates only after the object has changed since the last 18622// request. Use googleapi.IsNotModified to check whether the response 18623// error from Do is the result of In-None-Match. 18624func (c *ProjectsLocationsProductSetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductSetsListCall { 18625 c.ifNoneMatch_ = entityTag 18626 return c 18627} 18628 18629// Context sets the context to be used in this call's Do method. Any 18630// pending HTTP request will be aborted if the provided context is 18631// canceled. 18632func (c *ProjectsLocationsProductSetsListCall) Context(ctx context.Context) *ProjectsLocationsProductSetsListCall { 18633 c.ctx_ = ctx 18634 return c 18635} 18636 18637// Header returns an http.Header that can be modified by the caller to 18638// add HTTP headers to the request. 18639func (c *ProjectsLocationsProductSetsListCall) Header() http.Header { 18640 if c.header_ == nil { 18641 c.header_ = make(http.Header) 18642 } 18643 return c.header_ 18644} 18645 18646func (c *ProjectsLocationsProductSetsListCall) doRequest(alt string) (*http.Response, error) { 18647 reqHeaders := make(http.Header) 18648 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 18649 for k, v := range c.header_ { 18650 reqHeaders[k] = v 18651 } 18652 reqHeaders.Set("User-Agent", c.s.userAgent()) 18653 if c.ifNoneMatch_ != "" { 18654 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 18655 } 18656 var body io.Reader = nil 18657 c.urlParams_.Set("alt", alt) 18658 c.urlParams_.Set("prettyPrint", "false") 18659 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productSets") 18660 urls += "?" + c.urlParams_.Encode() 18661 req, err := http.NewRequest("GET", urls, body) 18662 if err != nil { 18663 return nil, err 18664 } 18665 req.Header = reqHeaders 18666 googleapi.Expand(req.URL, map[string]string{ 18667 "parent": c.parent, 18668 }) 18669 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18670} 18671 18672// Do executes the "vision.projects.locations.productSets.list" call. 18673// Exactly one of *ListProductSetsResponse or error will be non-nil. Any 18674// non-2xx status code is an error. Response headers are in either 18675// *ListProductSetsResponse.ServerResponse.Header or (if a response was 18676// returned at all) in error.(*googleapi.Error).Header. Use 18677// googleapi.IsNotModified to check whether the returned error was 18678// because http.StatusNotModified was returned. 18679func (c *ProjectsLocationsProductSetsListCall) Do(opts ...googleapi.CallOption) (*ListProductSetsResponse, error) { 18680 gensupport.SetOptions(c.urlParams_, opts...) 18681 res, err := c.doRequest("json") 18682 if res != nil && res.StatusCode == http.StatusNotModified { 18683 if res.Body != nil { 18684 res.Body.Close() 18685 } 18686 return nil, &googleapi.Error{ 18687 Code: res.StatusCode, 18688 Header: res.Header, 18689 } 18690 } 18691 if err != nil { 18692 return nil, err 18693 } 18694 defer googleapi.CloseBody(res) 18695 if err := googleapi.CheckResponse(res); err != nil { 18696 return nil, err 18697 } 18698 ret := &ListProductSetsResponse{ 18699 ServerResponse: googleapi.ServerResponse{ 18700 Header: res.Header, 18701 HTTPStatusCode: res.StatusCode, 18702 }, 18703 } 18704 target := &ret 18705 if err := gensupport.DecodeResponse(target, res); err != nil { 18706 return nil, err 18707 } 18708 return ret, nil 18709 // { 18710 // "description": "Lists ProductSets in an unspecified order.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if page_size is greater than 100, or less\n than 1.", 18711 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets", 18712 // "httpMethod": "GET", 18713 // "id": "vision.projects.locations.productSets.list", 18714 // "parameterOrder": [ 18715 // "parent" 18716 // ], 18717 // "parameters": { 18718 // "pageSize": { 18719 // "description": "The maximum number of items to return. Default 10, maximum 100.", 18720 // "format": "int32", 18721 // "location": "query", 18722 // "type": "integer" 18723 // }, 18724 // "pageToken": { 18725 // "description": "The next_page_token returned from a previous List request, if any.", 18726 // "location": "query", 18727 // "type": "string" 18728 // }, 18729 // "parent": { 18730 // "description": "Required. The project from which ProductSets should be listed.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.", 18731 // "location": "path", 18732 // "pattern": "^projects/[^/]+/locations/[^/]+$", 18733 // "required": true, 18734 // "type": "string" 18735 // } 18736 // }, 18737 // "path": "v1/{+parent}/productSets", 18738 // "response": { 18739 // "$ref": "ListProductSetsResponse" 18740 // }, 18741 // "scopes": [ 18742 // "https://www.googleapis.com/auth/cloud-platform", 18743 // "https://www.googleapis.com/auth/cloud-vision" 18744 // ] 18745 // } 18746 18747} 18748 18749// Pages invokes f for each page of results. 18750// A non-nil error returned from f will halt the iteration. 18751// The provided context supersedes any context provided to the Context method. 18752func (c *ProjectsLocationsProductSetsListCall) Pages(ctx context.Context, f func(*ListProductSetsResponse) error) error { 18753 c.ctx_ = ctx 18754 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 18755 for { 18756 x, err := c.Do() 18757 if err != nil { 18758 return err 18759 } 18760 if err := f(x); err != nil { 18761 return err 18762 } 18763 if x.NextPageToken == "" { 18764 return nil 18765 } 18766 c.PageToken(x.NextPageToken) 18767 } 18768} 18769 18770// method id "vision.projects.locations.productSets.patch": 18771 18772type ProjectsLocationsProductSetsPatchCall struct { 18773 s *Service 18774 name string 18775 productset *ProductSet 18776 urlParams_ gensupport.URLParams 18777 ctx_ context.Context 18778 header_ http.Header 18779} 18780 18781// Patch: Makes changes to a ProductSet resource. 18782// Only display_name can be updated currently. 18783// 18784// Possible errors: 18785// 18786// * Returns NOT_FOUND if the ProductSet does not exist. 18787// * Returns INVALID_ARGUMENT if display_name is present in update_mask 18788// but 18789// missing from the request or longer than 4096 characters. 18790func (r *ProjectsLocationsProductSetsService) Patch(name string, productset *ProductSet) *ProjectsLocationsProductSetsPatchCall { 18791 c := &ProjectsLocationsProductSetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18792 c.name = name 18793 c.productset = productset 18794 return c 18795} 18796 18797// UpdateMask sets the optional parameter "updateMask": The FieldMask 18798// that specifies which fields to 18799// update. 18800// If update_mask isn't specified, all mutable fields are to be 18801// updated. 18802// Valid mask path is `display_name`. 18803func (c *ProjectsLocationsProductSetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsProductSetsPatchCall { 18804 c.urlParams_.Set("updateMask", updateMask) 18805 return c 18806} 18807 18808// Fields allows partial responses to be retrieved. See 18809// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18810// for more information. 18811func (c *ProjectsLocationsProductSetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsPatchCall { 18812 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18813 return c 18814} 18815 18816// Context sets the context to be used in this call's Do method. Any 18817// pending HTTP request will be aborted if the provided context is 18818// canceled. 18819func (c *ProjectsLocationsProductSetsPatchCall) Context(ctx context.Context) *ProjectsLocationsProductSetsPatchCall { 18820 c.ctx_ = ctx 18821 return c 18822} 18823 18824// Header returns an http.Header that can be modified by the caller to 18825// add HTTP headers to the request. 18826func (c *ProjectsLocationsProductSetsPatchCall) Header() http.Header { 18827 if c.header_ == nil { 18828 c.header_ = make(http.Header) 18829 } 18830 return c.header_ 18831} 18832 18833func (c *ProjectsLocationsProductSetsPatchCall) doRequest(alt string) (*http.Response, error) { 18834 reqHeaders := make(http.Header) 18835 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 18836 for k, v := range c.header_ { 18837 reqHeaders[k] = v 18838 } 18839 reqHeaders.Set("User-Agent", c.s.userAgent()) 18840 var body io.Reader = nil 18841 body, err := googleapi.WithoutDataWrapper.JSONReader(c.productset) 18842 if err != nil { 18843 return nil, err 18844 } 18845 reqHeaders.Set("Content-Type", "application/json") 18846 c.urlParams_.Set("alt", alt) 18847 c.urlParams_.Set("prettyPrint", "false") 18848 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 18849 urls += "?" + c.urlParams_.Encode() 18850 req, err := http.NewRequest("PATCH", urls, body) 18851 if err != nil { 18852 return nil, err 18853 } 18854 req.Header = reqHeaders 18855 googleapi.Expand(req.URL, map[string]string{ 18856 "name": c.name, 18857 }) 18858 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18859} 18860 18861// Do executes the "vision.projects.locations.productSets.patch" call. 18862// Exactly one of *ProductSet or error will be non-nil. Any non-2xx 18863// status code is an error. Response headers are in either 18864// *ProductSet.ServerResponse.Header or (if a response was returned at 18865// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 18866// to check whether the returned error was because 18867// http.StatusNotModified was returned. 18868func (c *ProjectsLocationsProductSetsPatchCall) Do(opts ...googleapi.CallOption) (*ProductSet, error) { 18869 gensupport.SetOptions(c.urlParams_, opts...) 18870 res, err := c.doRequest("json") 18871 if res != nil && res.StatusCode == http.StatusNotModified { 18872 if res.Body != nil { 18873 res.Body.Close() 18874 } 18875 return nil, &googleapi.Error{ 18876 Code: res.StatusCode, 18877 Header: res.Header, 18878 } 18879 } 18880 if err != nil { 18881 return nil, err 18882 } 18883 defer googleapi.CloseBody(res) 18884 if err := googleapi.CheckResponse(res); err != nil { 18885 return nil, err 18886 } 18887 ret := &ProductSet{ 18888 ServerResponse: googleapi.ServerResponse{ 18889 Header: res.Header, 18890 HTTPStatusCode: res.StatusCode, 18891 }, 18892 } 18893 target := &ret 18894 if err := gensupport.DecodeResponse(target, res); err != nil { 18895 return nil, err 18896 } 18897 return ret, nil 18898 // { 18899 // "description": "Makes changes to a ProductSet resource.\nOnly display_name can be updated currently.\n\nPossible errors:\n\n* Returns NOT_FOUND if the ProductSet does not exist.\n* Returns INVALID_ARGUMENT if display_name is present in update_mask but\n missing from the request or longer than 4096 characters.", 18900 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}", 18901 // "httpMethod": "PATCH", 18902 // "id": "vision.projects.locations.productSets.patch", 18903 // "parameterOrder": [ 18904 // "name" 18905 // ], 18906 // "parameters": { 18907 // "name": { 18908 // "description": "The resource name of the ProductSet.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.\n\nThis field is ignored when creating a ProductSet.", 18909 // "location": "path", 18910 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 18911 // "required": true, 18912 // "type": "string" 18913 // }, 18914 // "updateMask": { 18915 // "description": "The FieldMask that specifies which fields to\nupdate.\nIf update_mask isn't specified, all mutable fields are to be updated.\nValid mask path is `display_name`.", 18916 // "format": "google-fieldmask", 18917 // "location": "query", 18918 // "type": "string" 18919 // } 18920 // }, 18921 // "path": "v1/{+name}", 18922 // "request": { 18923 // "$ref": "ProductSet" 18924 // }, 18925 // "response": { 18926 // "$ref": "ProductSet" 18927 // }, 18928 // "scopes": [ 18929 // "https://www.googleapis.com/auth/cloud-platform", 18930 // "https://www.googleapis.com/auth/cloud-vision" 18931 // ] 18932 // } 18933 18934} 18935 18936// method id "vision.projects.locations.productSets.removeProduct": 18937 18938type ProjectsLocationsProductSetsRemoveProductCall struct { 18939 s *Service 18940 name string 18941 removeproductfromproductsetrequest *RemoveProductFromProductSetRequest 18942 urlParams_ gensupport.URLParams 18943 ctx_ context.Context 18944 header_ http.Header 18945} 18946 18947// RemoveProduct: Removes a Product from the specified ProductSet. 18948func (r *ProjectsLocationsProductSetsService) RemoveProduct(name string, removeproductfromproductsetrequest *RemoveProductFromProductSetRequest) *ProjectsLocationsProductSetsRemoveProductCall { 18949 c := &ProjectsLocationsProductSetsRemoveProductCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18950 c.name = name 18951 c.removeproductfromproductsetrequest = removeproductfromproductsetrequest 18952 return c 18953} 18954 18955// Fields allows partial responses to be retrieved. See 18956// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18957// for more information. 18958func (c *ProjectsLocationsProductSetsRemoveProductCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsRemoveProductCall { 18959 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18960 return c 18961} 18962 18963// Context sets the context to be used in this call's Do method. Any 18964// pending HTTP request will be aborted if the provided context is 18965// canceled. 18966func (c *ProjectsLocationsProductSetsRemoveProductCall) Context(ctx context.Context) *ProjectsLocationsProductSetsRemoveProductCall { 18967 c.ctx_ = ctx 18968 return c 18969} 18970 18971// Header returns an http.Header that can be modified by the caller to 18972// add HTTP headers to the request. 18973func (c *ProjectsLocationsProductSetsRemoveProductCall) Header() http.Header { 18974 if c.header_ == nil { 18975 c.header_ = make(http.Header) 18976 } 18977 return c.header_ 18978} 18979 18980func (c *ProjectsLocationsProductSetsRemoveProductCall) doRequest(alt string) (*http.Response, error) { 18981 reqHeaders := make(http.Header) 18982 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 18983 for k, v := range c.header_ { 18984 reqHeaders[k] = v 18985 } 18986 reqHeaders.Set("User-Agent", c.s.userAgent()) 18987 var body io.Reader = nil 18988 body, err := googleapi.WithoutDataWrapper.JSONReader(c.removeproductfromproductsetrequest) 18989 if err != nil { 18990 return nil, err 18991 } 18992 reqHeaders.Set("Content-Type", "application/json") 18993 c.urlParams_.Set("alt", alt) 18994 c.urlParams_.Set("prettyPrint", "false") 18995 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:removeProduct") 18996 urls += "?" + c.urlParams_.Encode() 18997 req, err := http.NewRequest("POST", urls, body) 18998 if err != nil { 18999 return nil, err 19000 } 19001 req.Header = reqHeaders 19002 googleapi.Expand(req.URL, map[string]string{ 19003 "name": c.name, 19004 }) 19005 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19006} 19007 19008// Do executes the "vision.projects.locations.productSets.removeProduct" call. 19009// Exactly one of *Empty or error will be non-nil. Any non-2xx status 19010// code is an error. Response headers are in either 19011// *Empty.ServerResponse.Header or (if a response was returned at all) 19012// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 19013// check whether the returned error was because http.StatusNotModified 19014// was returned. 19015func (c *ProjectsLocationsProductSetsRemoveProductCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 19016 gensupport.SetOptions(c.urlParams_, opts...) 19017 res, err := c.doRequest("json") 19018 if res != nil && res.StatusCode == http.StatusNotModified { 19019 if res.Body != nil { 19020 res.Body.Close() 19021 } 19022 return nil, &googleapi.Error{ 19023 Code: res.StatusCode, 19024 Header: res.Header, 19025 } 19026 } 19027 if err != nil { 19028 return nil, err 19029 } 19030 defer googleapi.CloseBody(res) 19031 if err := googleapi.CheckResponse(res); err != nil { 19032 return nil, err 19033 } 19034 ret := &Empty{ 19035 ServerResponse: googleapi.ServerResponse{ 19036 Header: res.Header, 19037 HTTPStatusCode: res.StatusCode, 19038 }, 19039 } 19040 target := &ret 19041 if err := gensupport.DecodeResponse(target, res); err != nil { 19042 return nil, err 19043 } 19044 return ret, nil 19045 // { 19046 // "description": "Removes a Product from the specified ProductSet.", 19047 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}:removeProduct", 19048 // "httpMethod": "POST", 19049 // "id": "vision.projects.locations.productSets.removeProduct", 19050 // "parameterOrder": [ 19051 // "name" 19052 // ], 19053 // "parameters": { 19054 // "name": { 19055 // "description": "Required. The resource name for the ProductSet to modify.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 19056 // "location": "path", 19057 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 19058 // "required": true, 19059 // "type": "string" 19060 // } 19061 // }, 19062 // "path": "v1/{+name}:removeProduct", 19063 // "request": { 19064 // "$ref": "RemoveProductFromProductSetRequest" 19065 // }, 19066 // "response": { 19067 // "$ref": "Empty" 19068 // }, 19069 // "scopes": [ 19070 // "https://www.googleapis.com/auth/cloud-platform", 19071 // "https://www.googleapis.com/auth/cloud-vision" 19072 // ] 19073 // } 19074 19075} 19076 19077// method id "vision.projects.locations.productSets.products.list": 19078 19079type ProjectsLocationsProductSetsProductsListCall struct { 19080 s *Service 19081 name string 19082 urlParams_ gensupport.URLParams 19083 ifNoneMatch_ string 19084 ctx_ context.Context 19085 header_ http.Header 19086} 19087 19088// List: Lists the Products in a ProductSet, in an unspecified order. If 19089// the 19090// ProductSet does not exist, the products field of the response will 19091// be 19092// empty. 19093// 19094// Possible errors: 19095// 19096// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less 19097// than 1. 19098func (r *ProjectsLocationsProductSetsProductsService) List(name string) *ProjectsLocationsProductSetsProductsListCall { 19099 c := &ProjectsLocationsProductSetsProductsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19100 c.name = name 19101 return c 19102} 19103 19104// PageSize sets the optional parameter "pageSize": The maximum number 19105// of items to return. Default 10, maximum 100. 19106func (c *ProjectsLocationsProductSetsProductsListCall) PageSize(pageSize int64) *ProjectsLocationsProductSetsProductsListCall { 19107 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 19108 return c 19109} 19110 19111// PageToken sets the optional parameter "pageToken": The 19112// next_page_token returned from a previous List request, if any. 19113func (c *ProjectsLocationsProductSetsProductsListCall) PageToken(pageToken string) *ProjectsLocationsProductSetsProductsListCall { 19114 c.urlParams_.Set("pageToken", pageToken) 19115 return c 19116} 19117 19118// Fields allows partial responses to be retrieved. See 19119// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19120// for more information. 19121func (c *ProjectsLocationsProductSetsProductsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsProductsListCall { 19122 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19123 return c 19124} 19125 19126// IfNoneMatch sets the optional parameter which makes the operation 19127// fail if the object's ETag matches the given value. This is useful for 19128// getting updates only after the object has changed since the last 19129// request. Use googleapi.IsNotModified to check whether the response 19130// error from Do is the result of In-None-Match. 19131func (c *ProjectsLocationsProductSetsProductsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductSetsProductsListCall { 19132 c.ifNoneMatch_ = entityTag 19133 return c 19134} 19135 19136// Context sets the context to be used in this call's Do method. Any 19137// pending HTTP request will be aborted if the provided context is 19138// canceled. 19139func (c *ProjectsLocationsProductSetsProductsListCall) Context(ctx context.Context) *ProjectsLocationsProductSetsProductsListCall { 19140 c.ctx_ = ctx 19141 return c 19142} 19143 19144// Header returns an http.Header that can be modified by the caller to 19145// add HTTP headers to the request. 19146func (c *ProjectsLocationsProductSetsProductsListCall) Header() http.Header { 19147 if c.header_ == nil { 19148 c.header_ = make(http.Header) 19149 } 19150 return c.header_ 19151} 19152 19153func (c *ProjectsLocationsProductSetsProductsListCall) doRequest(alt string) (*http.Response, error) { 19154 reqHeaders := make(http.Header) 19155 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 19156 for k, v := range c.header_ { 19157 reqHeaders[k] = v 19158 } 19159 reqHeaders.Set("User-Agent", c.s.userAgent()) 19160 if c.ifNoneMatch_ != "" { 19161 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 19162 } 19163 var body io.Reader = nil 19164 c.urlParams_.Set("alt", alt) 19165 c.urlParams_.Set("prettyPrint", "false") 19166 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/products") 19167 urls += "?" + c.urlParams_.Encode() 19168 req, err := http.NewRequest("GET", urls, body) 19169 if err != nil { 19170 return nil, err 19171 } 19172 req.Header = reqHeaders 19173 googleapi.Expand(req.URL, map[string]string{ 19174 "name": c.name, 19175 }) 19176 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19177} 19178 19179// Do executes the "vision.projects.locations.productSets.products.list" call. 19180// Exactly one of *ListProductsInProductSetResponse or error will be 19181// non-nil. Any non-2xx status code is an error. Response headers are in 19182// either *ListProductsInProductSetResponse.ServerResponse.Header or (if 19183// a response was returned at all) in error.(*googleapi.Error).Header. 19184// Use googleapi.IsNotModified to check whether the returned error was 19185// because http.StatusNotModified was returned. 19186func (c *ProjectsLocationsProductSetsProductsListCall) Do(opts ...googleapi.CallOption) (*ListProductsInProductSetResponse, error) { 19187 gensupport.SetOptions(c.urlParams_, opts...) 19188 res, err := c.doRequest("json") 19189 if res != nil && res.StatusCode == http.StatusNotModified { 19190 if res.Body != nil { 19191 res.Body.Close() 19192 } 19193 return nil, &googleapi.Error{ 19194 Code: res.StatusCode, 19195 Header: res.Header, 19196 } 19197 } 19198 if err != nil { 19199 return nil, err 19200 } 19201 defer googleapi.CloseBody(res) 19202 if err := googleapi.CheckResponse(res); err != nil { 19203 return nil, err 19204 } 19205 ret := &ListProductsInProductSetResponse{ 19206 ServerResponse: googleapi.ServerResponse{ 19207 Header: res.Header, 19208 HTTPStatusCode: res.StatusCode, 19209 }, 19210 } 19211 target := &ret 19212 if err := gensupport.DecodeResponse(target, res); err != nil { 19213 return nil, err 19214 } 19215 return ret, nil 19216 // { 19217 // "description": "Lists the Products in a ProductSet, in an unspecified order. If the\nProductSet does not exist, the products field of the response will be\nempty.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", 19218 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}/products", 19219 // "httpMethod": "GET", 19220 // "id": "vision.projects.locations.productSets.products.list", 19221 // "parameterOrder": [ 19222 // "name" 19223 // ], 19224 // "parameters": { 19225 // "name": { 19226 // "description": "Required. The ProductSet resource for which to retrieve Products.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 19227 // "location": "path", 19228 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 19229 // "required": true, 19230 // "type": "string" 19231 // }, 19232 // "pageSize": { 19233 // "description": "The maximum number of items to return. Default 10, maximum 100.", 19234 // "format": "int32", 19235 // "location": "query", 19236 // "type": "integer" 19237 // }, 19238 // "pageToken": { 19239 // "description": "The next_page_token returned from a previous List request, if any.", 19240 // "location": "query", 19241 // "type": "string" 19242 // } 19243 // }, 19244 // "path": "v1/{+name}/products", 19245 // "response": { 19246 // "$ref": "ListProductsInProductSetResponse" 19247 // }, 19248 // "scopes": [ 19249 // "https://www.googleapis.com/auth/cloud-platform", 19250 // "https://www.googleapis.com/auth/cloud-vision" 19251 // ] 19252 // } 19253 19254} 19255 19256// Pages invokes f for each page of results. 19257// A non-nil error returned from f will halt the iteration. 19258// The provided context supersedes any context provided to the Context method. 19259func (c *ProjectsLocationsProductSetsProductsListCall) Pages(ctx context.Context, f func(*ListProductsInProductSetResponse) error) error { 19260 c.ctx_ = ctx 19261 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 19262 for { 19263 x, err := c.Do() 19264 if err != nil { 19265 return err 19266 } 19267 if err := f(x); err != nil { 19268 return err 19269 } 19270 if x.NextPageToken == "" { 19271 return nil 19272 } 19273 c.PageToken(x.NextPageToken) 19274 } 19275} 19276 19277// method id "vision.projects.locations.products.create": 19278 19279type ProjectsLocationsProductsCreateCall struct { 19280 s *Service 19281 parent string 19282 product *Product 19283 urlParams_ gensupport.URLParams 19284 ctx_ context.Context 19285 header_ http.Header 19286} 19287 19288// Create: Creates and returns a new product resource. 19289// 19290// Possible errors: 19291// 19292// * Returns INVALID_ARGUMENT if display_name is missing or longer than 19293// 4096 19294// characters. 19295// * Returns INVALID_ARGUMENT if description is longer than 4096 19296// characters. 19297// * Returns INVALID_ARGUMENT if product_category is missing or invalid. 19298func (r *ProjectsLocationsProductsService) Create(parent string, product *Product) *ProjectsLocationsProductsCreateCall { 19299 c := &ProjectsLocationsProductsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19300 c.parent = parent 19301 c.product = product 19302 return c 19303} 19304 19305// ProductId sets the optional parameter "productId": A user-supplied 19306// resource id for this Product. If set, the server will 19307// attempt to use this value as the resource id. If it is already in 19308// use, an 19309// error is returned with code ALREADY_EXISTS. Must be at most 128 19310// characters 19311// long. It cannot contain the character `/`. 19312func (c *ProjectsLocationsProductsCreateCall) ProductId(productId string) *ProjectsLocationsProductsCreateCall { 19313 c.urlParams_.Set("productId", productId) 19314 return c 19315} 19316 19317// Fields allows partial responses to be retrieved. See 19318// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19319// for more information. 19320func (c *ProjectsLocationsProductsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsCreateCall { 19321 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19322 return c 19323} 19324 19325// Context sets the context to be used in this call's Do method. Any 19326// pending HTTP request will be aborted if the provided context is 19327// canceled. 19328func (c *ProjectsLocationsProductsCreateCall) Context(ctx context.Context) *ProjectsLocationsProductsCreateCall { 19329 c.ctx_ = ctx 19330 return c 19331} 19332 19333// Header returns an http.Header that can be modified by the caller to 19334// add HTTP headers to the request. 19335func (c *ProjectsLocationsProductsCreateCall) Header() http.Header { 19336 if c.header_ == nil { 19337 c.header_ = make(http.Header) 19338 } 19339 return c.header_ 19340} 19341 19342func (c *ProjectsLocationsProductsCreateCall) doRequest(alt string) (*http.Response, error) { 19343 reqHeaders := make(http.Header) 19344 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 19345 for k, v := range c.header_ { 19346 reqHeaders[k] = v 19347 } 19348 reqHeaders.Set("User-Agent", c.s.userAgent()) 19349 var body io.Reader = nil 19350 body, err := googleapi.WithoutDataWrapper.JSONReader(c.product) 19351 if err != nil { 19352 return nil, err 19353 } 19354 reqHeaders.Set("Content-Type", "application/json") 19355 c.urlParams_.Set("alt", alt) 19356 c.urlParams_.Set("prettyPrint", "false") 19357 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products") 19358 urls += "?" + c.urlParams_.Encode() 19359 req, err := http.NewRequest("POST", urls, body) 19360 if err != nil { 19361 return nil, err 19362 } 19363 req.Header = reqHeaders 19364 googleapi.Expand(req.URL, map[string]string{ 19365 "parent": c.parent, 19366 }) 19367 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19368} 19369 19370// Do executes the "vision.projects.locations.products.create" call. 19371// Exactly one of *Product or error will be non-nil. Any non-2xx status 19372// code is an error. Response headers are in either 19373// *Product.ServerResponse.Header or (if a response was returned at all) 19374// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 19375// check whether the returned error was because http.StatusNotModified 19376// was returned. 19377func (c *ProjectsLocationsProductsCreateCall) Do(opts ...googleapi.CallOption) (*Product, error) { 19378 gensupport.SetOptions(c.urlParams_, opts...) 19379 res, err := c.doRequest("json") 19380 if res != nil && res.StatusCode == http.StatusNotModified { 19381 if res.Body != nil { 19382 res.Body.Close() 19383 } 19384 return nil, &googleapi.Error{ 19385 Code: res.StatusCode, 19386 Header: res.Header, 19387 } 19388 } 19389 if err != nil { 19390 return nil, err 19391 } 19392 defer googleapi.CloseBody(res) 19393 if err := googleapi.CheckResponse(res); err != nil { 19394 return nil, err 19395 } 19396 ret := &Product{ 19397 ServerResponse: googleapi.ServerResponse{ 19398 Header: res.Header, 19399 HTTPStatusCode: res.StatusCode, 19400 }, 19401 } 19402 target := &ret 19403 if err := gensupport.DecodeResponse(target, res); err != nil { 19404 return nil, err 19405 } 19406 return ret, nil 19407 // { 19408 // "description": "Creates and returns a new product resource.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if display_name is missing or longer than 4096\n characters.\n* Returns INVALID_ARGUMENT if description is longer than 4096 characters.\n* Returns INVALID_ARGUMENT if product_category is missing or invalid.", 19409 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products", 19410 // "httpMethod": "POST", 19411 // "id": "vision.projects.locations.products.create", 19412 // "parameterOrder": [ 19413 // "parent" 19414 // ], 19415 // "parameters": { 19416 // "parent": { 19417 // "description": "Required. The project in which the Product should be created.\n\nFormat is\n`projects/PROJECT_ID/locations/LOC_ID`.", 19418 // "location": "path", 19419 // "pattern": "^projects/[^/]+/locations/[^/]+$", 19420 // "required": true, 19421 // "type": "string" 19422 // }, 19423 // "productId": { 19424 // "description": "A user-supplied resource id for this Product. If set, the server will\nattempt to use this value as the resource id. If it is already in use, an\nerror is returned with code ALREADY_EXISTS. Must be at most 128 characters\nlong. It cannot contain the character `/`.", 19425 // "location": "query", 19426 // "type": "string" 19427 // } 19428 // }, 19429 // "path": "v1/{+parent}/products", 19430 // "request": { 19431 // "$ref": "Product" 19432 // }, 19433 // "response": { 19434 // "$ref": "Product" 19435 // }, 19436 // "scopes": [ 19437 // "https://www.googleapis.com/auth/cloud-platform", 19438 // "https://www.googleapis.com/auth/cloud-vision" 19439 // ] 19440 // } 19441 19442} 19443 19444// method id "vision.projects.locations.products.delete": 19445 19446type ProjectsLocationsProductsDeleteCall struct { 19447 s *Service 19448 name string 19449 urlParams_ gensupport.URLParams 19450 ctx_ context.Context 19451 header_ http.Header 19452} 19453 19454// Delete: Permanently deletes a product and its reference 19455// images. 19456// 19457// Metadata of the product and all its images will be deleted right 19458// away, but 19459// search queries against ProductSets containing the product may still 19460// work 19461// until all related caches are refreshed. 19462func (r *ProjectsLocationsProductsService) Delete(name string) *ProjectsLocationsProductsDeleteCall { 19463 c := &ProjectsLocationsProductsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19464 c.name = name 19465 return c 19466} 19467 19468// Fields allows partial responses to be retrieved. See 19469// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19470// for more information. 19471func (c *ProjectsLocationsProductsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsDeleteCall { 19472 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19473 return c 19474} 19475 19476// Context sets the context to be used in this call's Do method. Any 19477// pending HTTP request will be aborted if the provided context is 19478// canceled. 19479func (c *ProjectsLocationsProductsDeleteCall) Context(ctx context.Context) *ProjectsLocationsProductsDeleteCall { 19480 c.ctx_ = ctx 19481 return c 19482} 19483 19484// Header returns an http.Header that can be modified by the caller to 19485// add HTTP headers to the request. 19486func (c *ProjectsLocationsProductsDeleteCall) Header() http.Header { 19487 if c.header_ == nil { 19488 c.header_ = make(http.Header) 19489 } 19490 return c.header_ 19491} 19492 19493func (c *ProjectsLocationsProductsDeleteCall) doRequest(alt string) (*http.Response, error) { 19494 reqHeaders := make(http.Header) 19495 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 19496 for k, v := range c.header_ { 19497 reqHeaders[k] = v 19498 } 19499 reqHeaders.Set("User-Agent", c.s.userAgent()) 19500 var body io.Reader = nil 19501 c.urlParams_.Set("alt", alt) 19502 c.urlParams_.Set("prettyPrint", "false") 19503 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 19504 urls += "?" + c.urlParams_.Encode() 19505 req, err := http.NewRequest("DELETE", urls, body) 19506 if err != nil { 19507 return nil, err 19508 } 19509 req.Header = reqHeaders 19510 googleapi.Expand(req.URL, map[string]string{ 19511 "name": c.name, 19512 }) 19513 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19514} 19515 19516// Do executes the "vision.projects.locations.products.delete" call. 19517// Exactly one of *Empty or error will be non-nil. Any non-2xx status 19518// code is an error. Response headers are in either 19519// *Empty.ServerResponse.Header or (if a response was returned at all) 19520// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 19521// check whether the returned error was because http.StatusNotModified 19522// was returned. 19523func (c *ProjectsLocationsProductsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 19524 gensupport.SetOptions(c.urlParams_, opts...) 19525 res, err := c.doRequest("json") 19526 if res != nil && res.StatusCode == http.StatusNotModified { 19527 if res.Body != nil { 19528 res.Body.Close() 19529 } 19530 return nil, &googleapi.Error{ 19531 Code: res.StatusCode, 19532 Header: res.Header, 19533 } 19534 } 19535 if err != nil { 19536 return nil, err 19537 } 19538 defer googleapi.CloseBody(res) 19539 if err := googleapi.CheckResponse(res); err != nil { 19540 return nil, err 19541 } 19542 ret := &Empty{ 19543 ServerResponse: googleapi.ServerResponse{ 19544 Header: res.Header, 19545 HTTPStatusCode: res.StatusCode, 19546 }, 19547 } 19548 target := &ret 19549 if err := gensupport.DecodeResponse(target, res); err != nil { 19550 return nil, err 19551 } 19552 return ret, nil 19553 // { 19554 // "description": "Permanently deletes a product and its reference images.\n\nMetadata of the product and all its images will be deleted right away, but\nsearch queries against ProductSets containing the product may still work\nuntil all related caches are refreshed.", 19555 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}", 19556 // "httpMethod": "DELETE", 19557 // "id": "vision.projects.locations.products.delete", 19558 // "parameterOrder": [ 19559 // "name" 19560 // ], 19561 // "parameters": { 19562 // "name": { 19563 // "description": "Required. Resource name of product to delete.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`", 19564 // "location": "path", 19565 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 19566 // "required": true, 19567 // "type": "string" 19568 // } 19569 // }, 19570 // "path": "v1/{+name}", 19571 // "response": { 19572 // "$ref": "Empty" 19573 // }, 19574 // "scopes": [ 19575 // "https://www.googleapis.com/auth/cloud-platform", 19576 // "https://www.googleapis.com/auth/cloud-vision" 19577 // ] 19578 // } 19579 19580} 19581 19582// method id "vision.projects.locations.products.get": 19583 19584type ProjectsLocationsProductsGetCall struct { 19585 s *Service 19586 name string 19587 urlParams_ gensupport.URLParams 19588 ifNoneMatch_ string 19589 ctx_ context.Context 19590 header_ http.Header 19591} 19592 19593// Get: Gets information associated with a Product. 19594// 19595// Possible errors: 19596// 19597// * Returns NOT_FOUND if the Product does not exist. 19598func (r *ProjectsLocationsProductsService) Get(name string) *ProjectsLocationsProductsGetCall { 19599 c := &ProjectsLocationsProductsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19600 c.name = name 19601 return c 19602} 19603 19604// Fields allows partial responses to be retrieved. See 19605// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19606// for more information. 19607func (c *ProjectsLocationsProductsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsGetCall { 19608 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19609 return c 19610} 19611 19612// IfNoneMatch sets the optional parameter which makes the operation 19613// fail if the object's ETag matches the given value. This is useful for 19614// getting updates only after the object has changed since the last 19615// request. Use googleapi.IsNotModified to check whether the response 19616// error from Do is the result of In-None-Match. 19617func (c *ProjectsLocationsProductsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsGetCall { 19618 c.ifNoneMatch_ = entityTag 19619 return c 19620} 19621 19622// Context sets the context to be used in this call's Do method. Any 19623// pending HTTP request will be aborted if the provided context is 19624// canceled. 19625func (c *ProjectsLocationsProductsGetCall) Context(ctx context.Context) *ProjectsLocationsProductsGetCall { 19626 c.ctx_ = ctx 19627 return c 19628} 19629 19630// Header returns an http.Header that can be modified by the caller to 19631// add HTTP headers to the request. 19632func (c *ProjectsLocationsProductsGetCall) Header() http.Header { 19633 if c.header_ == nil { 19634 c.header_ = make(http.Header) 19635 } 19636 return c.header_ 19637} 19638 19639func (c *ProjectsLocationsProductsGetCall) doRequest(alt string) (*http.Response, error) { 19640 reqHeaders := make(http.Header) 19641 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 19642 for k, v := range c.header_ { 19643 reqHeaders[k] = v 19644 } 19645 reqHeaders.Set("User-Agent", c.s.userAgent()) 19646 if c.ifNoneMatch_ != "" { 19647 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 19648 } 19649 var body io.Reader = nil 19650 c.urlParams_.Set("alt", alt) 19651 c.urlParams_.Set("prettyPrint", "false") 19652 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 19653 urls += "?" + c.urlParams_.Encode() 19654 req, err := http.NewRequest("GET", urls, body) 19655 if err != nil { 19656 return nil, err 19657 } 19658 req.Header = reqHeaders 19659 googleapi.Expand(req.URL, map[string]string{ 19660 "name": c.name, 19661 }) 19662 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19663} 19664 19665// Do executes the "vision.projects.locations.products.get" call. 19666// Exactly one of *Product or error will be non-nil. Any non-2xx status 19667// code is an error. Response headers are in either 19668// *Product.ServerResponse.Header or (if a response was returned at all) 19669// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 19670// check whether the returned error was because http.StatusNotModified 19671// was returned. 19672func (c *ProjectsLocationsProductsGetCall) Do(opts ...googleapi.CallOption) (*Product, error) { 19673 gensupport.SetOptions(c.urlParams_, opts...) 19674 res, err := c.doRequest("json") 19675 if res != nil && res.StatusCode == http.StatusNotModified { 19676 if res.Body != nil { 19677 res.Body.Close() 19678 } 19679 return nil, &googleapi.Error{ 19680 Code: res.StatusCode, 19681 Header: res.Header, 19682 } 19683 } 19684 if err != nil { 19685 return nil, err 19686 } 19687 defer googleapi.CloseBody(res) 19688 if err := googleapi.CheckResponse(res); err != nil { 19689 return nil, err 19690 } 19691 ret := &Product{ 19692 ServerResponse: googleapi.ServerResponse{ 19693 Header: res.Header, 19694 HTTPStatusCode: res.StatusCode, 19695 }, 19696 } 19697 target := &ret 19698 if err := gensupport.DecodeResponse(target, res); err != nil { 19699 return nil, err 19700 } 19701 return ret, nil 19702 // { 19703 // "description": "Gets information associated with a Product.\n\nPossible errors:\n\n* Returns NOT_FOUND if the Product does not exist.", 19704 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}", 19705 // "httpMethod": "GET", 19706 // "id": "vision.projects.locations.products.get", 19707 // "parameterOrder": [ 19708 // "name" 19709 // ], 19710 // "parameters": { 19711 // "name": { 19712 // "description": "Required. Resource name of the Product to get.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`", 19713 // "location": "path", 19714 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 19715 // "required": true, 19716 // "type": "string" 19717 // } 19718 // }, 19719 // "path": "v1/{+name}", 19720 // "response": { 19721 // "$ref": "Product" 19722 // }, 19723 // "scopes": [ 19724 // "https://www.googleapis.com/auth/cloud-platform", 19725 // "https://www.googleapis.com/auth/cloud-vision" 19726 // ] 19727 // } 19728 19729} 19730 19731// method id "vision.projects.locations.products.list": 19732 19733type ProjectsLocationsProductsListCall struct { 19734 s *Service 19735 parent string 19736 urlParams_ gensupport.URLParams 19737 ifNoneMatch_ string 19738 ctx_ context.Context 19739 header_ http.Header 19740} 19741 19742// List: Lists products in an unspecified order. 19743// 19744// Possible errors: 19745// 19746// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less 19747// than 1. 19748func (r *ProjectsLocationsProductsService) List(parent string) *ProjectsLocationsProductsListCall { 19749 c := &ProjectsLocationsProductsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19750 c.parent = parent 19751 return c 19752} 19753 19754// PageSize sets the optional parameter "pageSize": The maximum number 19755// of items to return. Default 10, maximum 100. 19756func (c *ProjectsLocationsProductsListCall) PageSize(pageSize int64) *ProjectsLocationsProductsListCall { 19757 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 19758 return c 19759} 19760 19761// PageToken sets the optional parameter "pageToken": The 19762// next_page_token returned from a previous List request, if any. 19763func (c *ProjectsLocationsProductsListCall) PageToken(pageToken string) *ProjectsLocationsProductsListCall { 19764 c.urlParams_.Set("pageToken", pageToken) 19765 return c 19766} 19767 19768// Fields allows partial responses to be retrieved. See 19769// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19770// for more information. 19771func (c *ProjectsLocationsProductsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsListCall { 19772 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19773 return c 19774} 19775 19776// IfNoneMatch sets the optional parameter which makes the operation 19777// fail if the object's ETag matches the given value. This is useful for 19778// getting updates only after the object has changed since the last 19779// request. Use googleapi.IsNotModified to check whether the response 19780// error from Do is the result of In-None-Match. 19781func (c *ProjectsLocationsProductsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsListCall { 19782 c.ifNoneMatch_ = entityTag 19783 return c 19784} 19785 19786// Context sets the context to be used in this call's Do method. Any 19787// pending HTTP request will be aborted if the provided context is 19788// canceled. 19789func (c *ProjectsLocationsProductsListCall) Context(ctx context.Context) *ProjectsLocationsProductsListCall { 19790 c.ctx_ = ctx 19791 return c 19792} 19793 19794// Header returns an http.Header that can be modified by the caller to 19795// add HTTP headers to the request. 19796func (c *ProjectsLocationsProductsListCall) Header() http.Header { 19797 if c.header_ == nil { 19798 c.header_ = make(http.Header) 19799 } 19800 return c.header_ 19801} 19802 19803func (c *ProjectsLocationsProductsListCall) doRequest(alt string) (*http.Response, error) { 19804 reqHeaders := make(http.Header) 19805 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 19806 for k, v := range c.header_ { 19807 reqHeaders[k] = v 19808 } 19809 reqHeaders.Set("User-Agent", c.s.userAgent()) 19810 if c.ifNoneMatch_ != "" { 19811 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 19812 } 19813 var body io.Reader = nil 19814 c.urlParams_.Set("alt", alt) 19815 c.urlParams_.Set("prettyPrint", "false") 19816 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products") 19817 urls += "?" + c.urlParams_.Encode() 19818 req, err := http.NewRequest("GET", urls, body) 19819 if err != nil { 19820 return nil, err 19821 } 19822 req.Header = reqHeaders 19823 googleapi.Expand(req.URL, map[string]string{ 19824 "parent": c.parent, 19825 }) 19826 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19827} 19828 19829// Do executes the "vision.projects.locations.products.list" call. 19830// Exactly one of *ListProductsResponse or error will be non-nil. Any 19831// non-2xx status code is an error. Response headers are in either 19832// *ListProductsResponse.ServerResponse.Header or (if a response was 19833// returned at all) in error.(*googleapi.Error).Header. Use 19834// googleapi.IsNotModified to check whether the returned error was 19835// because http.StatusNotModified was returned. 19836func (c *ProjectsLocationsProductsListCall) Do(opts ...googleapi.CallOption) (*ListProductsResponse, error) { 19837 gensupport.SetOptions(c.urlParams_, opts...) 19838 res, err := c.doRequest("json") 19839 if res != nil && res.StatusCode == http.StatusNotModified { 19840 if res.Body != nil { 19841 res.Body.Close() 19842 } 19843 return nil, &googleapi.Error{ 19844 Code: res.StatusCode, 19845 Header: res.Header, 19846 } 19847 } 19848 if err != nil { 19849 return nil, err 19850 } 19851 defer googleapi.CloseBody(res) 19852 if err := googleapi.CheckResponse(res); err != nil { 19853 return nil, err 19854 } 19855 ret := &ListProductsResponse{ 19856 ServerResponse: googleapi.ServerResponse{ 19857 Header: res.Header, 19858 HTTPStatusCode: res.StatusCode, 19859 }, 19860 } 19861 target := &ret 19862 if err := gensupport.DecodeResponse(target, res); err != nil { 19863 return nil, err 19864 } 19865 return ret, nil 19866 // { 19867 // "description": "Lists products in an unspecified order.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", 19868 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products", 19869 // "httpMethod": "GET", 19870 // "id": "vision.projects.locations.products.list", 19871 // "parameterOrder": [ 19872 // "parent" 19873 // ], 19874 // "parameters": { 19875 // "pageSize": { 19876 // "description": "The maximum number of items to return. Default 10, maximum 100.", 19877 // "format": "int32", 19878 // "location": "query", 19879 // "type": "integer" 19880 // }, 19881 // "pageToken": { 19882 // "description": "The next_page_token returned from a previous List request, if any.", 19883 // "location": "query", 19884 // "type": "string" 19885 // }, 19886 // "parent": { 19887 // "description": "Required. The project OR ProductSet from which Products should be listed.\n\nFormat:\n`projects/PROJECT_ID/locations/LOC_ID`", 19888 // "location": "path", 19889 // "pattern": "^projects/[^/]+/locations/[^/]+$", 19890 // "required": true, 19891 // "type": "string" 19892 // } 19893 // }, 19894 // "path": "v1/{+parent}/products", 19895 // "response": { 19896 // "$ref": "ListProductsResponse" 19897 // }, 19898 // "scopes": [ 19899 // "https://www.googleapis.com/auth/cloud-platform", 19900 // "https://www.googleapis.com/auth/cloud-vision" 19901 // ] 19902 // } 19903 19904} 19905 19906// Pages invokes f for each page of results. 19907// A non-nil error returned from f will halt the iteration. 19908// The provided context supersedes any context provided to the Context method. 19909func (c *ProjectsLocationsProductsListCall) Pages(ctx context.Context, f func(*ListProductsResponse) error) error { 19910 c.ctx_ = ctx 19911 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 19912 for { 19913 x, err := c.Do() 19914 if err != nil { 19915 return err 19916 } 19917 if err := f(x); err != nil { 19918 return err 19919 } 19920 if x.NextPageToken == "" { 19921 return nil 19922 } 19923 c.PageToken(x.NextPageToken) 19924 } 19925} 19926 19927// method id "vision.projects.locations.products.patch": 19928 19929type ProjectsLocationsProductsPatchCall struct { 19930 s *Service 19931 name string 19932 product *Product 19933 urlParams_ gensupport.URLParams 19934 ctx_ context.Context 19935 header_ http.Header 19936} 19937 19938// Patch: Makes changes to a Product resource. 19939// Only the `display_name`, `description`, and `labels` fields can be 19940// updated 19941// right now. 19942// 19943// If labels are updated, the change will not be reflected in queries 19944// until 19945// the next index time. 19946// 19947// Possible errors: 19948// 19949// * Returns NOT_FOUND if the Product does not exist. 19950// * Returns INVALID_ARGUMENT if display_name is present in update_mask 19951// but is 19952// missing from the request or longer than 4096 characters. 19953// * Returns INVALID_ARGUMENT if description is present in update_mask 19954// but is 19955// longer than 4096 characters. 19956// * Returns INVALID_ARGUMENT if product_category is present in 19957// update_mask. 19958func (r *ProjectsLocationsProductsService) Patch(name string, product *Product) *ProjectsLocationsProductsPatchCall { 19959 c := &ProjectsLocationsProductsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19960 c.name = name 19961 c.product = product 19962 return c 19963} 19964 19965// UpdateMask sets the optional parameter "updateMask": The FieldMask 19966// that specifies which fields 19967// to update. 19968// If update_mask isn't specified, all mutable fields are to be 19969// updated. 19970// Valid mask paths include `product_labels`, `display_name`, 19971// and 19972// `description`. 19973func (c *ProjectsLocationsProductsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsProductsPatchCall { 19974 c.urlParams_.Set("updateMask", updateMask) 19975 return c 19976} 19977 19978// Fields allows partial responses to be retrieved. See 19979// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19980// for more information. 19981func (c *ProjectsLocationsProductsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsPatchCall { 19982 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19983 return c 19984} 19985 19986// Context sets the context to be used in this call's Do method. Any 19987// pending HTTP request will be aborted if the provided context is 19988// canceled. 19989func (c *ProjectsLocationsProductsPatchCall) Context(ctx context.Context) *ProjectsLocationsProductsPatchCall { 19990 c.ctx_ = ctx 19991 return c 19992} 19993 19994// Header returns an http.Header that can be modified by the caller to 19995// add HTTP headers to the request. 19996func (c *ProjectsLocationsProductsPatchCall) Header() http.Header { 19997 if c.header_ == nil { 19998 c.header_ = make(http.Header) 19999 } 20000 return c.header_ 20001} 20002 20003func (c *ProjectsLocationsProductsPatchCall) doRequest(alt string) (*http.Response, error) { 20004 reqHeaders := make(http.Header) 20005 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 20006 for k, v := range c.header_ { 20007 reqHeaders[k] = v 20008 } 20009 reqHeaders.Set("User-Agent", c.s.userAgent()) 20010 var body io.Reader = nil 20011 body, err := googleapi.WithoutDataWrapper.JSONReader(c.product) 20012 if err != nil { 20013 return nil, err 20014 } 20015 reqHeaders.Set("Content-Type", "application/json") 20016 c.urlParams_.Set("alt", alt) 20017 c.urlParams_.Set("prettyPrint", "false") 20018 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 20019 urls += "?" + c.urlParams_.Encode() 20020 req, err := http.NewRequest("PATCH", urls, body) 20021 if err != nil { 20022 return nil, err 20023 } 20024 req.Header = reqHeaders 20025 googleapi.Expand(req.URL, map[string]string{ 20026 "name": c.name, 20027 }) 20028 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20029} 20030 20031// Do executes the "vision.projects.locations.products.patch" call. 20032// Exactly one of *Product or error will be non-nil. Any non-2xx status 20033// code is an error. Response headers are in either 20034// *Product.ServerResponse.Header or (if a response was returned at all) 20035// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 20036// check whether the returned error was because http.StatusNotModified 20037// was returned. 20038func (c *ProjectsLocationsProductsPatchCall) Do(opts ...googleapi.CallOption) (*Product, error) { 20039 gensupport.SetOptions(c.urlParams_, opts...) 20040 res, err := c.doRequest("json") 20041 if res != nil && res.StatusCode == http.StatusNotModified { 20042 if res.Body != nil { 20043 res.Body.Close() 20044 } 20045 return nil, &googleapi.Error{ 20046 Code: res.StatusCode, 20047 Header: res.Header, 20048 } 20049 } 20050 if err != nil { 20051 return nil, err 20052 } 20053 defer googleapi.CloseBody(res) 20054 if err := googleapi.CheckResponse(res); err != nil { 20055 return nil, err 20056 } 20057 ret := &Product{ 20058 ServerResponse: googleapi.ServerResponse{ 20059 Header: res.Header, 20060 HTTPStatusCode: res.StatusCode, 20061 }, 20062 } 20063 target := &ret 20064 if err := gensupport.DecodeResponse(target, res); err != nil { 20065 return nil, err 20066 } 20067 return ret, nil 20068 // { 20069 // "description": "Makes changes to a Product resource.\nOnly the `display_name`, `description`, and `labels` fields can be updated\nright now.\n\nIf labels are updated, the change will not be reflected in queries until\nthe next index time.\n\nPossible errors:\n\n* Returns NOT_FOUND if the Product does not exist.\n* Returns INVALID_ARGUMENT if display_name is present in update_mask but is\n missing from the request or longer than 4096 characters.\n* Returns INVALID_ARGUMENT if description is present in update_mask but is\n longer than 4096 characters.\n* Returns INVALID_ARGUMENT if product_category is present in update_mask.", 20070 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}", 20071 // "httpMethod": "PATCH", 20072 // "id": "vision.projects.locations.products.patch", 20073 // "parameterOrder": [ 20074 // "name" 20075 // ], 20076 // "parameters": { 20077 // "name": { 20078 // "description": "The resource name of the product.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.\n\nThis field is ignored when creating a product.", 20079 // "location": "path", 20080 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 20081 // "required": true, 20082 // "type": "string" 20083 // }, 20084 // "updateMask": { 20085 // "description": "The FieldMask that specifies which fields\nto update.\nIf update_mask isn't specified, all mutable fields are to be updated.\nValid mask paths include `product_labels`, `display_name`, and\n`description`.", 20086 // "format": "google-fieldmask", 20087 // "location": "query", 20088 // "type": "string" 20089 // } 20090 // }, 20091 // "path": "v1/{+name}", 20092 // "request": { 20093 // "$ref": "Product" 20094 // }, 20095 // "response": { 20096 // "$ref": "Product" 20097 // }, 20098 // "scopes": [ 20099 // "https://www.googleapis.com/auth/cloud-platform", 20100 // "https://www.googleapis.com/auth/cloud-vision" 20101 // ] 20102 // } 20103 20104} 20105 20106// method id "vision.projects.locations.products.purge": 20107 20108type ProjectsLocationsProductsPurgeCall struct { 20109 s *Service 20110 parent string 20111 purgeproductsrequest *PurgeProductsRequest 20112 urlParams_ gensupport.URLParams 20113 ctx_ context.Context 20114 header_ http.Header 20115} 20116 20117// Purge: Asynchronous API to delete all Products in a ProductSet or all 20118// Products 20119// that are in no ProductSet. 20120// 20121// If a Product is a member of the specified ProductSet in addition to 20122// other 20123// ProductSets, the Product will still be deleted. 20124// 20125// It is recommended to not delete the specified ProductSet until after 20126// this 20127// operation has completed. It is also recommended to not add any of 20128// the 20129// Products involved in the batch delete to a new ProductSet while 20130// this 20131// operation is running because those Products may still end up 20132// deleted. 20133// 20134// It's not possible to undo the PurgeProducts operation. Therefore, it 20135// is 20136// recommended to keep the csv files used in ImportProductSets (if that 20137// was 20138// how you originally built the Product Set) before starting 20139// PurgeProducts, in 20140// case you need to re-import the data after deletion. 20141// 20142// If the plan is to purge all of the Products from a ProductSet and 20143// then 20144// re-use the empty ProductSet to re-import new Products into the 20145// empty 20146// ProductSet, you must wait until the PurgeProducts operation has 20147// finished 20148// for that ProductSet. 20149// 20150// The google.longrunning.Operation API can be used to keep track of 20151// the 20152// progress and results of the request. 20153// `Operation.metadata` contains `BatchOperationMetadata`. (progress) 20154func (r *ProjectsLocationsProductsService) Purge(parent string, purgeproductsrequest *PurgeProductsRequest) *ProjectsLocationsProductsPurgeCall { 20155 c := &ProjectsLocationsProductsPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20156 c.parent = parent 20157 c.purgeproductsrequest = purgeproductsrequest 20158 return c 20159} 20160 20161// Fields allows partial responses to be retrieved. See 20162// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20163// for more information. 20164func (c *ProjectsLocationsProductsPurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsPurgeCall { 20165 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20166 return c 20167} 20168 20169// Context sets the context to be used in this call's Do method. Any 20170// pending HTTP request will be aborted if the provided context is 20171// canceled. 20172func (c *ProjectsLocationsProductsPurgeCall) Context(ctx context.Context) *ProjectsLocationsProductsPurgeCall { 20173 c.ctx_ = ctx 20174 return c 20175} 20176 20177// Header returns an http.Header that can be modified by the caller to 20178// add HTTP headers to the request. 20179func (c *ProjectsLocationsProductsPurgeCall) Header() http.Header { 20180 if c.header_ == nil { 20181 c.header_ = make(http.Header) 20182 } 20183 return c.header_ 20184} 20185 20186func (c *ProjectsLocationsProductsPurgeCall) doRequest(alt string) (*http.Response, error) { 20187 reqHeaders := make(http.Header) 20188 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 20189 for k, v := range c.header_ { 20190 reqHeaders[k] = v 20191 } 20192 reqHeaders.Set("User-Agent", c.s.userAgent()) 20193 var body io.Reader = nil 20194 body, err := googleapi.WithoutDataWrapper.JSONReader(c.purgeproductsrequest) 20195 if err != nil { 20196 return nil, err 20197 } 20198 reqHeaders.Set("Content-Type", "application/json") 20199 c.urlParams_.Set("alt", alt) 20200 c.urlParams_.Set("prettyPrint", "false") 20201 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products:purge") 20202 urls += "?" + c.urlParams_.Encode() 20203 req, err := http.NewRequest("POST", urls, body) 20204 if err != nil { 20205 return nil, err 20206 } 20207 req.Header = reqHeaders 20208 googleapi.Expand(req.URL, map[string]string{ 20209 "parent": c.parent, 20210 }) 20211 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20212} 20213 20214// Do executes the "vision.projects.locations.products.purge" call. 20215// Exactly one of *Operation or error will be non-nil. Any non-2xx 20216// status code is an error. Response headers are in either 20217// *Operation.ServerResponse.Header or (if a response was returned at 20218// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 20219// to check whether the returned error was because 20220// http.StatusNotModified was returned. 20221func (c *ProjectsLocationsProductsPurgeCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 20222 gensupport.SetOptions(c.urlParams_, opts...) 20223 res, err := c.doRequest("json") 20224 if res != nil && res.StatusCode == http.StatusNotModified { 20225 if res.Body != nil { 20226 res.Body.Close() 20227 } 20228 return nil, &googleapi.Error{ 20229 Code: res.StatusCode, 20230 Header: res.Header, 20231 } 20232 } 20233 if err != nil { 20234 return nil, err 20235 } 20236 defer googleapi.CloseBody(res) 20237 if err := googleapi.CheckResponse(res); err != nil { 20238 return nil, err 20239 } 20240 ret := &Operation{ 20241 ServerResponse: googleapi.ServerResponse{ 20242 Header: res.Header, 20243 HTTPStatusCode: res.StatusCode, 20244 }, 20245 } 20246 target := &ret 20247 if err := gensupport.DecodeResponse(target, res); err != nil { 20248 return nil, err 20249 } 20250 return ret, nil 20251 // { 20252 // "description": "Asynchronous API to delete all Products in a ProductSet or all Products\nthat are in no ProductSet.\n\nIf a Product is a member of the specified ProductSet in addition to other\nProductSets, the Product will still be deleted.\n\nIt is recommended to not delete the specified ProductSet until after this\noperation has completed. It is also recommended to not add any of the\nProducts involved in the batch delete to a new ProductSet while this\noperation is running because those Products may still end up deleted.\n\nIt's not possible to undo the PurgeProducts operation. Therefore, it is\nrecommended to keep the csv files used in ImportProductSets (if that was\nhow you originally built the Product Set) before starting PurgeProducts, in\ncase you need to re-import the data after deletion.\n\nIf the plan is to purge all of the Products from a ProductSet and then\nre-use the empty ProductSet to re-import new Products into the empty\nProductSet, you must wait until the PurgeProducts operation has finished\nfor that ProductSet.\n\nThe google.longrunning.Operation API can be used to keep track of the\nprogress and results of the request.\n`Operation.metadata` contains `BatchOperationMetadata`. (progress)", 20253 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products:purge", 20254 // "httpMethod": "POST", 20255 // "id": "vision.projects.locations.products.purge", 20256 // "parameterOrder": [ 20257 // "parent" 20258 // ], 20259 // "parameters": { 20260 // "parent": { 20261 // "description": "Required. The project and location in which the Products should be deleted.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.", 20262 // "location": "path", 20263 // "pattern": "^projects/[^/]+/locations/[^/]+$", 20264 // "required": true, 20265 // "type": "string" 20266 // } 20267 // }, 20268 // "path": "v1/{+parent}/products:purge", 20269 // "request": { 20270 // "$ref": "PurgeProductsRequest" 20271 // }, 20272 // "response": { 20273 // "$ref": "Operation" 20274 // }, 20275 // "scopes": [ 20276 // "https://www.googleapis.com/auth/cloud-platform", 20277 // "https://www.googleapis.com/auth/cloud-vision" 20278 // ] 20279 // } 20280 20281} 20282 20283// method id "vision.projects.locations.products.referenceImages.create": 20284 20285type ProjectsLocationsProductsReferenceImagesCreateCall struct { 20286 s *Service 20287 parent string 20288 referenceimage *ReferenceImage 20289 urlParams_ gensupport.URLParams 20290 ctx_ context.Context 20291 header_ http.Header 20292} 20293 20294// Create: Creates and returns a new ReferenceImage resource. 20295// 20296// The `bounding_poly` field is optional. If `bounding_poly` is not 20297// specified, 20298// the system will try to detect regions of interest in the image that 20299// are 20300// compatible with the product_category on the parent product. If it 20301// is 20302// specified, detection is ALWAYS skipped. The system converts polygons 20303// into 20304// non-rotated rectangles. 20305// 20306// Note that the pipeline will resize the image if the image resolution 20307// is too 20308// large to process (above 50MP). 20309// 20310// Possible errors: 20311// 20312// * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 20313// 4096 20314// characters. 20315// * Returns INVALID_ARGUMENT if the product does not exist. 20316// * Returns INVALID_ARGUMENT if bounding_poly is not provided, and 20317// nothing 20318// compatible with the parent product's product_category is 20319// detected. 20320// * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 20321// polygons. 20322func (r *ProjectsLocationsProductsReferenceImagesService) Create(parent string, referenceimage *ReferenceImage) *ProjectsLocationsProductsReferenceImagesCreateCall { 20323 c := &ProjectsLocationsProductsReferenceImagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20324 c.parent = parent 20325 c.referenceimage = referenceimage 20326 return c 20327} 20328 20329// ReferenceImageId sets the optional parameter "referenceImageId": A 20330// user-supplied resource id for the ReferenceImage to be added. If 20331// set, 20332// the server will attempt to use this value as the resource id. If it 20333// is 20334// already in use, an error is returned with code ALREADY_EXISTS. Must 20335// be at 20336// most 128 characters long. It cannot contain the character `/`. 20337func (c *ProjectsLocationsProductsReferenceImagesCreateCall) ReferenceImageId(referenceImageId string) *ProjectsLocationsProductsReferenceImagesCreateCall { 20338 c.urlParams_.Set("referenceImageId", referenceImageId) 20339 return c 20340} 20341 20342// Fields allows partial responses to be retrieved. See 20343// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20344// for more information. 20345func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesCreateCall { 20346 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20347 return c 20348} 20349 20350// Context sets the context to be used in this call's Do method. Any 20351// pending HTTP request will be aborted if the provided context is 20352// canceled. 20353func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesCreateCall { 20354 c.ctx_ = ctx 20355 return c 20356} 20357 20358// Header returns an http.Header that can be modified by the caller to 20359// add HTTP headers to the request. 20360func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Header() http.Header { 20361 if c.header_ == nil { 20362 c.header_ = make(http.Header) 20363 } 20364 return c.header_ 20365} 20366 20367func (c *ProjectsLocationsProductsReferenceImagesCreateCall) doRequest(alt string) (*http.Response, error) { 20368 reqHeaders := make(http.Header) 20369 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 20370 for k, v := range c.header_ { 20371 reqHeaders[k] = v 20372 } 20373 reqHeaders.Set("User-Agent", c.s.userAgent()) 20374 var body io.Reader = nil 20375 body, err := googleapi.WithoutDataWrapper.JSONReader(c.referenceimage) 20376 if err != nil { 20377 return nil, err 20378 } 20379 reqHeaders.Set("Content-Type", "application/json") 20380 c.urlParams_.Set("alt", alt) 20381 c.urlParams_.Set("prettyPrint", "false") 20382 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/referenceImages") 20383 urls += "?" + c.urlParams_.Encode() 20384 req, err := http.NewRequest("POST", urls, body) 20385 if err != nil { 20386 return nil, err 20387 } 20388 req.Header = reqHeaders 20389 googleapi.Expand(req.URL, map[string]string{ 20390 "parent": c.parent, 20391 }) 20392 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20393} 20394 20395// Do executes the "vision.projects.locations.products.referenceImages.create" call. 20396// Exactly one of *ReferenceImage or error will be non-nil. Any non-2xx 20397// status code is an error. Response headers are in either 20398// *ReferenceImage.ServerResponse.Header or (if a response was returned 20399// at all) in error.(*googleapi.Error).Header. Use 20400// googleapi.IsNotModified to check whether the returned error was 20401// because http.StatusNotModified was returned. 20402func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Do(opts ...googleapi.CallOption) (*ReferenceImage, error) { 20403 gensupport.SetOptions(c.urlParams_, opts...) 20404 res, err := c.doRequest("json") 20405 if res != nil && res.StatusCode == http.StatusNotModified { 20406 if res.Body != nil { 20407 res.Body.Close() 20408 } 20409 return nil, &googleapi.Error{ 20410 Code: res.StatusCode, 20411 Header: res.Header, 20412 } 20413 } 20414 if err != nil { 20415 return nil, err 20416 } 20417 defer googleapi.CloseBody(res) 20418 if err := googleapi.CheckResponse(res); err != nil { 20419 return nil, err 20420 } 20421 ret := &ReferenceImage{ 20422 ServerResponse: googleapi.ServerResponse{ 20423 Header: res.Header, 20424 HTTPStatusCode: res.StatusCode, 20425 }, 20426 } 20427 target := &ret 20428 if err := gensupport.DecodeResponse(target, res); err != nil { 20429 return nil, err 20430 } 20431 return ret, nil 20432 // { 20433 // "description": "Creates and returns a new ReferenceImage resource.\n\nThe `bounding_poly` field is optional. If `bounding_poly` is not specified,\nthe system will try to detect regions of interest in the image that are\ncompatible with the product_category on the parent product. If it is\nspecified, detection is ALWAYS skipped. The system converts polygons into\nnon-rotated rectangles.\n\nNote that the pipeline will resize the image if the image resolution is too\nlarge to process (above 50MP).\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096\n characters.\n* Returns INVALID_ARGUMENT if the product does not exist.\n* Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing\n compatible with the parent product's product_category is detected.\n* Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", 20434 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages", 20435 // "httpMethod": "POST", 20436 // "id": "vision.projects.locations.products.referenceImages.create", 20437 // "parameterOrder": [ 20438 // "parent" 20439 // ], 20440 // "parameters": { 20441 // "parent": { 20442 // "description": "Required. Resource name of the product in which to create the reference image.\n\nFormat is\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.", 20443 // "location": "path", 20444 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 20445 // "required": true, 20446 // "type": "string" 20447 // }, 20448 // "referenceImageId": { 20449 // "description": "A user-supplied resource id for the ReferenceImage to be added. If set,\nthe server will attempt to use this value as the resource id. If it is\nalready in use, an error is returned with code ALREADY_EXISTS. Must be at\nmost 128 characters long. It cannot contain the character `/`.", 20450 // "location": "query", 20451 // "type": "string" 20452 // } 20453 // }, 20454 // "path": "v1/{+parent}/referenceImages", 20455 // "request": { 20456 // "$ref": "ReferenceImage" 20457 // }, 20458 // "response": { 20459 // "$ref": "ReferenceImage" 20460 // }, 20461 // "scopes": [ 20462 // "https://www.googleapis.com/auth/cloud-platform", 20463 // "https://www.googleapis.com/auth/cloud-vision" 20464 // ] 20465 // } 20466 20467} 20468 20469// method id "vision.projects.locations.products.referenceImages.delete": 20470 20471type ProjectsLocationsProductsReferenceImagesDeleteCall struct { 20472 s *Service 20473 name string 20474 urlParams_ gensupport.URLParams 20475 ctx_ context.Context 20476 header_ http.Header 20477} 20478 20479// Delete: Permanently deletes a reference image. 20480// 20481// The image metadata will be deleted right away, but search 20482// queries 20483// against ProductSets containing the image may still work until all 20484// related 20485// caches are refreshed. 20486// 20487// The actual image files are not deleted from Google Cloud Storage. 20488func (r *ProjectsLocationsProductsReferenceImagesService) Delete(name string) *ProjectsLocationsProductsReferenceImagesDeleteCall { 20489 c := &ProjectsLocationsProductsReferenceImagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20490 c.name = name 20491 return c 20492} 20493 20494// Fields allows partial responses to be retrieved. See 20495// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20496// for more information. 20497func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesDeleteCall { 20498 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20499 return c 20500} 20501 20502// Context sets the context to be used in this call's Do method. Any 20503// pending HTTP request will be aborted if the provided context is 20504// canceled. 20505func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesDeleteCall { 20506 c.ctx_ = ctx 20507 return c 20508} 20509 20510// Header returns an http.Header that can be modified by the caller to 20511// add HTTP headers to the request. 20512func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Header() http.Header { 20513 if c.header_ == nil { 20514 c.header_ = make(http.Header) 20515 } 20516 return c.header_ 20517} 20518 20519func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) doRequest(alt string) (*http.Response, error) { 20520 reqHeaders := make(http.Header) 20521 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 20522 for k, v := range c.header_ { 20523 reqHeaders[k] = v 20524 } 20525 reqHeaders.Set("User-Agent", c.s.userAgent()) 20526 var body io.Reader = nil 20527 c.urlParams_.Set("alt", alt) 20528 c.urlParams_.Set("prettyPrint", "false") 20529 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 20530 urls += "?" + c.urlParams_.Encode() 20531 req, err := http.NewRequest("DELETE", urls, body) 20532 if err != nil { 20533 return nil, err 20534 } 20535 req.Header = reqHeaders 20536 googleapi.Expand(req.URL, map[string]string{ 20537 "name": c.name, 20538 }) 20539 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20540} 20541 20542// Do executes the "vision.projects.locations.products.referenceImages.delete" call. 20543// Exactly one of *Empty or error will be non-nil. Any non-2xx status 20544// code is an error. Response headers are in either 20545// *Empty.ServerResponse.Header or (if a response was returned at all) 20546// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 20547// check whether the returned error was because http.StatusNotModified 20548// was returned. 20549func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 20550 gensupport.SetOptions(c.urlParams_, opts...) 20551 res, err := c.doRequest("json") 20552 if res != nil && res.StatusCode == http.StatusNotModified { 20553 if res.Body != nil { 20554 res.Body.Close() 20555 } 20556 return nil, &googleapi.Error{ 20557 Code: res.StatusCode, 20558 Header: res.Header, 20559 } 20560 } 20561 if err != nil { 20562 return nil, err 20563 } 20564 defer googleapi.CloseBody(res) 20565 if err := googleapi.CheckResponse(res); err != nil { 20566 return nil, err 20567 } 20568 ret := &Empty{ 20569 ServerResponse: googleapi.ServerResponse{ 20570 Header: res.Header, 20571 HTTPStatusCode: res.StatusCode, 20572 }, 20573 } 20574 target := &ret 20575 if err := gensupport.DecodeResponse(target, res); err != nil { 20576 return nil, err 20577 } 20578 return ret, nil 20579 // { 20580 // "description": "Permanently deletes a reference image.\n\nThe image metadata will be deleted right away, but search queries\nagainst ProductSets containing the image may still work until all related\ncaches are refreshed.\n\nThe actual image files are not deleted from Google Cloud Storage.", 20581 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages/{referenceImagesId}", 20582 // "httpMethod": "DELETE", 20583 // "id": "vision.projects.locations.products.referenceImages.delete", 20584 // "parameterOrder": [ 20585 // "name" 20586 // ], 20587 // "parameters": { 20588 // "name": { 20589 // "description": "Required. The resource name of the reference image to delete.\n\nFormat is:\n\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`", 20590 // "location": "path", 20591 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+$", 20592 // "required": true, 20593 // "type": "string" 20594 // } 20595 // }, 20596 // "path": "v1/{+name}", 20597 // "response": { 20598 // "$ref": "Empty" 20599 // }, 20600 // "scopes": [ 20601 // "https://www.googleapis.com/auth/cloud-platform", 20602 // "https://www.googleapis.com/auth/cloud-vision" 20603 // ] 20604 // } 20605 20606} 20607 20608// method id "vision.projects.locations.products.referenceImages.get": 20609 20610type ProjectsLocationsProductsReferenceImagesGetCall struct { 20611 s *Service 20612 name string 20613 urlParams_ gensupport.URLParams 20614 ifNoneMatch_ string 20615 ctx_ context.Context 20616 header_ http.Header 20617} 20618 20619// Get: Gets information associated with a ReferenceImage. 20620// 20621// Possible errors: 20622// 20623// * Returns NOT_FOUND if the specified image does not exist. 20624func (r *ProjectsLocationsProductsReferenceImagesService) Get(name string) *ProjectsLocationsProductsReferenceImagesGetCall { 20625 c := &ProjectsLocationsProductsReferenceImagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20626 c.name = name 20627 return c 20628} 20629 20630// Fields allows partial responses to be retrieved. See 20631// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20632// for more information. 20633func (c *ProjectsLocationsProductsReferenceImagesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesGetCall { 20634 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20635 return c 20636} 20637 20638// IfNoneMatch sets the optional parameter which makes the operation 20639// fail if the object's ETag matches the given value. This is useful for 20640// getting updates only after the object has changed since the last 20641// request. Use googleapi.IsNotModified to check whether the response 20642// error from Do is the result of In-None-Match. 20643func (c *ProjectsLocationsProductsReferenceImagesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsReferenceImagesGetCall { 20644 c.ifNoneMatch_ = entityTag 20645 return c 20646} 20647 20648// Context sets the context to be used in this call's Do method. Any 20649// pending HTTP request will be aborted if the provided context is 20650// canceled. 20651func (c *ProjectsLocationsProductsReferenceImagesGetCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesGetCall { 20652 c.ctx_ = ctx 20653 return c 20654} 20655 20656// Header returns an http.Header that can be modified by the caller to 20657// add HTTP headers to the request. 20658func (c *ProjectsLocationsProductsReferenceImagesGetCall) Header() http.Header { 20659 if c.header_ == nil { 20660 c.header_ = make(http.Header) 20661 } 20662 return c.header_ 20663} 20664 20665func (c *ProjectsLocationsProductsReferenceImagesGetCall) doRequest(alt string) (*http.Response, error) { 20666 reqHeaders := make(http.Header) 20667 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 20668 for k, v := range c.header_ { 20669 reqHeaders[k] = v 20670 } 20671 reqHeaders.Set("User-Agent", c.s.userAgent()) 20672 if c.ifNoneMatch_ != "" { 20673 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 20674 } 20675 var body io.Reader = nil 20676 c.urlParams_.Set("alt", alt) 20677 c.urlParams_.Set("prettyPrint", "false") 20678 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 20679 urls += "?" + c.urlParams_.Encode() 20680 req, err := http.NewRequest("GET", urls, body) 20681 if err != nil { 20682 return nil, err 20683 } 20684 req.Header = reqHeaders 20685 googleapi.Expand(req.URL, map[string]string{ 20686 "name": c.name, 20687 }) 20688 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20689} 20690 20691// Do executes the "vision.projects.locations.products.referenceImages.get" call. 20692// Exactly one of *ReferenceImage or error will be non-nil. Any non-2xx 20693// status code is an error. Response headers are in either 20694// *ReferenceImage.ServerResponse.Header or (if a response was returned 20695// at all) in error.(*googleapi.Error).Header. Use 20696// googleapi.IsNotModified to check whether the returned error was 20697// because http.StatusNotModified was returned. 20698func (c *ProjectsLocationsProductsReferenceImagesGetCall) Do(opts ...googleapi.CallOption) (*ReferenceImage, error) { 20699 gensupport.SetOptions(c.urlParams_, opts...) 20700 res, err := c.doRequest("json") 20701 if res != nil && res.StatusCode == http.StatusNotModified { 20702 if res.Body != nil { 20703 res.Body.Close() 20704 } 20705 return nil, &googleapi.Error{ 20706 Code: res.StatusCode, 20707 Header: res.Header, 20708 } 20709 } 20710 if err != nil { 20711 return nil, err 20712 } 20713 defer googleapi.CloseBody(res) 20714 if err := googleapi.CheckResponse(res); err != nil { 20715 return nil, err 20716 } 20717 ret := &ReferenceImage{ 20718 ServerResponse: googleapi.ServerResponse{ 20719 Header: res.Header, 20720 HTTPStatusCode: res.StatusCode, 20721 }, 20722 } 20723 target := &ret 20724 if err := gensupport.DecodeResponse(target, res); err != nil { 20725 return nil, err 20726 } 20727 return ret, nil 20728 // { 20729 // "description": "Gets information associated with a ReferenceImage.\n\nPossible errors:\n\n* Returns NOT_FOUND if the specified image does not exist.", 20730 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages/{referenceImagesId}", 20731 // "httpMethod": "GET", 20732 // "id": "vision.projects.locations.products.referenceImages.get", 20733 // "parameterOrder": [ 20734 // "name" 20735 // ], 20736 // "parameters": { 20737 // "name": { 20738 // "description": "Required. The resource name of the ReferenceImage to get.\n\nFormat is:\n\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`.", 20739 // "location": "path", 20740 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+$", 20741 // "required": true, 20742 // "type": "string" 20743 // } 20744 // }, 20745 // "path": "v1/{+name}", 20746 // "response": { 20747 // "$ref": "ReferenceImage" 20748 // }, 20749 // "scopes": [ 20750 // "https://www.googleapis.com/auth/cloud-platform", 20751 // "https://www.googleapis.com/auth/cloud-vision" 20752 // ] 20753 // } 20754 20755} 20756 20757// method id "vision.projects.locations.products.referenceImages.list": 20758 20759type ProjectsLocationsProductsReferenceImagesListCall struct { 20760 s *Service 20761 parent string 20762 urlParams_ gensupport.URLParams 20763 ifNoneMatch_ string 20764 ctx_ context.Context 20765 header_ http.Header 20766} 20767 20768// List: Lists reference images. 20769// 20770// Possible errors: 20771// 20772// * Returns NOT_FOUND if the parent product does not exist. 20773// * Returns INVALID_ARGUMENT if the page_size is greater than 100, or 20774// less 20775// than 1. 20776func (r *ProjectsLocationsProductsReferenceImagesService) List(parent string) *ProjectsLocationsProductsReferenceImagesListCall { 20777 c := &ProjectsLocationsProductsReferenceImagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20778 c.parent = parent 20779 return c 20780} 20781 20782// PageSize sets the optional parameter "pageSize": The maximum number 20783// of items to return. Default 10, maximum 100. 20784func (c *ProjectsLocationsProductsReferenceImagesListCall) PageSize(pageSize int64) *ProjectsLocationsProductsReferenceImagesListCall { 20785 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 20786 return c 20787} 20788 20789// PageToken sets the optional parameter "pageToken": A token 20790// identifying a page of results to be returned. This is the value 20791// of `nextPageToken` returned in a previous reference image list 20792// request. 20793// 20794// Defaults to the first page if not specified. 20795func (c *ProjectsLocationsProductsReferenceImagesListCall) PageToken(pageToken string) *ProjectsLocationsProductsReferenceImagesListCall { 20796 c.urlParams_.Set("pageToken", pageToken) 20797 return c 20798} 20799 20800// Fields allows partial responses to be retrieved. See 20801// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20802// for more information. 20803func (c *ProjectsLocationsProductsReferenceImagesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesListCall { 20804 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20805 return c 20806} 20807 20808// IfNoneMatch sets the optional parameter which makes the operation 20809// fail if the object's ETag matches the given value. This is useful for 20810// getting updates only after the object has changed since the last 20811// request. Use googleapi.IsNotModified to check whether the response 20812// error from Do is the result of In-None-Match. 20813func (c *ProjectsLocationsProductsReferenceImagesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsReferenceImagesListCall { 20814 c.ifNoneMatch_ = entityTag 20815 return c 20816} 20817 20818// Context sets the context to be used in this call's Do method. Any 20819// pending HTTP request will be aborted if the provided context is 20820// canceled. 20821func (c *ProjectsLocationsProductsReferenceImagesListCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesListCall { 20822 c.ctx_ = ctx 20823 return c 20824} 20825 20826// Header returns an http.Header that can be modified by the caller to 20827// add HTTP headers to the request. 20828func (c *ProjectsLocationsProductsReferenceImagesListCall) Header() http.Header { 20829 if c.header_ == nil { 20830 c.header_ = make(http.Header) 20831 } 20832 return c.header_ 20833} 20834 20835func (c *ProjectsLocationsProductsReferenceImagesListCall) doRequest(alt string) (*http.Response, error) { 20836 reqHeaders := make(http.Header) 20837 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 20838 for k, v := range c.header_ { 20839 reqHeaders[k] = v 20840 } 20841 reqHeaders.Set("User-Agent", c.s.userAgent()) 20842 if c.ifNoneMatch_ != "" { 20843 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 20844 } 20845 var body io.Reader = nil 20846 c.urlParams_.Set("alt", alt) 20847 c.urlParams_.Set("prettyPrint", "false") 20848 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/referenceImages") 20849 urls += "?" + c.urlParams_.Encode() 20850 req, err := http.NewRequest("GET", urls, body) 20851 if err != nil { 20852 return nil, err 20853 } 20854 req.Header = reqHeaders 20855 googleapi.Expand(req.URL, map[string]string{ 20856 "parent": c.parent, 20857 }) 20858 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20859} 20860 20861// Do executes the "vision.projects.locations.products.referenceImages.list" call. 20862// Exactly one of *ListReferenceImagesResponse or error will be non-nil. 20863// Any non-2xx status code is an error. Response headers are in either 20864// *ListReferenceImagesResponse.ServerResponse.Header or (if a response 20865// was returned at all) in error.(*googleapi.Error).Header. Use 20866// googleapi.IsNotModified to check whether the returned error was 20867// because http.StatusNotModified was returned. 20868func (c *ProjectsLocationsProductsReferenceImagesListCall) Do(opts ...googleapi.CallOption) (*ListReferenceImagesResponse, error) { 20869 gensupport.SetOptions(c.urlParams_, opts...) 20870 res, err := c.doRequest("json") 20871 if res != nil && res.StatusCode == http.StatusNotModified { 20872 if res.Body != nil { 20873 res.Body.Close() 20874 } 20875 return nil, &googleapi.Error{ 20876 Code: res.StatusCode, 20877 Header: res.Header, 20878 } 20879 } 20880 if err != nil { 20881 return nil, err 20882 } 20883 defer googleapi.CloseBody(res) 20884 if err := googleapi.CheckResponse(res); err != nil { 20885 return nil, err 20886 } 20887 ret := &ListReferenceImagesResponse{ 20888 ServerResponse: googleapi.ServerResponse{ 20889 Header: res.Header, 20890 HTTPStatusCode: res.StatusCode, 20891 }, 20892 } 20893 target := &ret 20894 if err := gensupport.DecodeResponse(target, res); err != nil { 20895 return nil, err 20896 } 20897 return ret, nil 20898 // { 20899 // "description": "Lists reference images.\n\nPossible errors:\n\n* Returns NOT_FOUND if the parent product does not exist.\n* Returns INVALID_ARGUMENT if the page_size is greater than 100, or less\n than 1.", 20900 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages", 20901 // "httpMethod": "GET", 20902 // "id": "vision.projects.locations.products.referenceImages.list", 20903 // "parameterOrder": [ 20904 // "parent" 20905 // ], 20906 // "parameters": { 20907 // "pageSize": { 20908 // "description": "The maximum number of items to return. Default 10, maximum 100.", 20909 // "format": "int32", 20910 // "location": "query", 20911 // "type": "integer" 20912 // }, 20913 // "pageToken": { 20914 // "description": "A token identifying a page of results to be returned. This is the value\nof `nextPageToken` returned in a previous reference image list request.\n\nDefaults to the first page if not specified.", 20915 // "location": "query", 20916 // "type": "string" 20917 // }, 20918 // "parent": { 20919 // "description": "Required. Resource name of the product containing the reference images.\n\nFormat is\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.", 20920 // "location": "path", 20921 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 20922 // "required": true, 20923 // "type": "string" 20924 // } 20925 // }, 20926 // "path": "v1/{+parent}/referenceImages", 20927 // "response": { 20928 // "$ref": "ListReferenceImagesResponse" 20929 // }, 20930 // "scopes": [ 20931 // "https://www.googleapis.com/auth/cloud-platform", 20932 // "https://www.googleapis.com/auth/cloud-vision" 20933 // ] 20934 // } 20935 20936} 20937 20938// Pages invokes f for each page of results. 20939// A non-nil error returned from f will halt the iteration. 20940// The provided context supersedes any context provided to the Context method. 20941func (c *ProjectsLocationsProductsReferenceImagesListCall) Pages(ctx context.Context, f func(*ListReferenceImagesResponse) error) error { 20942 c.ctx_ = ctx 20943 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 20944 for { 20945 x, err := c.Do() 20946 if err != nil { 20947 return err 20948 } 20949 if err := f(x); err != nil { 20950 return err 20951 } 20952 if x.NextPageToken == "" { 20953 return nil 20954 } 20955 c.PageToken(x.NextPageToken) 20956 } 20957} 20958 20959// method id "vision.projects.operations.get": 20960 20961type ProjectsOperationsGetCall struct { 20962 s *Service 20963 name string 20964 urlParams_ gensupport.URLParams 20965 ifNoneMatch_ string 20966 ctx_ context.Context 20967 header_ http.Header 20968} 20969 20970// Get: Gets the latest state of a long-running operation. Clients can 20971// use this 20972// method to poll the operation result at intervals as recommended by 20973// the API 20974// service. 20975func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall { 20976 c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20977 c.name = name 20978 return c 20979} 20980 20981// Fields allows partial responses to be retrieved. See 20982// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20983// for more information. 20984func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall { 20985 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20986 return c 20987} 20988 20989// IfNoneMatch sets the optional parameter which makes the operation 20990// fail if the object's ETag matches the given value. This is useful for 20991// getting updates only after the object has changed since the last 20992// request. Use googleapi.IsNotModified to check whether the response 20993// error from Do is the result of In-None-Match. 20994func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall { 20995 c.ifNoneMatch_ = entityTag 20996 return c 20997} 20998 20999// Context sets the context to be used in this call's Do method. Any 21000// pending HTTP request will be aborted if the provided context is 21001// canceled. 21002func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall { 21003 c.ctx_ = ctx 21004 return c 21005} 21006 21007// Header returns an http.Header that can be modified by the caller to 21008// add HTTP headers to the request. 21009func (c *ProjectsOperationsGetCall) Header() http.Header { 21010 if c.header_ == nil { 21011 c.header_ = make(http.Header) 21012 } 21013 return c.header_ 21014} 21015 21016func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 21017 reqHeaders := make(http.Header) 21018 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 21019 for k, v := range c.header_ { 21020 reqHeaders[k] = v 21021 } 21022 reqHeaders.Set("User-Agent", c.s.userAgent()) 21023 if c.ifNoneMatch_ != "" { 21024 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 21025 } 21026 var body io.Reader = nil 21027 c.urlParams_.Set("alt", alt) 21028 c.urlParams_.Set("prettyPrint", "false") 21029 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 21030 urls += "?" + c.urlParams_.Encode() 21031 req, err := http.NewRequest("GET", urls, body) 21032 if err != nil { 21033 return nil, err 21034 } 21035 req.Header = reqHeaders 21036 googleapi.Expand(req.URL, map[string]string{ 21037 "name": c.name, 21038 }) 21039 return gensupport.SendRequest(c.ctx_, c.s.client, req) 21040} 21041 21042// Do executes the "vision.projects.operations.get" call. 21043// Exactly one of *Operation or error will be non-nil. Any non-2xx 21044// status code is an error. Response headers are in either 21045// *Operation.ServerResponse.Header or (if a response was returned at 21046// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 21047// to check whether the returned error was because 21048// http.StatusNotModified was returned. 21049func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 21050 gensupport.SetOptions(c.urlParams_, opts...) 21051 res, err := c.doRequest("json") 21052 if res != nil && res.StatusCode == http.StatusNotModified { 21053 if res.Body != nil { 21054 res.Body.Close() 21055 } 21056 return nil, &googleapi.Error{ 21057 Code: res.StatusCode, 21058 Header: res.Header, 21059 } 21060 } 21061 if err != nil { 21062 return nil, err 21063 } 21064 defer googleapi.CloseBody(res) 21065 if err := googleapi.CheckResponse(res); err != nil { 21066 return nil, err 21067 } 21068 ret := &Operation{ 21069 ServerResponse: googleapi.ServerResponse{ 21070 Header: res.Header, 21071 HTTPStatusCode: res.StatusCode, 21072 }, 21073 } 21074 target := &ret 21075 if err := gensupport.DecodeResponse(target, res); err != nil { 21076 return nil, err 21077 } 21078 return ret, nil 21079 // { 21080 // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", 21081 // "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", 21082 // "httpMethod": "GET", 21083 // "id": "vision.projects.operations.get", 21084 // "parameterOrder": [ 21085 // "name" 21086 // ], 21087 // "parameters": { 21088 // "name": { 21089 // "description": "The name of the operation resource.", 21090 // "location": "path", 21091 // "pattern": "^projects/[^/]+/operations/[^/]+$", 21092 // "required": true, 21093 // "type": "string" 21094 // } 21095 // }, 21096 // "path": "v1/{+name}", 21097 // "response": { 21098 // "$ref": "Operation" 21099 // }, 21100 // "scopes": [ 21101 // "https://www.googleapis.com/auth/cloud-platform", 21102 // "https://www.googleapis.com/auth/cloud-vision" 21103 // ] 21104 // } 21105 21106} 21107