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/" 84const mtlsBasePath = "https://vision.mtls.googleapis.com/" 85 86// OAuth2 scopes used by this API. 87const ( 88 // View and manage your data across Google Cloud Platform services 89 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 90 91 // Apply machine learning models to understand and label images 92 CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision" 93) 94 95// NewService creates a new Service. 96func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 97 scopesOption := option.WithScopes( 98 "https://www.googleapis.com/auth/cloud-platform", 99 "https://www.googleapis.com/auth/cloud-vision", 100 ) 101 // NOTE: prepend, so we don't override user-specified scopes. 102 opts = append([]option.ClientOption{scopesOption}, opts...) 103 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 104 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 105 client, endpoint, err := htransport.NewClient(ctx, opts...) 106 if err != nil { 107 return nil, err 108 } 109 s, err := New(client) 110 if err != nil { 111 return nil, err 112 } 113 if endpoint != "" { 114 s.BasePath = endpoint 115 } 116 return s, nil 117} 118 119// New creates a new Service. It uses the provided http.Client for requests. 120// 121// Deprecated: please use NewService instead. 122// To provide a custom HTTP client, use option.WithHTTPClient. 123// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 124func New(client *http.Client) (*Service, error) { 125 if client == nil { 126 return nil, errors.New("client is nil") 127 } 128 s := &Service{client: client, BasePath: basePath} 129 s.Files = NewFilesService(s) 130 s.Images = NewImagesService(s) 131 s.Locations = NewLocationsService(s) 132 s.Operations = NewOperationsService(s) 133 s.Projects = NewProjectsService(s) 134 return s, nil 135} 136 137type Service struct { 138 client *http.Client 139 BasePath string // API endpoint base URL 140 UserAgent string // optional additional User-Agent fragment 141 142 Files *FilesService 143 144 Images *ImagesService 145 146 Locations *LocationsService 147 148 Operations *OperationsService 149 150 Projects *ProjectsService 151} 152 153func (s *Service) userAgent() string { 154 if s.UserAgent == "" { 155 return googleapi.UserAgent 156 } 157 return googleapi.UserAgent + " " + s.UserAgent 158} 159 160func NewFilesService(s *Service) *FilesService { 161 rs := &FilesService{s: s} 162 return rs 163} 164 165type FilesService struct { 166 s *Service 167} 168 169func NewImagesService(s *Service) *ImagesService { 170 rs := &ImagesService{s: s} 171 return rs 172} 173 174type ImagesService struct { 175 s *Service 176} 177 178func NewLocationsService(s *Service) *LocationsService { 179 rs := &LocationsService{s: s} 180 rs.Operations = NewLocationsOperationsService(s) 181 return rs 182} 183 184type LocationsService struct { 185 s *Service 186 187 Operations *LocationsOperationsService 188} 189 190func NewLocationsOperationsService(s *Service) *LocationsOperationsService { 191 rs := &LocationsOperationsService{s: s} 192 return rs 193} 194 195type LocationsOperationsService struct { 196 s *Service 197} 198 199func NewOperationsService(s *Service) *OperationsService { 200 rs := &OperationsService{s: s} 201 return rs 202} 203 204type OperationsService struct { 205 s *Service 206} 207 208func NewProjectsService(s *Service) *ProjectsService { 209 rs := &ProjectsService{s: s} 210 rs.Files = NewProjectsFilesService(s) 211 rs.Images = NewProjectsImagesService(s) 212 rs.Locations = NewProjectsLocationsService(s) 213 rs.Operations = NewProjectsOperationsService(s) 214 return rs 215} 216 217type ProjectsService struct { 218 s *Service 219 220 Files *ProjectsFilesService 221 222 Images *ProjectsImagesService 223 224 Locations *ProjectsLocationsService 225 226 Operations *ProjectsOperationsService 227} 228 229func NewProjectsFilesService(s *Service) *ProjectsFilesService { 230 rs := &ProjectsFilesService{s: s} 231 return rs 232} 233 234type ProjectsFilesService struct { 235 s *Service 236} 237 238func NewProjectsImagesService(s *Service) *ProjectsImagesService { 239 rs := &ProjectsImagesService{s: s} 240 return rs 241} 242 243type ProjectsImagesService struct { 244 s *Service 245} 246 247func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { 248 rs := &ProjectsLocationsService{s: s} 249 rs.Files = NewProjectsLocationsFilesService(s) 250 rs.Images = NewProjectsLocationsImagesService(s) 251 rs.Operations = NewProjectsLocationsOperationsService(s) 252 rs.ProductSets = NewProjectsLocationsProductSetsService(s) 253 rs.Products = NewProjectsLocationsProductsService(s) 254 return rs 255} 256 257type ProjectsLocationsService struct { 258 s *Service 259 260 Files *ProjectsLocationsFilesService 261 262 Images *ProjectsLocationsImagesService 263 264 Operations *ProjectsLocationsOperationsService 265 266 ProductSets *ProjectsLocationsProductSetsService 267 268 Products *ProjectsLocationsProductsService 269} 270 271func NewProjectsLocationsFilesService(s *Service) *ProjectsLocationsFilesService { 272 rs := &ProjectsLocationsFilesService{s: s} 273 return rs 274} 275 276type ProjectsLocationsFilesService struct { 277 s *Service 278} 279 280func NewProjectsLocationsImagesService(s *Service) *ProjectsLocationsImagesService { 281 rs := &ProjectsLocationsImagesService{s: s} 282 return rs 283} 284 285type ProjectsLocationsImagesService struct { 286 s *Service 287} 288 289func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService { 290 rs := &ProjectsLocationsOperationsService{s: s} 291 return rs 292} 293 294type ProjectsLocationsOperationsService struct { 295 s *Service 296} 297 298func NewProjectsLocationsProductSetsService(s *Service) *ProjectsLocationsProductSetsService { 299 rs := &ProjectsLocationsProductSetsService{s: s} 300 rs.Products = NewProjectsLocationsProductSetsProductsService(s) 301 return rs 302} 303 304type ProjectsLocationsProductSetsService struct { 305 s *Service 306 307 Products *ProjectsLocationsProductSetsProductsService 308} 309 310func NewProjectsLocationsProductSetsProductsService(s *Service) *ProjectsLocationsProductSetsProductsService { 311 rs := &ProjectsLocationsProductSetsProductsService{s: s} 312 return rs 313} 314 315type ProjectsLocationsProductSetsProductsService struct { 316 s *Service 317} 318 319func NewProjectsLocationsProductsService(s *Service) *ProjectsLocationsProductsService { 320 rs := &ProjectsLocationsProductsService{s: s} 321 rs.ReferenceImages = NewProjectsLocationsProductsReferenceImagesService(s) 322 return rs 323} 324 325type ProjectsLocationsProductsService struct { 326 s *Service 327 328 ReferenceImages *ProjectsLocationsProductsReferenceImagesService 329} 330 331func NewProjectsLocationsProductsReferenceImagesService(s *Service) *ProjectsLocationsProductsReferenceImagesService { 332 rs := &ProjectsLocationsProductsReferenceImagesService{s: s} 333 return rs 334} 335 336type ProjectsLocationsProductsReferenceImagesService struct { 337 s *Service 338} 339 340func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { 341 rs := &ProjectsOperationsService{s: s} 342 return rs 343} 344 345type ProjectsOperationsService struct { 346 s *Service 347} 348 349// AddProductToProductSetRequest: Request message for the 350// `AddProductToProductSet` method. 351type AddProductToProductSetRequest struct { 352 // Product: Required. The resource name for the Product to be added to 353 // this ProductSet. 354 // 355 // Format is: 356 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` 357 Product string `json:"product,omitempty"` 358 359 // ForceSendFields is a list of field names (e.g. "Product") to 360 // unconditionally include in API requests. By default, fields with 361 // empty values are omitted from API requests. However, any non-pointer, 362 // non-interface field appearing in ForceSendFields will be sent to the 363 // server regardless of whether the field is empty or not. This may be 364 // used to include empty fields in Patch requests. 365 ForceSendFields []string `json:"-"` 366 367 // NullFields is a list of field names (e.g. "Product") to include in 368 // API requests with the JSON null value. By default, fields with empty 369 // values are omitted from API requests. However, any field with an 370 // empty value appearing in NullFields will be sent to the server as 371 // null. It is an error if a field in this list has a non-empty value. 372 // This may be used to include null fields in Patch requests. 373 NullFields []string `json:"-"` 374} 375 376func (s *AddProductToProductSetRequest) MarshalJSON() ([]byte, error) { 377 type NoMethod AddProductToProductSetRequest 378 raw := NoMethod(*s) 379 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 380} 381 382// AnnotateFileRequest: A request to annotate one single file, e.g. a 383// PDF, TIFF or GIF file. 384type AnnotateFileRequest struct { 385 // Features: Required. Requested features. 386 Features []*Feature `json:"features,omitempty"` 387 388 // ImageContext: Additional context that may accompany the image(s) in 389 // the file. 390 ImageContext *ImageContext `json:"imageContext,omitempty"` 391 392 // InputConfig: Required. Information about the input file. 393 InputConfig *InputConfig `json:"inputConfig,omitempty"` 394 395 // Pages: Pages of the file to perform image annotation. 396 // 397 // Pages starts from 1, we assume the first page of the file is page 398 // 1. 399 // At most 5 pages are supported per request. Pages can be 400 // negative. 401 // 402 // Page 1 means the first page. 403 // Page 2 means the second page. 404 // Page -1 means the last page. 405 // Page -2 means the second to the last page. 406 // 407 // If the file is GIF instead of PDF or TIFF, page refers to GIF 408 // frames. 409 // 410 // If this field is empty, by default the service performs image 411 // annotation 412 // for the first 5 pages of the file. 413 Pages []int64 `json:"pages,omitempty"` 414 415 // ForceSendFields is a list of field names (e.g. "Features") to 416 // unconditionally include in API requests. By default, fields with 417 // empty values are omitted from API requests. However, any non-pointer, 418 // non-interface field appearing in ForceSendFields will be sent to the 419 // server regardless of whether the field is empty or not. This may be 420 // used to include empty fields in Patch requests. 421 ForceSendFields []string `json:"-"` 422 423 // NullFields is a list of field names (e.g. "Features") to include in 424 // API requests with the JSON null value. By default, fields with empty 425 // values are omitted from API requests. However, any field with an 426 // empty value appearing in NullFields will be sent to the server as 427 // null. It is an error if a field in this list has a non-empty value. 428 // This may be used to include null fields in Patch requests. 429 NullFields []string `json:"-"` 430} 431 432func (s *AnnotateFileRequest) MarshalJSON() ([]byte, error) { 433 type NoMethod AnnotateFileRequest 434 raw := NoMethod(*s) 435 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 436} 437 438// AnnotateFileResponse: Response to a single file annotation request. A 439// file may contain one or more 440// images, which individually have their own responses. 441type AnnotateFileResponse struct { 442 // Error: If set, represents the error message for the failed request. 443 // The 444 // `responses` field will not be set in this case. 445 Error *Status `json:"error,omitempty"` 446 447 // InputConfig: Information about the file for which this response is 448 // generated. 449 InputConfig *InputConfig `json:"inputConfig,omitempty"` 450 451 // Responses: Individual responses to images found within the file. This 452 // field will be 453 // empty if the `error` field is set. 454 Responses []*AnnotateImageResponse `json:"responses,omitempty"` 455 456 // TotalPages: This field gives the total number of pages in the file. 457 TotalPages int64 `json:"totalPages,omitempty"` 458 459 // ForceSendFields is a list of field names (e.g. "Error") to 460 // unconditionally include in API requests. By default, fields with 461 // empty values are omitted from API requests. However, any non-pointer, 462 // non-interface field appearing in ForceSendFields will be sent to the 463 // server regardless of whether the field is empty or not. This may be 464 // used to include empty fields in Patch requests. 465 ForceSendFields []string `json:"-"` 466 467 // NullFields is a list of field names (e.g. "Error") to include in API 468 // requests with the JSON null value. By default, fields with empty 469 // values are omitted from API requests. However, any field with an 470 // empty value appearing in NullFields will be sent to the server as 471 // null. It is an error if a field in this list has a non-empty value. 472 // This may be used to include null fields in Patch requests. 473 NullFields []string `json:"-"` 474} 475 476func (s *AnnotateFileResponse) MarshalJSON() ([]byte, error) { 477 type NoMethod AnnotateFileResponse 478 raw := NoMethod(*s) 479 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 480} 481 482// AnnotateImageRequest: Request for performing Google Cloud Vision API 483// tasks over a user-provided 484// image, with user-requested features, and with context information. 485type AnnotateImageRequest struct { 486 // Features: Requested features. 487 Features []*Feature `json:"features,omitempty"` 488 489 // Image: The image to be processed. 490 Image *Image `json:"image,omitempty"` 491 492 // ImageContext: Additional context that may accompany the image. 493 ImageContext *ImageContext `json:"imageContext,omitempty"` 494 495 // ForceSendFields is a list of field names (e.g. "Features") to 496 // unconditionally include in API requests. By default, fields with 497 // empty values are omitted from API requests. However, any non-pointer, 498 // non-interface field appearing in ForceSendFields will be sent to the 499 // server regardless of whether the field is empty or not. This may be 500 // used to include empty fields in Patch requests. 501 ForceSendFields []string `json:"-"` 502 503 // NullFields is a list of field names (e.g. "Features") to include in 504 // API requests with the JSON null value. By default, fields with empty 505 // values are omitted from API requests. However, any field with an 506 // empty value appearing in NullFields will be sent to the server as 507 // null. It is an error if a field in this list has a non-empty value. 508 // This may be used to include null fields in Patch requests. 509 NullFields []string `json:"-"` 510} 511 512func (s *AnnotateImageRequest) MarshalJSON() ([]byte, error) { 513 type NoMethod AnnotateImageRequest 514 raw := NoMethod(*s) 515 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 516} 517 518// AnnotateImageResponse: Response to an image annotation request. 519type AnnotateImageResponse struct { 520 // Context: If present, contextual information is needed to understand 521 // where this image 522 // comes from. 523 Context *ImageAnnotationContext `json:"context,omitempty"` 524 525 // CropHintsAnnotation: If present, crop hints have completed 526 // successfully. 527 CropHintsAnnotation *CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 528 529 // Error: If set, represents the error message for the operation. 530 // Note that filled-in image annotations are guaranteed to be 531 // correct, even when `error` is set. 532 Error *Status `json:"error,omitempty"` 533 534 // FaceAnnotations: If present, face detection has completed 535 // successfully. 536 FaceAnnotations []*FaceAnnotation `json:"faceAnnotations,omitempty"` 537 538 // FullTextAnnotation: If present, text (OCR) detection or document 539 // (OCR) text detection has 540 // completed successfully. 541 // This annotation provides the structural hierarchy for the OCR 542 // detected 543 // text. 544 FullTextAnnotation *TextAnnotation `json:"fullTextAnnotation,omitempty"` 545 546 // ImagePropertiesAnnotation: If present, image properties were 547 // extracted successfully. 548 ImagePropertiesAnnotation *ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 549 550 // LabelAnnotations: If present, label detection has completed 551 // successfully. 552 LabelAnnotations []*EntityAnnotation `json:"labelAnnotations,omitempty"` 553 554 // LandmarkAnnotations: If present, landmark detection has completed 555 // successfully. 556 LandmarkAnnotations []*EntityAnnotation `json:"landmarkAnnotations,omitempty"` 557 558 // LocalizedObjectAnnotations: If present, localized object detection 559 // has completed successfully. 560 // This will be sorted descending by confidence score. 561 LocalizedObjectAnnotations []*LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 562 563 // LogoAnnotations: If present, logo detection has completed 564 // successfully. 565 LogoAnnotations []*EntityAnnotation `json:"logoAnnotations,omitempty"` 566 567 // ProductSearchResults: If present, product search has completed 568 // successfully. 569 ProductSearchResults *ProductSearchResults `json:"productSearchResults,omitempty"` 570 571 // SafeSearchAnnotation: If present, safe-search annotation has 572 // completed successfully. 573 SafeSearchAnnotation *SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 574 575 // TextAnnotations: If present, text (OCR) detection has completed 576 // successfully. 577 TextAnnotations []*EntityAnnotation `json:"textAnnotations,omitempty"` 578 579 // WebDetection: If present, web detection has completed successfully. 580 WebDetection *WebDetection `json:"webDetection,omitempty"` 581 582 // ForceSendFields is a list of field names (e.g. "Context") to 583 // unconditionally include in API requests. By default, fields with 584 // empty values are omitted from API requests. However, any non-pointer, 585 // non-interface field appearing in ForceSendFields will be sent to the 586 // server regardless of whether the field is empty or not. This may be 587 // used to include empty fields in Patch requests. 588 ForceSendFields []string `json:"-"` 589 590 // NullFields is a list of field names (e.g. "Context") to include in 591 // API requests with the JSON null value. By default, fields with empty 592 // values are omitted from API requests. However, any field with an 593 // empty value appearing in NullFields will be sent to the server as 594 // null. It is an error if a field in this list has a non-empty value. 595 // This may be used to include null fields in Patch requests. 596 NullFields []string `json:"-"` 597} 598 599func (s *AnnotateImageResponse) MarshalJSON() ([]byte, error) { 600 type NoMethod AnnotateImageResponse 601 raw := NoMethod(*s) 602 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 603} 604 605// AsyncAnnotateFileRequest: An offline file annotation request. 606type AsyncAnnotateFileRequest struct { 607 // Features: Required. Requested features. 608 Features []*Feature `json:"features,omitempty"` 609 610 // ImageContext: Additional context that may accompany the image(s) in 611 // the file. 612 ImageContext *ImageContext `json:"imageContext,omitempty"` 613 614 // InputConfig: Required. Information about the input file. 615 InputConfig *InputConfig `json:"inputConfig,omitempty"` 616 617 // OutputConfig: Required. The desired output location and metadata 618 // (e.g. format). 619 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 620 621 // ForceSendFields is a list of field names (e.g. "Features") to 622 // unconditionally include in API requests. By default, fields with 623 // empty values are omitted from API requests. However, any non-pointer, 624 // non-interface field appearing in ForceSendFields will be sent to the 625 // server regardless of whether the field is empty or not. This may be 626 // used to include empty fields in Patch requests. 627 ForceSendFields []string `json:"-"` 628 629 // NullFields is a list of field names (e.g. "Features") to include in 630 // API requests with the JSON null value. By default, fields with empty 631 // values are omitted from API requests. However, any field with an 632 // empty value appearing in NullFields will be sent to the server as 633 // null. It is an error if a field in this list has a non-empty value. 634 // This may be used to include null fields in Patch requests. 635 NullFields []string `json:"-"` 636} 637 638func (s *AsyncAnnotateFileRequest) MarshalJSON() ([]byte, error) { 639 type NoMethod AsyncAnnotateFileRequest 640 raw := NoMethod(*s) 641 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 642} 643 644// AsyncAnnotateFileResponse: The response for a single offline file 645// annotation request. 646type AsyncAnnotateFileResponse struct { 647 // OutputConfig: The output location and metadata from 648 // AsyncAnnotateFileRequest. 649 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 650 651 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 652 // unconditionally include in API requests. By default, fields with 653 // empty values are omitted from API requests. However, any non-pointer, 654 // non-interface field appearing in ForceSendFields will be sent to the 655 // server regardless of whether the field is empty or not. This may be 656 // used to include empty fields in Patch requests. 657 ForceSendFields []string `json:"-"` 658 659 // NullFields is a list of field names (e.g. "OutputConfig") to include 660 // in API requests with the JSON null value. By default, fields with 661 // empty values are omitted from API requests. However, any field with 662 // an empty value appearing in NullFields will be sent to the server as 663 // null. It is an error if a field in this list has a non-empty value. 664 // This may be used to include null fields in Patch requests. 665 NullFields []string `json:"-"` 666} 667 668func (s *AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 669 type NoMethod AsyncAnnotateFileResponse 670 raw := NoMethod(*s) 671 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 672} 673 674// AsyncBatchAnnotateFilesRequest: Multiple async file annotation 675// requests are batched into a single service 676// call. 677type AsyncBatchAnnotateFilesRequest struct { 678 // Parent: Optional. Target project and location to make a 679 // call. 680 // 681 // Format: `projects/{project-id}/locations/{location-id}`. 682 // 683 // If no parent is specified, a region will be chosen 684 // automatically. 685 // 686 // Supported location-ids: 687 // `us`: USA country only, 688 // `asia`: East asia areas, like Japan, Taiwan, 689 // `eu`: The European Union. 690 // 691 // Example: `projects/project-A/locations/eu`. 692 Parent string `json:"parent,omitempty"` 693 694 // Requests: Required. Individual async file annotation requests for 695 // this batch. 696 Requests []*AsyncAnnotateFileRequest `json:"requests,omitempty"` 697 698 // ForceSendFields is a list of field names (e.g. "Parent") to 699 // unconditionally include in API requests. By default, fields with 700 // empty values are omitted from API requests. However, any non-pointer, 701 // non-interface field appearing in ForceSendFields will be sent to the 702 // server regardless of whether the field is empty or not. This may be 703 // used to include empty fields in Patch requests. 704 ForceSendFields []string `json:"-"` 705 706 // NullFields is a list of field names (e.g. "Parent") to include in API 707 // requests with the JSON null value. By default, fields with empty 708 // values are omitted from API requests. However, any field with an 709 // empty value appearing in NullFields will be sent to the server as 710 // null. It is an error if a field in this list has a non-empty value. 711 // This may be used to include null fields in Patch requests. 712 NullFields []string `json:"-"` 713} 714 715func (s *AsyncBatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 716 type NoMethod AsyncBatchAnnotateFilesRequest 717 raw := NoMethod(*s) 718 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 719} 720 721// AsyncBatchAnnotateFilesResponse: Response to an async batch file 722// annotation request. 723type AsyncBatchAnnotateFilesResponse struct { 724 // Responses: The list of file annotation responses, one for each 725 // request in 726 // AsyncBatchAnnotateFilesRequest. 727 Responses []*AsyncAnnotateFileResponse `json:"responses,omitempty"` 728 729 // ForceSendFields is a list of field names (e.g. "Responses") to 730 // unconditionally include in API requests. By default, fields with 731 // empty values are omitted from API requests. However, any non-pointer, 732 // non-interface field appearing in ForceSendFields will be sent to the 733 // server regardless of whether the field is empty or not. This may be 734 // used to include empty fields in Patch requests. 735 ForceSendFields []string `json:"-"` 736 737 // NullFields is a list of field names (e.g. "Responses") to include in 738 // API requests with the JSON null value. By default, fields with empty 739 // values are omitted from API requests. However, any field with an 740 // empty value appearing in NullFields will be sent to the server as 741 // null. It is an error if a field in this list has a non-empty value. 742 // This may be used to include null fields in Patch requests. 743 NullFields []string `json:"-"` 744} 745 746func (s *AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 747 type NoMethod AsyncBatchAnnotateFilesResponse 748 raw := NoMethod(*s) 749 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 750} 751 752// AsyncBatchAnnotateImagesRequest: Request for async image annotation 753// for a list of images. 754type AsyncBatchAnnotateImagesRequest struct { 755 // OutputConfig: Required. The desired output location and metadata 756 // (e.g. format). 757 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 758 759 // Parent: Optional. Target project and location to make a 760 // call. 761 // 762 // Format: `projects/{project-id}/locations/{location-id}`. 763 // 764 // If no parent is specified, a region will be chosen 765 // automatically. 766 // 767 // Supported location-ids: 768 // `us`: USA country only, 769 // `asia`: East asia areas, like Japan, Taiwan, 770 // `eu`: The European Union. 771 // 772 // Example: `projects/project-A/locations/eu`. 773 Parent string `json:"parent,omitempty"` 774 775 // Requests: Required. Individual image annotation requests for this 776 // batch. 777 Requests []*AnnotateImageRequest `json:"requests,omitempty"` 778 779 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 780 // unconditionally include in API requests. By default, fields with 781 // empty values are omitted from API requests. However, any non-pointer, 782 // non-interface field appearing in ForceSendFields will be sent to the 783 // server regardless of whether the field is empty or not. This may be 784 // used to include empty fields in Patch requests. 785 ForceSendFields []string `json:"-"` 786 787 // NullFields is a list of field names (e.g. "OutputConfig") to include 788 // in API requests with the JSON null value. By default, fields with 789 // empty values are omitted from API requests. However, any field with 790 // an empty value appearing in NullFields will be sent to the server as 791 // null. It is an error if a field in this list has a non-empty value. 792 // This may be used to include null fields in Patch requests. 793 NullFields []string `json:"-"` 794} 795 796func (s *AsyncBatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 797 type NoMethod AsyncBatchAnnotateImagesRequest 798 raw := NoMethod(*s) 799 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 800} 801 802// AsyncBatchAnnotateImagesResponse: Response to an async batch image 803// annotation request. 804type AsyncBatchAnnotateImagesResponse struct { 805 // OutputConfig: The output location and metadata from 806 // AsyncBatchAnnotateImagesRequest. 807 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 808 809 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 810 // unconditionally include in API requests. By default, fields with 811 // empty values are omitted from API requests. However, any non-pointer, 812 // non-interface field appearing in ForceSendFields will be sent to the 813 // server regardless of whether the field is empty or not. This may be 814 // used to include empty fields in Patch requests. 815 ForceSendFields []string `json:"-"` 816 817 // NullFields is a list of field names (e.g. "OutputConfig") to include 818 // in API requests with the JSON null value. By default, fields with 819 // empty values are omitted from API requests. However, any field with 820 // an empty value appearing in NullFields will be sent to the server as 821 // null. It is an error if a field in this list has a non-empty value. 822 // This may be used to include null fields in Patch requests. 823 NullFields []string `json:"-"` 824} 825 826func (s *AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 827 type NoMethod AsyncBatchAnnotateImagesResponse 828 raw := NoMethod(*s) 829 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 830} 831 832// BatchAnnotateFilesRequest: A list of requests to annotate files using 833// the BatchAnnotateFiles API. 834type BatchAnnotateFilesRequest struct { 835 // Parent: Optional. Target project and location to make a 836 // call. 837 // 838 // Format: `projects/{project-id}/locations/{location-id}`. 839 // 840 // If no parent is specified, a region will be chosen 841 // automatically. 842 // 843 // Supported location-ids: 844 // `us`: USA country only, 845 // `asia`: East asia areas, like Japan, Taiwan, 846 // `eu`: The European Union. 847 // 848 // Example: `projects/project-A/locations/eu`. 849 Parent string `json:"parent,omitempty"` 850 851 // Requests: Required. The list of file annotation requests. Right now 852 // we support only one 853 // AnnotateFileRequest in BatchAnnotateFilesRequest. 854 Requests []*AnnotateFileRequest `json:"requests,omitempty"` 855 856 // ForceSendFields is a list of field names (e.g. "Parent") to 857 // unconditionally include in API requests. By default, fields with 858 // empty values are omitted from API requests. However, any non-pointer, 859 // non-interface field appearing in ForceSendFields will be sent to the 860 // server regardless of whether the field is empty or not. This may be 861 // used to include empty fields in Patch requests. 862 ForceSendFields []string `json:"-"` 863 864 // NullFields is a list of field names (e.g. "Parent") to include in API 865 // requests with the JSON null value. By default, fields with empty 866 // values are omitted from API requests. However, any field with an 867 // empty value appearing in NullFields will be sent to the server as 868 // null. It is an error if a field in this list has a non-empty value. 869 // This may be used to include null fields in Patch requests. 870 NullFields []string `json:"-"` 871} 872 873func (s *BatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 874 type NoMethod BatchAnnotateFilesRequest 875 raw := NoMethod(*s) 876 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 877} 878 879// BatchAnnotateFilesResponse: A list of file annotation responses. 880type BatchAnnotateFilesResponse struct { 881 // Responses: The list of file annotation responses, each response 882 // corresponding to each 883 // AnnotateFileRequest in BatchAnnotateFilesRequest. 884 Responses []*AnnotateFileResponse `json:"responses,omitempty"` 885 886 // ServerResponse contains the HTTP response code and headers from the 887 // server. 888 googleapi.ServerResponse `json:"-"` 889 890 // ForceSendFields is a list of field names (e.g. "Responses") to 891 // unconditionally include in API requests. By default, fields with 892 // empty values are omitted from API requests. However, any non-pointer, 893 // non-interface field appearing in ForceSendFields will be sent to the 894 // server regardless of whether the field is empty or not. This may be 895 // used to include empty fields in Patch requests. 896 ForceSendFields []string `json:"-"` 897 898 // NullFields is a list of field names (e.g. "Responses") to include in 899 // API requests with the JSON null value. By default, fields with empty 900 // values are omitted from API requests. However, any field with an 901 // empty value appearing in NullFields will be sent to the server as 902 // null. It is an error if a field in this list has a non-empty value. 903 // This may be used to include null fields in Patch requests. 904 NullFields []string `json:"-"` 905} 906 907func (s *BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 908 type NoMethod BatchAnnotateFilesResponse 909 raw := NoMethod(*s) 910 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 911} 912 913// BatchAnnotateImagesRequest: Multiple image annotation requests are 914// batched into a single service call. 915type BatchAnnotateImagesRequest struct { 916 // Parent: Optional. Target project and location to make a 917 // call. 918 // 919 // Format: `projects/{project-id}/locations/{location-id}`. 920 // 921 // If no parent is specified, a region will be chosen 922 // automatically. 923 // 924 // Supported location-ids: 925 // `us`: USA country only, 926 // `asia`: East asia areas, like Japan, Taiwan, 927 // `eu`: The European Union. 928 // 929 // Example: `projects/project-A/locations/eu`. 930 Parent string `json:"parent,omitempty"` 931 932 // Requests: Required. Individual image annotation requests for this 933 // batch. 934 Requests []*AnnotateImageRequest `json:"requests,omitempty"` 935 936 // ForceSendFields is a list of field names (e.g. "Parent") to 937 // unconditionally include in API requests. By default, fields with 938 // empty values are omitted from API requests. However, any non-pointer, 939 // non-interface field appearing in ForceSendFields will be sent to the 940 // server regardless of whether the field is empty or not. This may be 941 // used to include empty fields in Patch requests. 942 ForceSendFields []string `json:"-"` 943 944 // NullFields is a list of field names (e.g. "Parent") to include in API 945 // requests with the JSON null value. By default, fields with empty 946 // values are omitted from API requests. However, any field with an 947 // empty value appearing in NullFields will be sent to the server as 948 // null. It is an error if a field in this list has a non-empty value. 949 // This may be used to include null fields in Patch requests. 950 NullFields []string `json:"-"` 951} 952 953func (s *BatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 954 type NoMethod BatchAnnotateImagesRequest 955 raw := NoMethod(*s) 956 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 957} 958 959// BatchAnnotateImagesResponse: Response to a batch image annotation 960// request. 961type BatchAnnotateImagesResponse struct { 962 // Responses: Individual responses to image annotation requests within 963 // the batch. 964 Responses []*AnnotateImageResponse `json:"responses,omitempty"` 965 966 // ServerResponse contains the HTTP response code and headers from the 967 // server. 968 googleapi.ServerResponse `json:"-"` 969 970 // ForceSendFields is a list of field names (e.g. "Responses") to 971 // unconditionally include in API requests. By default, fields with 972 // empty values are omitted from API requests. However, any non-pointer, 973 // non-interface field appearing in ForceSendFields will be sent to the 974 // server regardless of whether the field is empty or not. This may be 975 // used to include empty fields in Patch requests. 976 ForceSendFields []string `json:"-"` 977 978 // NullFields is a list of field names (e.g. "Responses") to include in 979 // API requests with the JSON null value. By default, fields with empty 980 // values are omitted from API requests. However, any field with an 981 // empty value appearing in NullFields will be sent to the server as 982 // null. It is an error if a field in this list has a non-empty value. 983 // This may be used to include null fields in Patch requests. 984 NullFields []string `json:"-"` 985} 986 987func (s *BatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 988 type NoMethod BatchAnnotateImagesResponse 989 raw := NoMethod(*s) 990 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 991} 992 993// BatchOperationMetadata: Metadata for the batch operations such as the 994// current state. 995// 996// This is included in the `metadata` field of the `Operation` returned 997// by the 998// `GetOperation` call of the `google::longrunning::Operations` service. 999type BatchOperationMetadata struct { 1000 // EndTime: The time when the batch request is finished 1001 // and 1002 // google.longrunning.Operation.done is set to true. 1003 EndTime string `json:"endTime,omitempty"` 1004 1005 // State: The current state of the batch operation. 1006 // 1007 // Possible values: 1008 // "STATE_UNSPECIFIED" - Invalid. 1009 // "PROCESSING" - Request is actively being processed. 1010 // "SUCCESSFUL" - The request is done and at least one item has been 1011 // successfully 1012 // processed. 1013 // "FAILED" - The request is done and no item has been successfully 1014 // processed. 1015 // "CANCELLED" - The request is done after the 1016 // longrunning.Operations.CancelOperation has 1017 // been called by the user. Any records that were processed before 1018 // the 1019 // cancel command are output as specified in the request. 1020 State string `json:"state,omitempty"` 1021 1022 // SubmitTime: The time when the batch request was submitted to the 1023 // server. 1024 SubmitTime string `json:"submitTime,omitempty"` 1025 1026 // ForceSendFields is a list of field names (e.g. "EndTime") to 1027 // unconditionally include in API requests. By default, fields with 1028 // empty values are omitted from API requests. However, any non-pointer, 1029 // non-interface field appearing in ForceSendFields will be sent to the 1030 // server regardless of whether the field is empty or not. This may be 1031 // used to include empty fields in Patch requests. 1032 ForceSendFields []string `json:"-"` 1033 1034 // NullFields is a list of field names (e.g. "EndTime") to include in 1035 // API requests with the JSON null value. By default, fields with empty 1036 // values are omitted from API requests. However, any field with an 1037 // empty value appearing in NullFields will be sent to the server as 1038 // null. It is an error if a field in this list has a non-empty value. 1039 // This may be used to include null fields in Patch requests. 1040 NullFields []string `json:"-"` 1041} 1042 1043func (s *BatchOperationMetadata) MarshalJSON() ([]byte, error) { 1044 type NoMethod BatchOperationMetadata 1045 raw := NoMethod(*s) 1046 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1047} 1048 1049// Block: Logical element on the page. 1050type Block struct { 1051 // BlockType: Detected block type (text, image etc) for this block. 1052 // 1053 // Possible values: 1054 // "UNKNOWN" - Unknown block type. 1055 // "TEXT" - Regular text block. 1056 // "TABLE" - Table block. 1057 // "PICTURE" - Image block. 1058 // "RULER" - Horizontal/vertical line box. 1059 // "BARCODE" - Barcode block. 1060 BlockType string `json:"blockType,omitempty"` 1061 1062 // BoundingBox: The bounding box for the block. 1063 // The vertices are in the order of top-left, top-right, 1064 // bottom-right, 1065 // bottom-left. When a rotation of the bounding box is detected the 1066 // rotation 1067 // is represented as around the top-left corner as defined when the text 1068 // is 1069 // read in the 'natural' orientation. 1070 // For example: 1071 // 1072 // * when the text is horizontal it might look like: 1073 // 1074 // 0----1 1075 // | | 1076 // 3----2 1077 // 1078 // * when it's rotated 180 degrees around the top-left corner it 1079 // becomes: 1080 // 1081 // 2----3 1082 // | | 1083 // 1----0 1084 // 1085 // and the vertex order will still be (0, 1, 2, 3). 1086 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 1087 1088 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 1089 Confidence float64 `json:"confidence,omitempty"` 1090 1091 // Paragraphs: List of paragraphs in this block (if this blocks is of 1092 // type text). 1093 Paragraphs []*Paragraph `json:"paragraphs,omitempty"` 1094 1095 // Property: Additional information detected for the block. 1096 Property *TextProperty `json:"property,omitempty"` 1097 1098 // ForceSendFields is a list of field names (e.g. "BlockType") to 1099 // unconditionally include in API requests. By default, fields with 1100 // empty values are omitted from API requests. However, any non-pointer, 1101 // non-interface field appearing in ForceSendFields will be sent to the 1102 // server regardless of whether the field is empty or not. This may be 1103 // used to include empty fields in Patch requests. 1104 ForceSendFields []string `json:"-"` 1105 1106 // NullFields is a list of field names (e.g. "BlockType") to include in 1107 // API requests with the JSON null value. By default, fields with empty 1108 // values are omitted from API requests. However, any field with an 1109 // empty value appearing in NullFields will be sent to the server as 1110 // null. It is an error if a field in this list has a non-empty value. 1111 // This may be used to include null fields in Patch requests. 1112 NullFields []string `json:"-"` 1113} 1114 1115func (s *Block) MarshalJSON() ([]byte, error) { 1116 type NoMethod Block 1117 raw := NoMethod(*s) 1118 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1119} 1120 1121func (s *Block) UnmarshalJSON(data []byte) error { 1122 type NoMethod Block 1123 var s1 struct { 1124 Confidence gensupport.JSONFloat64 `json:"confidence"` 1125 *NoMethod 1126 } 1127 s1.NoMethod = (*NoMethod)(s) 1128 if err := json.Unmarshal(data, &s1); err != nil { 1129 return err 1130 } 1131 s.Confidence = float64(s1.Confidence) 1132 return nil 1133} 1134 1135// BoundingPoly: A bounding polygon for the detected image annotation. 1136type BoundingPoly struct { 1137 // NormalizedVertices: The bounding polygon normalized vertices. 1138 NormalizedVertices []*NormalizedVertex `json:"normalizedVertices,omitempty"` 1139 1140 // Vertices: The bounding polygon vertices. 1141 Vertices []*Vertex `json:"vertices,omitempty"` 1142 1143 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 1144 // to unconditionally include in API requests. By default, fields with 1145 // empty values are omitted from API requests. However, any non-pointer, 1146 // non-interface field appearing in ForceSendFields will be sent to the 1147 // server regardless of whether the field is empty or not. This may be 1148 // used to include empty fields in Patch requests. 1149 ForceSendFields []string `json:"-"` 1150 1151 // NullFields is a list of field names (e.g. "NormalizedVertices") to 1152 // include in API requests with the JSON null value. By default, fields 1153 // with empty values are omitted from API requests. However, any field 1154 // with an empty value appearing in NullFields will be sent to the 1155 // server as null. It is an error if a field in this list has a 1156 // non-empty value. This may be used to include null fields in Patch 1157 // requests. 1158 NullFields []string `json:"-"` 1159} 1160 1161func (s *BoundingPoly) MarshalJSON() ([]byte, error) { 1162 type NoMethod BoundingPoly 1163 raw := NoMethod(*s) 1164 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1165} 1166 1167// CancelOperationRequest: The request message for 1168// Operations.CancelOperation. 1169type CancelOperationRequest struct { 1170} 1171 1172// Color: Represents a color in the RGBA color space. This 1173// representation is designed 1174// for simplicity of conversion to/from color representations in 1175// various 1176// languages over compactness; for example, the fields of this 1177// representation 1178// can be trivially provided to the constructor of "java.awt.Color" in 1179// Java; it 1180// can also be trivially provided to UIColor's 1181// "+colorWithRed:green:blue:alpha" 1182// method in iOS; and, with just a little work, it can be easily 1183// formatted into 1184// a CSS "rgba()" string in JavaScript, as well. 1185// 1186// Note: this proto does not carry information about the absolute color 1187// space 1188// that should be used to interpret the RGB value (e.g. sRGB, Adobe 1189// RGB, 1190// DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the 1191// sRGB color 1192// space. 1193// 1194// Note: when color equality needs to be decided, implementations, 1195// unless 1196// documented otherwise, will treat two colors to be equal if all their 1197// red, 1198// green, blue and alpha values each differ by at most 1e-5. 1199// 1200// Example (Java): 1201// 1202// import com.google.type.Color; 1203// 1204// // ... 1205// public static java.awt.Color fromProto(Color protocolor) { 1206// float alpha = protocolor.hasAlpha() 1207// ? protocolor.getAlpha().getValue() 1208// : 1.0; 1209// 1210// return new java.awt.Color( 1211// protocolor.getRed(), 1212// protocolor.getGreen(), 1213// protocolor.getBlue(), 1214// alpha); 1215// } 1216// 1217// public static Color toProto(java.awt.Color color) { 1218// float red = (float) color.getRed(); 1219// float green = (float) color.getGreen(); 1220// float blue = (float) color.getBlue(); 1221// float denominator = 255.0; 1222// Color.Builder resultBuilder = 1223// Color 1224// .newBuilder() 1225// .setRed(red / denominator) 1226// .setGreen(green / denominator) 1227// .setBlue(blue / denominator); 1228// int alpha = color.getAlpha(); 1229// if (alpha != 255) { 1230// result.setAlpha( 1231// FloatValue 1232// .newBuilder() 1233// .setValue(((float) alpha) / denominator) 1234// .build()); 1235// } 1236// return resultBuilder.build(); 1237// } 1238// // ... 1239// 1240// Example (iOS / Obj-C): 1241// 1242// // ... 1243// static UIColor* fromProto(Color* protocolor) { 1244// float red = [protocolor red]; 1245// float green = [protocolor green]; 1246// float blue = [protocolor blue]; 1247// FloatValue* alpha_wrapper = [protocolor alpha]; 1248// float alpha = 1.0; 1249// if (alpha_wrapper != nil) { 1250// alpha = [alpha_wrapper value]; 1251// } 1252// return [UIColor colorWithRed:red green:green blue:blue 1253// alpha:alpha]; 1254// } 1255// 1256// static Color* toProto(UIColor* color) { 1257// CGFloat red, green, blue, alpha; 1258// if (![color getRed:&red green:&green blue:&blue 1259// alpha:&alpha]) { 1260// return nil; 1261// } 1262// Color* result = [[Color alloc] init]; 1263// [result setRed:red]; 1264// [result setGreen:green]; 1265// [result setBlue:blue]; 1266// if (alpha <= 0.9999) { 1267// [result setAlpha:floatWrapperWithValue(alpha)]; 1268// } 1269// [result autorelease]; 1270// return result; 1271// } 1272// // ... 1273// 1274// Example (JavaScript): 1275// 1276// // ... 1277// 1278// var protoToCssColor = function(rgb_color) { 1279// var redFrac = rgb_color.red || 0.0; 1280// var greenFrac = rgb_color.green || 0.0; 1281// var blueFrac = rgb_color.blue || 0.0; 1282// var red = Math.floor(redFrac * 255); 1283// var green = Math.floor(greenFrac * 255); 1284// var blue = Math.floor(blueFrac * 255); 1285// 1286// if (!('alpha' in rgb_color)) { 1287// return rgbToCssColor_(red, green, blue); 1288// } 1289// 1290// var alphaFrac = rgb_color.alpha.value || 0.0; 1291// var rgbParams = [red, green, blue].join(','); 1292// return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); 1293// }; 1294// 1295// var rgbToCssColor_ = function(red, green, blue) { 1296// var rgbNumber = new Number((red << 16) | (green << 8) | blue); 1297// var hexString = rgbNumber.toString(16); 1298// var missingZeros = 6 - hexString.length; 1299// var resultBuilder = ['#']; 1300// for (var i = 0; i < missingZeros; i++) { 1301// resultBuilder.push('0'); 1302// } 1303// resultBuilder.push(hexString); 1304// return resultBuilder.join(''); 1305// }; 1306// 1307// // ... 1308type Color struct { 1309 // Alpha: The fraction of this color that should be applied to the 1310 // pixel. That is, 1311 // the final pixel color is defined by the equation: 1312 // 1313 // pixel color = alpha * (this color) + (1.0 - alpha) * (background 1314 // color) 1315 // 1316 // This means that a value of 1.0 corresponds to a solid color, 1317 // whereas 1318 // a value of 0.0 corresponds to a completely transparent color. 1319 // This 1320 // uses a wrapper message rather than a simple float scalar so that it 1321 // is 1322 // possible to distinguish between a default value and the value being 1323 // unset. 1324 // If omitted, this color object is to be rendered as a solid color 1325 // (as if the alpha value had been explicitly given with a value of 1326 // 1.0). 1327 Alpha float64 `json:"alpha,omitempty"` 1328 1329 // Blue: The amount of blue in the color as a value in the interval [0, 1330 // 1]. 1331 Blue float64 `json:"blue,omitempty"` 1332 1333 // Green: The amount of green in the color as a value in the interval 1334 // [0, 1]. 1335 Green float64 `json:"green,omitempty"` 1336 1337 // Red: The amount of red in the color as a value in the interval [0, 1338 // 1]. 1339 Red float64 `json:"red,omitempty"` 1340 1341 // ForceSendFields is a list of field names (e.g. "Alpha") to 1342 // unconditionally include in API requests. By default, fields with 1343 // empty values are omitted from API requests. However, any non-pointer, 1344 // non-interface field appearing in ForceSendFields will be sent to the 1345 // server regardless of whether the field is empty or not. This may be 1346 // used to include empty fields in Patch requests. 1347 ForceSendFields []string `json:"-"` 1348 1349 // NullFields is a list of field names (e.g. "Alpha") to include in API 1350 // requests with the JSON null value. By default, fields with empty 1351 // values are omitted from API requests. However, any field with an 1352 // empty value appearing in NullFields will be sent to the server as 1353 // null. It is an error if a field in this list has a non-empty value. 1354 // This may be used to include null fields in Patch requests. 1355 NullFields []string `json:"-"` 1356} 1357 1358func (s *Color) MarshalJSON() ([]byte, error) { 1359 type NoMethod Color 1360 raw := NoMethod(*s) 1361 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1362} 1363 1364func (s *Color) UnmarshalJSON(data []byte) error { 1365 type NoMethod Color 1366 var s1 struct { 1367 Alpha gensupport.JSONFloat64 `json:"alpha"` 1368 Blue gensupport.JSONFloat64 `json:"blue"` 1369 Green gensupport.JSONFloat64 `json:"green"` 1370 Red gensupport.JSONFloat64 `json:"red"` 1371 *NoMethod 1372 } 1373 s1.NoMethod = (*NoMethod)(s) 1374 if err := json.Unmarshal(data, &s1); err != nil { 1375 return err 1376 } 1377 s.Alpha = float64(s1.Alpha) 1378 s.Blue = float64(s1.Blue) 1379 s.Green = float64(s1.Green) 1380 s.Red = float64(s1.Red) 1381 return nil 1382} 1383 1384// ColorInfo: Color information consists of RGB channels, score, and the 1385// fraction of 1386// the image that the color occupies in the image. 1387type ColorInfo struct { 1388 // Color: RGB components of the color. 1389 Color *Color `json:"color,omitempty"` 1390 1391 // PixelFraction: The fraction of pixels the color occupies in the 1392 // image. 1393 // Value in range [0, 1]. 1394 PixelFraction float64 `json:"pixelFraction,omitempty"` 1395 1396 // Score: Image-specific score for this color. Value in range [0, 1]. 1397 Score float64 `json:"score,omitempty"` 1398 1399 // ForceSendFields is a list of field names (e.g. "Color") to 1400 // unconditionally include in API requests. By default, fields with 1401 // empty values are omitted from API requests. However, any non-pointer, 1402 // non-interface field appearing in ForceSendFields will be sent to the 1403 // server regardless of whether the field is empty or not. This may be 1404 // used to include empty fields in Patch requests. 1405 ForceSendFields []string `json:"-"` 1406 1407 // NullFields is a list of field names (e.g. "Color") to include in API 1408 // requests with the JSON null value. By default, fields with empty 1409 // values are omitted from API requests. However, any field with an 1410 // empty value appearing in NullFields will be sent to the server as 1411 // null. It is an error if a field in this list has a non-empty value. 1412 // This may be used to include null fields in Patch requests. 1413 NullFields []string `json:"-"` 1414} 1415 1416func (s *ColorInfo) MarshalJSON() ([]byte, error) { 1417 type NoMethod ColorInfo 1418 raw := NoMethod(*s) 1419 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1420} 1421 1422func (s *ColorInfo) UnmarshalJSON(data []byte) error { 1423 type NoMethod ColorInfo 1424 var s1 struct { 1425 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 1426 Score gensupport.JSONFloat64 `json:"score"` 1427 *NoMethod 1428 } 1429 s1.NoMethod = (*NoMethod)(s) 1430 if err := json.Unmarshal(data, &s1); err != nil { 1431 return err 1432 } 1433 s.PixelFraction = float64(s1.PixelFraction) 1434 s.Score = float64(s1.Score) 1435 return nil 1436} 1437 1438// CropHint: Single crop hint that is used to generate a new crop when 1439// serving an image. 1440type CropHint struct { 1441 // BoundingPoly: The bounding polygon for the crop region. The 1442 // coordinates of the bounding 1443 // box are in the original image's scale. 1444 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1445 1446 // Confidence: Confidence of this being a salient region. Range [0, 1]. 1447 Confidence float64 `json:"confidence,omitempty"` 1448 1449 // ImportanceFraction: Fraction of importance of this salient region 1450 // with respect to the original 1451 // image. 1452 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 1453 1454 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1455 // unconditionally include in API requests. By default, fields with 1456 // empty values are omitted from API requests. However, any non-pointer, 1457 // non-interface field appearing in ForceSendFields will be sent to the 1458 // server regardless of whether the field is empty or not. This may be 1459 // used to include empty fields in Patch requests. 1460 ForceSendFields []string `json:"-"` 1461 1462 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1463 // in API requests with the JSON null value. By default, fields with 1464 // empty values are omitted from API requests. However, any field with 1465 // an empty value appearing in NullFields will be sent to the server as 1466 // null. It is an error if a field in this list has a non-empty value. 1467 // This may be used to include null fields in Patch requests. 1468 NullFields []string `json:"-"` 1469} 1470 1471func (s *CropHint) MarshalJSON() ([]byte, error) { 1472 type NoMethod CropHint 1473 raw := NoMethod(*s) 1474 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1475} 1476 1477func (s *CropHint) UnmarshalJSON(data []byte) error { 1478 type NoMethod CropHint 1479 var s1 struct { 1480 Confidence gensupport.JSONFloat64 `json:"confidence"` 1481 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 1482 *NoMethod 1483 } 1484 s1.NoMethod = (*NoMethod)(s) 1485 if err := json.Unmarshal(data, &s1); err != nil { 1486 return err 1487 } 1488 s.Confidence = float64(s1.Confidence) 1489 s.ImportanceFraction = float64(s1.ImportanceFraction) 1490 return nil 1491} 1492 1493// CropHintsAnnotation: Set of crop hints that are used to generate new 1494// crops when serving images. 1495type CropHintsAnnotation struct { 1496 // CropHints: Crop hint results. 1497 CropHints []*CropHint `json:"cropHints,omitempty"` 1498 1499 // ForceSendFields is a list of field names (e.g. "CropHints") to 1500 // unconditionally include in API requests. By default, fields with 1501 // empty values are omitted from API requests. However, any non-pointer, 1502 // non-interface field appearing in ForceSendFields will be sent to the 1503 // server regardless of whether the field is empty or not. This may be 1504 // used to include empty fields in Patch requests. 1505 ForceSendFields []string `json:"-"` 1506 1507 // NullFields is a list of field names (e.g. "CropHints") to include in 1508 // API requests with the JSON null value. By default, fields with empty 1509 // values are omitted from API requests. However, any field with an 1510 // empty value appearing in NullFields will be sent to the server as 1511 // null. It is an error if a field in this list has a non-empty value. 1512 // This may be used to include null fields in Patch requests. 1513 NullFields []string `json:"-"` 1514} 1515 1516func (s *CropHintsAnnotation) MarshalJSON() ([]byte, error) { 1517 type NoMethod CropHintsAnnotation 1518 raw := NoMethod(*s) 1519 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1520} 1521 1522// CropHintsParams: Parameters for crop hints annotation request. 1523type CropHintsParams struct { 1524 // AspectRatios: Aspect ratios in floats, representing the ratio of the 1525 // width to the height 1526 // of the image. For example, if the desired aspect ratio is 4/3, 1527 // the 1528 // corresponding float value should be 1.33333. If not specified, 1529 // the 1530 // best possible crop is returned. The number of provided aspect ratios 1531 // is 1532 // limited to a maximum of 16; any aspect ratios provided after the 16th 1533 // are 1534 // ignored. 1535 AspectRatios []float64 `json:"aspectRatios,omitempty"` 1536 1537 // ForceSendFields is a list of field names (e.g. "AspectRatios") to 1538 // unconditionally include in API requests. By default, fields with 1539 // empty values are omitted from API requests. However, any non-pointer, 1540 // non-interface field appearing in ForceSendFields will be sent to the 1541 // server regardless of whether the field is empty or not. This may be 1542 // used to include empty fields in Patch requests. 1543 ForceSendFields []string `json:"-"` 1544 1545 // NullFields is a list of field names (e.g. "AspectRatios") to include 1546 // in API requests with the JSON null value. By default, fields with 1547 // empty values are omitted from API requests. However, any field with 1548 // an empty value appearing in NullFields will be sent to the server as 1549 // null. It is an error if a field in this list has a non-empty value. 1550 // This may be used to include null fields in Patch requests. 1551 NullFields []string `json:"-"` 1552} 1553 1554func (s *CropHintsParams) MarshalJSON() ([]byte, error) { 1555 type NoMethod CropHintsParams 1556 raw := NoMethod(*s) 1557 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1558} 1559 1560// DetectedBreak: Detected start or end of a structural component. 1561type DetectedBreak struct { 1562 // IsPrefix: True if break prepends the element. 1563 IsPrefix bool `json:"isPrefix,omitempty"` 1564 1565 // Type: Detected break type. 1566 // 1567 // Possible values: 1568 // "UNKNOWN" - Unknown break label type. 1569 // "SPACE" - Regular space. 1570 // "SURE_SPACE" - Sure space (very wide). 1571 // "EOL_SURE_SPACE" - Line-wrapping break. 1572 // "HYPHEN" - End-line hyphen that is not present in text; does not 1573 // co-occur with 1574 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 1575 // "LINE_BREAK" - Line break that ends a paragraph. 1576 Type string `json:"type,omitempty"` 1577 1578 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 1579 // unconditionally include in API requests. By default, fields with 1580 // empty values are omitted from API requests. However, any non-pointer, 1581 // non-interface field appearing in ForceSendFields will be sent to the 1582 // server regardless of whether the field is empty or not. This may be 1583 // used to include empty fields in Patch requests. 1584 ForceSendFields []string `json:"-"` 1585 1586 // NullFields is a list of field names (e.g. "IsPrefix") to include in 1587 // API requests with the JSON null value. By default, fields with empty 1588 // values are omitted from API requests. However, any field with an 1589 // empty value appearing in NullFields will be sent to the server as 1590 // null. It is an error if a field in this list has a non-empty value. 1591 // This may be used to include null fields in Patch requests. 1592 NullFields []string `json:"-"` 1593} 1594 1595func (s *DetectedBreak) MarshalJSON() ([]byte, error) { 1596 type NoMethod DetectedBreak 1597 raw := NoMethod(*s) 1598 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1599} 1600 1601// DetectedLanguage: Detected language for a structural component. 1602type DetectedLanguage struct { 1603 // Confidence: Confidence of detected language. Range [0, 1]. 1604 Confidence float64 `json:"confidence,omitempty"` 1605 1606 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 1607 // For more 1608 // information, 1609 // see 1610 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 1611 LanguageCode string `json:"languageCode,omitempty"` 1612 1613 // ForceSendFields is a list of field names (e.g. "Confidence") to 1614 // unconditionally include in API requests. By default, fields with 1615 // empty values are omitted from API requests. However, any non-pointer, 1616 // non-interface field appearing in ForceSendFields will be sent to the 1617 // server regardless of whether the field is empty or not. This may be 1618 // used to include empty fields in Patch requests. 1619 ForceSendFields []string `json:"-"` 1620 1621 // NullFields is a list of field names (e.g. "Confidence") to include in 1622 // API requests with the JSON null value. By default, fields with empty 1623 // values are omitted from API requests. However, any field with an 1624 // empty value appearing in NullFields will be sent to the server as 1625 // null. It is an error if a field in this list has a non-empty value. 1626 // This may be used to include null fields in Patch requests. 1627 NullFields []string `json:"-"` 1628} 1629 1630func (s *DetectedLanguage) MarshalJSON() ([]byte, error) { 1631 type NoMethod DetectedLanguage 1632 raw := NoMethod(*s) 1633 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1634} 1635 1636func (s *DetectedLanguage) UnmarshalJSON(data []byte) error { 1637 type NoMethod DetectedLanguage 1638 var s1 struct { 1639 Confidence gensupport.JSONFloat64 `json:"confidence"` 1640 *NoMethod 1641 } 1642 s1.NoMethod = (*NoMethod)(s) 1643 if err := json.Unmarshal(data, &s1); err != nil { 1644 return err 1645 } 1646 s.Confidence = float64(s1.Confidence) 1647 return nil 1648} 1649 1650// DominantColorsAnnotation: Set of dominant colors and their 1651// corresponding scores. 1652type DominantColorsAnnotation struct { 1653 // Colors: RGB color values with their score and pixel fraction. 1654 Colors []*ColorInfo `json:"colors,omitempty"` 1655 1656 // ForceSendFields is a list of field names (e.g. "Colors") to 1657 // unconditionally include in API requests. By default, fields with 1658 // empty values are omitted from API requests. However, any non-pointer, 1659 // non-interface field appearing in ForceSendFields will be sent to the 1660 // server regardless of whether the field is empty or not. This may be 1661 // used to include empty fields in Patch requests. 1662 ForceSendFields []string `json:"-"` 1663 1664 // NullFields is a list of field names (e.g. "Colors") to include in API 1665 // requests with the JSON null value. By default, fields with empty 1666 // values are omitted from API requests. However, any field with an 1667 // empty value appearing in NullFields will be sent to the server as 1668 // null. It is an error if a field in this list has a non-empty value. 1669 // This may be used to include null fields in Patch requests. 1670 NullFields []string `json:"-"` 1671} 1672 1673func (s *DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 1674 type NoMethod DominantColorsAnnotation 1675 raw := NoMethod(*s) 1676 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1677} 1678 1679// Empty: A generic empty message that you can re-use to avoid defining 1680// duplicated 1681// empty messages in your APIs. A typical example is to use it as the 1682// request 1683// or the response type of an API method. For instance: 1684// 1685// service Foo { 1686// rpc Bar(google.protobuf.Empty) returns 1687// (google.protobuf.Empty); 1688// } 1689// 1690// The JSON representation for `Empty` is empty JSON object `{}`. 1691type Empty struct { 1692 // ServerResponse contains the HTTP response code and headers from the 1693 // server. 1694 googleapi.ServerResponse `json:"-"` 1695} 1696 1697// EntityAnnotation: Set of detected entity features. 1698type EntityAnnotation struct { 1699 // BoundingPoly: Image region to which this entity belongs. Not 1700 // produced 1701 // for `LABEL_DETECTION` features. 1702 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1703 1704 // Confidence: **Deprecated. Use `score` instead.** 1705 // The accuracy of the entity detection in an image. 1706 // For example, for an image in which the "Eiffel Tower" entity is 1707 // detected, 1708 // this field represents the confidence that there is a tower in the 1709 // query 1710 // image. Range [0, 1]. 1711 Confidence float64 `json:"confidence,omitempty"` 1712 1713 // Description: Entity textual description, expressed in its `locale` 1714 // language. 1715 Description string `json:"description,omitempty"` 1716 1717 // Locale: The language code for the locale in which the entity 1718 // textual 1719 // `description` is expressed. 1720 Locale string `json:"locale,omitempty"` 1721 1722 // Locations: The location information for the detected entity. 1723 // Multiple 1724 // `LocationInfo` elements can be present because one location 1725 // may 1726 // indicate the location of the scene in the image, and another 1727 // location 1728 // may indicate the location of the place where the image was 1729 // taken. 1730 // Location information is usually present for landmarks. 1731 Locations []*LocationInfo `json:"locations,omitempty"` 1732 1733 // Mid: Opaque entity ID. Some IDs may be available in 1734 // [Google Knowledge Graph 1735 // Search 1736 // API](https://developers.google.com/knowledge-graph/). 1737 Mid string `json:"mid,omitempty"` 1738 1739 // Properties: Some entities may have optional user-supplied `Property` 1740 // (name/value) 1741 // fields, such a score or string that qualifies the entity. 1742 Properties []*Property `json:"properties,omitempty"` 1743 1744 // Score: Overall score of the result. Range [0, 1]. 1745 Score float64 `json:"score,omitempty"` 1746 1747 // Topicality: The relevancy of the ICA (Image Content Annotation) label 1748 // to the 1749 // image. For example, the relevancy of "tower" is likely higher to an 1750 // image 1751 // containing the detected "Eiffel Tower" than to an image containing 1752 // a 1753 // detected distant towering building, even though the confidence 1754 // that 1755 // there is a tower in each image may be the same. Range [0, 1]. 1756 Topicality float64 `json:"topicality,omitempty"` 1757 1758 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1759 // unconditionally include in API requests. By default, fields with 1760 // empty values are omitted from API requests. However, any non-pointer, 1761 // non-interface field appearing in ForceSendFields will be sent to the 1762 // server regardless of whether the field is empty or not. This may be 1763 // used to include empty fields in Patch requests. 1764 ForceSendFields []string `json:"-"` 1765 1766 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1767 // in API requests with the JSON null value. By default, fields with 1768 // empty values are omitted from API requests. However, any field with 1769 // an empty value appearing in NullFields will be sent to the server as 1770 // null. It is an error if a field in this list has a non-empty value. 1771 // This may be used to include null fields in Patch requests. 1772 NullFields []string `json:"-"` 1773} 1774 1775func (s *EntityAnnotation) MarshalJSON() ([]byte, error) { 1776 type NoMethod EntityAnnotation 1777 raw := NoMethod(*s) 1778 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1779} 1780 1781func (s *EntityAnnotation) UnmarshalJSON(data []byte) error { 1782 type NoMethod EntityAnnotation 1783 var s1 struct { 1784 Confidence gensupport.JSONFloat64 `json:"confidence"` 1785 Score gensupport.JSONFloat64 `json:"score"` 1786 Topicality gensupport.JSONFloat64 `json:"topicality"` 1787 *NoMethod 1788 } 1789 s1.NoMethod = (*NoMethod)(s) 1790 if err := json.Unmarshal(data, &s1); err != nil { 1791 return err 1792 } 1793 s.Confidence = float64(s1.Confidence) 1794 s.Score = float64(s1.Score) 1795 s.Topicality = float64(s1.Topicality) 1796 return nil 1797} 1798 1799// FaceAnnotation: A face annotation object contains the results of face 1800// detection. 1801type FaceAnnotation struct { 1802 // AngerLikelihood: Anger likelihood. 1803 // 1804 // Possible values: 1805 // "UNKNOWN" - Unknown likelihood. 1806 // "VERY_UNLIKELY" - It is very unlikely. 1807 // "UNLIKELY" - It is unlikely. 1808 // "POSSIBLE" - It is possible. 1809 // "LIKELY" - It is likely. 1810 // "VERY_LIKELY" - It is very likely. 1811 AngerLikelihood string `json:"angerLikelihood,omitempty"` 1812 1813 // BlurredLikelihood: Blurred likelihood. 1814 // 1815 // Possible values: 1816 // "UNKNOWN" - Unknown likelihood. 1817 // "VERY_UNLIKELY" - It is very unlikely. 1818 // "UNLIKELY" - It is unlikely. 1819 // "POSSIBLE" - It is possible. 1820 // "LIKELY" - It is likely. 1821 // "VERY_LIKELY" - It is very likely. 1822 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 1823 1824 // BoundingPoly: The bounding polygon around the face. The coordinates 1825 // of the bounding box 1826 // are in the original image's scale. 1827 // The bounding box is computed to "frame" the face in accordance with 1828 // human 1829 // expectations. It is based on the landmarker results. 1830 // Note that one or more x and/or y coordinates may not be generated in 1831 // the 1832 // `BoundingPoly` (the polygon will be unbounded) if only a partial 1833 // face 1834 // appears in the image to be annotated. 1835 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1836 1837 // DetectionConfidence: Detection confidence. Range [0, 1]. 1838 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 1839 1840 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 1841 // than the 1842 // `boundingPoly`, and encloses only the skin part of the face. 1843 // Typically, it 1844 // is used to eliminate the face from any image analysis that detects 1845 // the 1846 // "amount of skin" visible in an image. It is not based on 1847 // the 1848 // landmarker results, only on the initial face detection, hence 1849 // the <code>fd</code> (face detection) prefix. 1850 FdBoundingPoly *BoundingPoly `json:"fdBoundingPoly,omitempty"` 1851 1852 // HeadwearLikelihood: Headwear likelihood. 1853 // 1854 // Possible values: 1855 // "UNKNOWN" - Unknown likelihood. 1856 // "VERY_UNLIKELY" - It is very unlikely. 1857 // "UNLIKELY" - It is unlikely. 1858 // "POSSIBLE" - It is possible. 1859 // "LIKELY" - It is likely. 1860 // "VERY_LIKELY" - It is very likely. 1861 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 1862 1863 // JoyLikelihood: Joy likelihood. 1864 // 1865 // Possible values: 1866 // "UNKNOWN" - Unknown likelihood. 1867 // "VERY_UNLIKELY" - It is very unlikely. 1868 // "UNLIKELY" - It is unlikely. 1869 // "POSSIBLE" - It is possible. 1870 // "LIKELY" - It is likely. 1871 // "VERY_LIKELY" - It is very likely. 1872 JoyLikelihood string `json:"joyLikelihood,omitempty"` 1873 1874 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 1875 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 1876 1877 // Landmarks: Detected face landmarks. 1878 Landmarks []*Landmark `json:"landmarks,omitempty"` 1879 1880 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 1881 // that the face is 1882 // pointing relative to the vertical plane perpendicular to the image. 1883 // Range 1884 // [-180,180]. 1885 PanAngle float64 `json:"panAngle,omitempty"` 1886 1887 // RollAngle: Roll angle, which indicates the amount of 1888 // clockwise/anti-clockwise rotation 1889 // of the face relative to the image vertical about the axis 1890 // perpendicular to 1891 // the face. Range [-180,180]. 1892 RollAngle float64 `json:"rollAngle,omitempty"` 1893 1894 // SorrowLikelihood: Sorrow likelihood. 1895 // 1896 // Possible values: 1897 // "UNKNOWN" - Unknown likelihood. 1898 // "VERY_UNLIKELY" - It is very unlikely. 1899 // "UNLIKELY" - It is unlikely. 1900 // "POSSIBLE" - It is possible. 1901 // "LIKELY" - It is likely. 1902 // "VERY_LIKELY" - It is very likely. 1903 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 1904 1905 // SurpriseLikelihood: Surprise likelihood. 1906 // 1907 // Possible values: 1908 // "UNKNOWN" - Unknown likelihood. 1909 // "VERY_UNLIKELY" - It is very unlikely. 1910 // "UNLIKELY" - It is unlikely. 1911 // "POSSIBLE" - It is possible. 1912 // "LIKELY" - It is likely. 1913 // "VERY_LIKELY" - It is very likely. 1914 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 1915 1916 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 1917 // that the face is 1918 // pointing relative to the image's horizontal plane. Range [-180,180]. 1919 TiltAngle float64 `json:"tiltAngle,omitempty"` 1920 1921 // UnderExposedLikelihood: Under-exposed likelihood. 1922 // 1923 // Possible values: 1924 // "UNKNOWN" - Unknown likelihood. 1925 // "VERY_UNLIKELY" - It is very unlikely. 1926 // "UNLIKELY" - It is unlikely. 1927 // "POSSIBLE" - It is possible. 1928 // "LIKELY" - It is likely. 1929 // "VERY_LIKELY" - It is very likely. 1930 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 1931 1932 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 1933 // unconditionally include in API requests. By default, fields with 1934 // empty values are omitted from API requests. However, any non-pointer, 1935 // non-interface field appearing in ForceSendFields will be sent to the 1936 // server regardless of whether the field is empty or not. This may be 1937 // used to include empty fields in Patch requests. 1938 ForceSendFields []string `json:"-"` 1939 1940 // NullFields is a list of field names (e.g. "AngerLikelihood") to 1941 // include in API requests with the JSON null value. By default, fields 1942 // with empty values are omitted from API requests. However, any field 1943 // with an empty value appearing in NullFields will be sent to the 1944 // server as null. It is an error if a field in this list has a 1945 // non-empty value. This may be used to include null fields in Patch 1946 // requests. 1947 NullFields []string `json:"-"` 1948} 1949 1950func (s *FaceAnnotation) MarshalJSON() ([]byte, error) { 1951 type NoMethod FaceAnnotation 1952 raw := NoMethod(*s) 1953 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1954} 1955 1956func (s *FaceAnnotation) UnmarshalJSON(data []byte) error { 1957 type NoMethod FaceAnnotation 1958 var s1 struct { 1959 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 1960 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 1961 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 1962 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 1963 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 1964 *NoMethod 1965 } 1966 s1.NoMethod = (*NoMethod)(s) 1967 if err := json.Unmarshal(data, &s1); err != nil { 1968 return err 1969 } 1970 s.DetectionConfidence = float64(s1.DetectionConfidence) 1971 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 1972 s.PanAngle = float64(s1.PanAngle) 1973 s.RollAngle = float64(s1.RollAngle) 1974 s.TiltAngle = float64(s1.TiltAngle) 1975 return nil 1976} 1977 1978// Feature: The type of Google Cloud Vision API detection to perform, 1979// and the maximum 1980// number of results to return for that type. Multiple `Feature` objects 1981// can 1982// be specified in the `features` list. 1983type Feature struct { 1984 // MaxResults: Maximum number of results of this type. Does not apply 1985 // to 1986 // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. 1987 MaxResults int64 `json:"maxResults,omitempty"` 1988 1989 // Model: Model to use for the feature. 1990 // Supported values: "builtin/stable" (the default if unset) 1991 // and 1992 // "builtin/latest". 1993 Model string `json:"model,omitempty"` 1994 1995 // Type: The feature type. 1996 // 1997 // Possible values: 1998 // "TYPE_UNSPECIFIED" - Unspecified feature type. 1999 // "FACE_DETECTION" - Run face detection. 2000 // "LANDMARK_DETECTION" - Run landmark detection. 2001 // "LOGO_DETECTION" - Run logo detection. 2002 // "LABEL_DETECTION" - Run label detection. 2003 // "TEXT_DETECTION" - Run text detection / optical character 2004 // recognition (OCR). Text detection 2005 // is optimized for areas of text within a larger image; if the image 2006 // is 2007 // a document, use `DOCUMENT_TEXT_DETECTION` instead. 2008 // "DOCUMENT_TEXT_DETECTION" - Run dense text document OCR. Takes 2009 // precedence when both 2010 // `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. 2011 // "SAFE_SEARCH_DETECTION" - Run Safe Search to detect potentially 2012 // unsafe 2013 // or undesirable content. 2014 // "IMAGE_PROPERTIES" - Compute a set of image properties, such as 2015 // the 2016 // image's dominant colors. 2017 // "CROP_HINTS" - Run crop hints. 2018 // "WEB_DETECTION" - Run web detection. 2019 // "PRODUCT_SEARCH" - Run Product Search. 2020 // "OBJECT_LOCALIZATION" - Run localizer for object detection. 2021 Type string `json:"type,omitempty"` 2022 2023 // ForceSendFields is a list of field names (e.g. "MaxResults") to 2024 // unconditionally include in API requests. By default, fields with 2025 // empty values are omitted from API requests. However, any non-pointer, 2026 // non-interface field appearing in ForceSendFields will be sent to the 2027 // server regardless of whether the field is empty or not. This may be 2028 // used to include empty fields in Patch requests. 2029 ForceSendFields []string `json:"-"` 2030 2031 // NullFields is a list of field names (e.g. "MaxResults") to include in 2032 // API requests with the JSON null value. By default, fields with empty 2033 // values are omitted from API requests. However, any field with an 2034 // empty value appearing in NullFields will be sent to the server as 2035 // null. It is an error if a field in this list has a non-empty value. 2036 // This may be used to include null fields in Patch requests. 2037 NullFields []string `json:"-"` 2038} 2039 2040func (s *Feature) MarshalJSON() ([]byte, error) { 2041 type NoMethod Feature 2042 raw := NoMethod(*s) 2043 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2044} 2045 2046// GcsDestination: The Google Cloud Storage location where the output 2047// will be written to. 2048type GcsDestination struct { 2049 // Uri: Google Cloud Storage URI prefix where the results will be 2050 // stored. Results 2051 // will be in JSON format and preceded by its corresponding input URI 2052 // prefix. 2053 // This field can either represent a gcs file prefix or gcs directory. 2054 // In 2055 // either case, the uri should be unique because in order to get all of 2056 // the 2057 // output files, you will need to do a wildcard gcs search on the uri 2058 // prefix 2059 // you provide. 2060 // 2061 // Examples: 2062 // 2063 // * File Prefix: gs://bucket-name/here/filenameprefix The output 2064 // files 2065 // will be created in gs://bucket-name/here/ and the names of the 2066 // output files will begin with "filenameprefix". 2067 // 2068 // * Directory Prefix: gs://bucket-name/some/location/ The output 2069 // files 2070 // will be created in gs://bucket-name/some/location/ and the names of 2071 // the 2072 // output files could be anything because there was no filename 2073 // prefix 2074 // specified. 2075 // 2076 // If multiple outputs, each response is still AnnotateFileResponse, 2077 // each of 2078 // which contains some subset of the full list of 2079 // AnnotateImageResponse. 2080 // Multiple outputs can happen if, for example, the output JSON is too 2081 // large 2082 // and overflows into multiple sharded files. 2083 Uri string `json:"uri,omitempty"` 2084 2085 // ForceSendFields is a list of field names (e.g. "Uri") to 2086 // unconditionally include in API requests. By default, fields with 2087 // empty values are omitted from API requests. However, any non-pointer, 2088 // non-interface field appearing in ForceSendFields will be sent to the 2089 // server regardless of whether the field is empty or not. This may be 2090 // used to include empty fields in Patch requests. 2091 ForceSendFields []string `json:"-"` 2092 2093 // NullFields is a list of field names (e.g. "Uri") to include in API 2094 // requests with the JSON null value. By default, fields with empty 2095 // values are omitted from API requests. However, any field with an 2096 // empty value appearing in NullFields will be sent to the server as 2097 // null. It is an error if a field in this list has a non-empty value. 2098 // This may be used to include null fields in Patch requests. 2099 NullFields []string `json:"-"` 2100} 2101 2102func (s *GcsDestination) MarshalJSON() ([]byte, error) { 2103 type NoMethod GcsDestination 2104 raw := NoMethod(*s) 2105 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2106} 2107 2108// GcsSource: The Google Cloud Storage location where the input will be 2109// read from. 2110type GcsSource struct { 2111 // Uri: Google Cloud Storage URI for the input file. This must only be 2112 // a 2113 // Google Cloud Storage object. Wildcards are not currently supported. 2114 Uri string `json:"uri,omitempty"` 2115 2116 // ForceSendFields is a list of field names (e.g. "Uri") to 2117 // unconditionally include in API requests. By default, fields with 2118 // empty values are omitted from API requests. However, any non-pointer, 2119 // non-interface field appearing in ForceSendFields will be sent to the 2120 // server regardless of whether the field is empty or not. This may be 2121 // used to include empty fields in Patch requests. 2122 ForceSendFields []string `json:"-"` 2123 2124 // NullFields is a list of field names (e.g. "Uri") to include in API 2125 // requests with the JSON null value. By default, fields with empty 2126 // values are omitted from API requests. However, any field with an 2127 // empty value appearing in NullFields will be sent to the server as 2128 // null. It is an error if a field in this list has a non-empty value. 2129 // This may be used to include null fields in Patch requests. 2130 NullFields []string `json:"-"` 2131} 2132 2133func (s *GcsSource) MarshalJSON() ([]byte, error) { 2134 type NoMethod GcsSource 2135 raw := NoMethod(*s) 2136 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2137} 2138 2139// GoogleCloudVisionV1p1beta1AnnotateFileResponse: Response to a single 2140// file annotation request. A file may contain one or more 2141// images, which individually have their own responses. 2142type GoogleCloudVisionV1p1beta1AnnotateFileResponse struct { 2143 // Error: If set, represents the error message for the failed request. 2144 // The 2145 // `responses` field will not be set in this case. 2146 Error *Status `json:"error,omitempty"` 2147 2148 // InputConfig: Information about the file for which this response is 2149 // generated. 2150 InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"` 2151 2152 // Responses: Individual responses to images found within the file. This 2153 // field will be 2154 // empty if the `error` field is set. 2155 Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"` 2156 2157 // TotalPages: This field gives the total number of pages in the file. 2158 TotalPages int64 `json:"totalPages,omitempty"` 2159 2160 // ForceSendFields is a list of field names (e.g. "Error") to 2161 // unconditionally include in API requests. By default, fields with 2162 // empty values are omitted from API requests. However, any non-pointer, 2163 // non-interface field appearing in ForceSendFields will be sent to the 2164 // server regardless of whether the field is empty or not. This may be 2165 // used to include empty fields in Patch requests. 2166 ForceSendFields []string `json:"-"` 2167 2168 // NullFields is a list of field names (e.g. "Error") to include in API 2169 // requests with the JSON null value. By default, fields with empty 2170 // values are omitted from API requests. However, any field with an 2171 // empty value appearing in NullFields will be sent to the server as 2172 // null. It is an error if a field in this list has a non-empty value. 2173 // This may be used to include null fields in Patch requests. 2174 NullFields []string `json:"-"` 2175} 2176 2177func (s *GoogleCloudVisionV1p1beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 2178 type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileResponse 2179 raw := NoMethod(*s) 2180 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2181} 2182 2183// GoogleCloudVisionV1p1beta1AnnotateImageResponse: Response to an image 2184// annotation request. 2185type GoogleCloudVisionV1p1beta1AnnotateImageResponse struct { 2186 // Context: If present, contextual information is needed to understand 2187 // where this image 2188 // comes from. 2189 Context *GoogleCloudVisionV1p1beta1ImageAnnotationContext `json:"context,omitempty"` 2190 2191 // CropHintsAnnotation: If present, crop hints have completed 2192 // successfully. 2193 CropHintsAnnotation *GoogleCloudVisionV1p1beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 2194 2195 // Error: If set, represents the error message for the operation. 2196 // Note that filled-in image annotations are guaranteed to be 2197 // correct, even when `error` is set. 2198 Error *Status `json:"error,omitempty"` 2199 2200 // FaceAnnotations: If present, face detection has completed 2201 // successfully. 2202 FaceAnnotations []*GoogleCloudVisionV1p1beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 2203 2204 // FullTextAnnotation: If present, text (OCR) detection or document 2205 // (OCR) text detection has 2206 // completed successfully. 2207 // This annotation provides the structural hierarchy for the OCR 2208 // detected 2209 // text. 2210 FullTextAnnotation *GoogleCloudVisionV1p1beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 2211 2212 // ImagePropertiesAnnotation: If present, image properties were 2213 // extracted successfully. 2214 ImagePropertiesAnnotation *GoogleCloudVisionV1p1beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 2215 2216 // LabelAnnotations: If present, label detection has completed 2217 // successfully. 2218 LabelAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 2219 2220 // LandmarkAnnotations: If present, landmark detection has completed 2221 // successfully. 2222 LandmarkAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 2223 2224 // LocalizedObjectAnnotations: If present, localized object detection 2225 // has completed successfully. 2226 // This will be sorted descending by confidence score. 2227 LocalizedObjectAnnotations []*GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 2228 2229 // LogoAnnotations: If present, logo detection has completed 2230 // successfully. 2231 LogoAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 2232 2233 // ProductSearchResults: If present, product search has completed 2234 // successfully. 2235 ProductSearchResults *GoogleCloudVisionV1p1beta1ProductSearchResults `json:"productSearchResults,omitempty"` 2236 2237 // SafeSearchAnnotation: If present, safe-search annotation has 2238 // completed successfully. 2239 SafeSearchAnnotation *GoogleCloudVisionV1p1beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 2240 2241 // TextAnnotations: If present, text (OCR) detection has completed 2242 // successfully. 2243 TextAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"textAnnotations,omitempty"` 2244 2245 // WebDetection: If present, web detection has completed successfully. 2246 WebDetection *GoogleCloudVisionV1p1beta1WebDetection `json:"webDetection,omitempty"` 2247 2248 // ForceSendFields is a list of field names (e.g. "Context") to 2249 // unconditionally include in API requests. By default, fields with 2250 // empty values are omitted from API requests. However, any non-pointer, 2251 // non-interface field appearing in ForceSendFields will be sent to the 2252 // server regardless of whether the field is empty or not. This may be 2253 // used to include empty fields in Patch requests. 2254 ForceSendFields []string `json:"-"` 2255 2256 // NullFields is a list of field names (e.g. "Context") to include in 2257 // API requests with the JSON null value. By default, fields with empty 2258 // values are omitted from API requests. However, any field with an 2259 // empty value appearing in NullFields will be sent to the server as 2260 // null. It is an error if a field in this list has a non-empty value. 2261 // This may be used to include null fields in Patch requests. 2262 NullFields []string `json:"-"` 2263} 2264 2265func (s *GoogleCloudVisionV1p1beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 2266 type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageResponse 2267 raw := NoMethod(*s) 2268 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2269} 2270 2271// GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse: The response for 2272// a single offline file annotation request. 2273type GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse struct { 2274 // OutputConfig: The output location and metadata from 2275 // AsyncAnnotateFileRequest. 2276 OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"` 2277 2278 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 2279 // unconditionally include in API requests. By default, fields with 2280 // empty values are omitted from API requests. However, any non-pointer, 2281 // non-interface field appearing in ForceSendFields will be sent to the 2282 // server regardless of whether the field is empty or not. This may be 2283 // used to include empty fields in Patch requests. 2284 ForceSendFields []string `json:"-"` 2285 2286 // NullFields is a list of field names (e.g. "OutputConfig") to include 2287 // in API requests with the JSON null value. By default, fields with 2288 // empty values are omitted from API requests. However, any field with 2289 // an empty value appearing in NullFields will be sent to the server as 2290 // null. It is an error if a field in this list has a non-empty value. 2291 // This may be used to include null fields in Patch requests. 2292 NullFields []string `json:"-"` 2293} 2294 2295func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 2296 type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse 2297 raw := NoMethod(*s) 2298 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2299} 2300 2301// GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse: Response 2302// to an async batch file annotation request. 2303type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse struct { 2304 // Responses: The list of file annotation responses, one for each 2305 // request in 2306 // AsyncBatchAnnotateFilesRequest. 2307 Responses []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 2308 2309 // ForceSendFields is a list of field names (e.g. "Responses") to 2310 // unconditionally include in API requests. By default, fields with 2311 // empty values are omitted from API requests. However, any non-pointer, 2312 // non-interface field appearing in ForceSendFields will be sent to the 2313 // server regardless of whether the field is empty or not. This may be 2314 // used to include empty fields in Patch requests. 2315 ForceSendFields []string `json:"-"` 2316 2317 // NullFields is a list of field names (e.g. "Responses") to include in 2318 // API requests with the JSON null value. By default, fields with empty 2319 // values are omitted from API requests. However, any field with an 2320 // empty value appearing in NullFields will be sent to the server as 2321 // null. It is an error if a field in this list has a non-empty value. 2322 // This may be used to include null fields in Patch requests. 2323 NullFields []string `json:"-"` 2324} 2325 2326func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 2327 type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse 2328 raw := NoMethod(*s) 2329 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2330} 2331 2332// GoogleCloudVisionV1p1beta1Block: Logical element on the page. 2333type GoogleCloudVisionV1p1beta1Block struct { 2334 // BlockType: Detected block type (text, image etc) for this block. 2335 // 2336 // Possible values: 2337 // "UNKNOWN" - Unknown block type. 2338 // "TEXT" - Regular text block. 2339 // "TABLE" - Table block. 2340 // "PICTURE" - Image block. 2341 // "RULER" - Horizontal/vertical line box. 2342 // "BARCODE" - Barcode block. 2343 BlockType string `json:"blockType,omitempty"` 2344 2345 // BoundingBox: The bounding box for the block. 2346 // The vertices are in the order of top-left, top-right, 2347 // bottom-right, 2348 // bottom-left. When a rotation of the bounding box is detected the 2349 // rotation 2350 // is represented as around the top-left corner as defined when the text 2351 // is 2352 // read in the 'natural' orientation. 2353 // For example: 2354 // 2355 // * when the text is horizontal it might look like: 2356 // 2357 // 0----1 2358 // | | 2359 // 3----2 2360 // 2361 // * when it's rotated 180 degrees around the top-left corner it 2362 // becomes: 2363 // 2364 // 2----3 2365 // | | 2366 // 1----0 2367 // 2368 // and the vertex order will still be (0, 1, 2, 3). 2369 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 2370 2371 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 2372 Confidence float64 `json:"confidence,omitempty"` 2373 2374 // Paragraphs: List of paragraphs in this block (if this blocks is of 2375 // type text). 2376 Paragraphs []*GoogleCloudVisionV1p1beta1Paragraph `json:"paragraphs,omitempty"` 2377 2378 // Property: Additional information detected for the block. 2379 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 2380 2381 // ForceSendFields is a list of field names (e.g. "BlockType") to 2382 // unconditionally include in API requests. By default, fields with 2383 // empty values are omitted from API requests. However, any non-pointer, 2384 // non-interface field appearing in ForceSendFields will be sent to the 2385 // server regardless of whether the field is empty or not. This may be 2386 // used to include empty fields in Patch requests. 2387 ForceSendFields []string `json:"-"` 2388 2389 // NullFields is a list of field names (e.g. "BlockType") to include in 2390 // API requests with the JSON null value. By default, fields with empty 2391 // values are omitted from API requests. However, any field with an 2392 // empty value appearing in NullFields will be sent to the server as 2393 // null. It is an error if a field in this list has a non-empty value. 2394 // This may be used to include null fields in Patch requests. 2395 NullFields []string `json:"-"` 2396} 2397 2398func (s *GoogleCloudVisionV1p1beta1Block) MarshalJSON() ([]byte, error) { 2399 type NoMethod GoogleCloudVisionV1p1beta1Block 2400 raw := NoMethod(*s) 2401 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2402} 2403 2404func (s *GoogleCloudVisionV1p1beta1Block) UnmarshalJSON(data []byte) error { 2405 type NoMethod GoogleCloudVisionV1p1beta1Block 2406 var s1 struct { 2407 Confidence gensupport.JSONFloat64 `json:"confidence"` 2408 *NoMethod 2409 } 2410 s1.NoMethod = (*NoMethod)(s) 2411 if err := json.Unmarshal(data, &s1); err != nil { 2412 return err 2413 } 2414 s.Confidence = float64(s1.Confidence) 2415 return nil 2416} 2417 2418// GoogleCloudVisionV1p1beta1BoundingPoly: A bounding polygon for the 2419// detected image annotation. 2420type GoogleCloudVisionV1p1beta1BoundingPoly struct { 2421 // NormalizedVertices: The bounding polygon normalized vertices. 2422 NormalizedVertices []*GoogleCloudVisionV1p1beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 2423 2424 // Vertices: The bounding polygon vertices. 2425 Vertices []*GoogleCloudVisionV1p1beta1Vertex `json:"vertices,omitempty"` 2426 2427 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 2428 // to unconditionally include in API requests. By default, fields with 2429 // empty values are omitted from API requests. However, any non-pointer, 2430 // non-interface field appearing in ForceSendFields will be sent to the 2431 // server regardless of whether the field is empty or not. This may be 2432 // used to include empty fields in Patch requests. 2433 ForceSendFields []string `json:"-"` 2434 2435 // NullFields is a list of field names (e.g. "NormalizedVertices") to 2436 // include in API requests with the JSON null value. By default, fields 2437 // with empty values are omitted from API requests. However, any field 2438 // with an empty value appearing in NullFields will be sent to the 2439 // server as null. It is an error if a field in this list has a 2440 // non-empty value. This may be used to include null fields in Patch 2441 // requests. 2442 NullFields []string `json:"-"` 2443} 2444 2445func (s *GoogleCloudVisionV1p1beta1BoundingPoly) MarshalJSON() ([]byte, error) { 2446 type NoMethod GoogleCloudVisionV1p1beta1BoundingPoly 2447 raw := NoMethod(*s) 2448 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2449} 2450 2451// GoogleCloudVisionV1p1beta1ColorInfo: Color information consists of 2452// RGB channels, score, and the fraction of 2453// the image that the color occupies in the image. 2454type GoogleCloudVisionV1p1beta1ColorInfo struct { 2455 // Color: RGB components of the color. 2456 Color *Color `json:"color,omitempty"` 2457 2458 // PixelFraction: The fraction of pixels the color occupies in the 2459 // image. 2460 // Value in range [0, 1]. 2461 PixelFraction float64 `json:"pixelFraction,omitempty"` 2462 2463 // Score: Image-specific score for this color. Value in range [0, 1]. 2464 Score float64 `json:"score,omitempty"` 2465 2466 // ForceSendFields is a list of field names (e.g. "Color") to 2467 // unconditionally include in API requests. By default, fields with 2468 // empty values are omitted from API requests. However, any non-pointer, 2469 // non-interface field appearing in ForceSendFields will be sent to the 2470 // server regardless of whether the field is empty or not. This may be 2471 // used to include empty fields in Patch requests. 2472 ForceSendFields []string `json:"-"` 2473 2474 // NullFields is a list of field names (e.g. "Color") to include in API 2475 // requests with the JSON null value. By default, fields with empty 2476 // values are omitted from API requests. However, any field with an 2477 // empty value appearing in NullFields will be sent to the server as 2478 // null. It is an error if a field in this list has a non-empty value. 2479 // This may be used to include null fields in Patch requests. 2480 NullFields []string `json:"-"` 2481} 2482 2483func (s *GoogleCloudVisionV1p1beta1ColorInfo) MarshalJSON() ([]byte, error) { 2484 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 2485 raw := NoMethod(*s) 2486 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2487} 2488 2489func (s *GoogleCloudVisionV1p1beta1ColorInfo) UnmarshalJSON(data []byte) error { 2490 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 2491 var s1 struct { 2492 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 2493 Score gensupport.JSONFloat64 `json:"score"` 2494 *NoMethod 2495 } 2496 s1.NoMethod = (*NoMethod)(s) 2497 if err := json.Unmarshal(data, &s1); err != nil { 2498 return err 2499 } 2500 s.PixelFraction = float64(s1.PixelFraction) 2501 s.Score = float64(s1.Score) 2502 return nil 2503} 2504 2505// GoogleCloudVisionV1p1beta1CropHint: Single crop hint that is used to 2506// generate a new crop when serving an image. 2507type GoogleCloudVisionV1p1beta1CropHint struct { 2508 // BoundingPoly: The bounding polygon for the crop region. The 2509 // coordinates of the bounding 2510 // box are in the original image's scale. 2511 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2512 2513 // Confidence: Confidence of this being a salient region. Range [0, 1]. 2514 Confidence float64 `json:"confidence,omitempty"` 2515 2516 // ImportanceFraction: Fraction of importance of this salient region 2517 // with respect to the original 2518 // image. 2519 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 2520 2521 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2522 // unconditionally include in API requests. By default, fields with 2523 // empty values are omitted from API requests. However, any non-pointer, 2524 // non-interface field appearing in ForceSendFields will be sent to the 2525 // server regardless of whether the field is empty or not. This may be 2526 // used to include empty fields in Patch requests. 2527 ForceSendFields []string `json:"-"` 2528 2529 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2530 // in API requests with the JSON null value. By default, fields with 2531 // empty values are omitted from API requests. However, any field with 2532 // an empty value appearing in NullFields will be sent to the server as 2533 // null. It is an error if a field in this list has a non-empty value. 2534 // This may be used to include null fields in Patch requests. 2535 NullFields []string `json:"-"` 2536} 2537 2538func (s *GoogleCloudVisionV1p1beta1CropHint) MarshalJSON() ([]byte, error) { 2539 type NoMethod GoogleCloudVisionV1p1beta1CropHint 2540 raw := NoMethod(*s) 2541 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2542} 2543 2544func (s *GoogleCloudVisionV1p1beta1CropHint) UnmarshalJSON(data []byte) error { 2545 type NoMethod GoogleCloudVisionV1p1beta1CropHint 2546 var s1 struct { 2547 Confidence gensupport.JSONFloat64 `json:"confidence"` 2548 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 2549 *NoMethod 2550 } 2551 s1.NoMethod = (*NoMethod)(s) 2552 if err := json.Unmarshal(data, &s1); err != nil { 2553 return err 2554 } 2555 s.Confidence = float64(s1.Confidence) 2556 s.ImportanceFraction = float64(s1.ImportanceFraction) 2557 return nil 2558} 2559 2560// GoogleCloudVisionV1p1beta1CropHintsAnnotation: Set of crop hints that 2561// are used to generate new crops when serving images. 2562type GoogleCloudVisionV1p1beta1CropHintsAnnotation struct { 2563 // CropHints: Crop hint results. 2564 CropHints []*GoogleCloudVisionV1p1beta1CropHint `json:"cropHints,omitempty"` 2565 2566 // ForceSendFields is a list of field names (e.g. "CropHints") to 2567 // unconditionally include in API requests. By default, fields with 2568 // empty values are omitted from API requests. However, any non-pointer, 2569 // non-interface field appearing in ForceSendFields will be sent to the 2570 // server regardless of whether the field is empty or not. This may be 2571 // used to include empty fields in Patch requests. 2572 ForceSendFields []string `json:"-"` 2573 2574 // NullFields is a list of field names (e.g. "CropHints") to include in 2575 // API requests with the JSON null value. By default, fields with empty 2576 // values are omitted from API requests. However, any field with an 2577 // empty value appearing in NullFields will be sent to the server as 2578 // null. It is an error if a field in this list has a non-empty value. 2579 // This may be used to include null fields in Patch requests. 2580 NullFields []string `json:"-"` 2581} 2582 2583func (s *GoogleCloudVisionV1p1beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 2584 type NoMethod GoogleCloudVisionV1p1beta1CropHintsAnnotation 2585 raw := NoMethod(*s) 2586 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2587} 2588 2589// GoogleCloudVisionV1p1beta1DominantColorsAnnotation: Set of dominant 2590// colors and their corresponding scores. 2591type GoogleCloudVisionV1p1beta1DominantColorsAnnotation struct { 2592 // Colors: RGB color values with their score and pixel fraction. 2593 Colors []*GoogleCloudVisionV1p1beta1ColorInfo `json:"colors,omitempty"` 2594 2595 // ForceSendFields is a list of field names (e.g. "Colors") to 2596 // unconditionally include in API requests. By default, fields with 2597 // empty values are omitted from API requests. However, any non-pointer, 2598 // non-interface field appearing in ForceSendFields will be sent to the 2599 // server regardless of whether the field is empty or not. This may be 2600 // used to include empty fields in Patch requests. 2601 ForceSendFields []string `json:"-"` 2602 2603 // NullFields is a list of field names (e.g. "Colors") to include in API 2604 // requests with the JSON null value. By default, fields with empty 2605 // values are omitted from API requests. However, any field with an 2606 // empty value appearing in NullFields will be sent to the server as 2607 // null. It is an error if a field in this list has a non-empty value. 2608 // This may be used to include null fields in Patch requests. 2609 NullFields []string `json:"-"` 2610} 2611 2612func (s *GoogleCloudVisionV1p1beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 2613 type NoMethod GoogleCloudVisionV1p1beta1DominantColorsAnnotation 2614 raw := NoMethod(*s) 2615 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2616} 2617 2618// GoogleCloudVisionV1p1beta1EntityAnnotation: Set of detected entity 2619// features. 2620type GoogleCloudVisionV1p1beta1EntityAnnotation struct { 2621 // BoundingPoly: Image region to which this entity belongs. Not 2622 // produced 2623 // for `LABEL_DETECTION` features. 2624 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2625 2626 // Confidence: **Deprecated. Use `score` instead.** 2627 // The accuracy of the entity detection in an image. 2628 // For example, for an image in which the "Eiffel Tower" entity is 2629 // detected, 2630 // this field represents the confidence that there is a tower in the 2631 // query 2632 // image. Range [0, 1]. 2633 Confidence float64 `json:"confidence,omitempty"` 2634 2635 // Description: Entity textual description, expressed in its `locale` 2636 // language. 2637 Description string `json:"description,omitempty"` 2638 2639 // Locale: The language code for the locale in which the entity 2640 // textual 2641 // `description` is expressed. 2642 Locale string `json:"locale,omitempty"` 2643 2644 // Locations: The location information for the detected entity. 2645 // Multiple 2646 // `LocationInfo` elements can be present because one location 2647 // may 2648 // indicate the location of the scene in the image, and another 2649 // location 2650 // may indicate the location of the place where the image was 2651 // taken. 2652 // Location information is usually present for landmarks. 2653 Locations []*GoogleCloudVisionV1p1beta1LocationInfo `json:"locations,omitempty"` 2654 2655 // Mid: Opaque entity ID. Some IDs may be available in 2656 // [Google Knowledge Graph 2657 // Search 2658 // API](https://developers.google.com/knowledge-graph/). 2659 Mid string `json:"mid,omitempty"` 2660 2661 // Properties: Some entities may have optional user-supplied `Property` 2662 // (name/value) 2663 // fields, such a score or string that qualifies the entity. 2664 Properties []*GoogleCloudVisionV1p1beta1Property `json:"properties,omitempty"` 2665 2666 // Score: Overall score of the result. Range [0, 1]. 2667 Score float64 `json:"score,omitempty"` 2668 2669 // Topicality: The relevancy of the ICA (Image Content Annotation) label 2670 // to the 2671 // image. For example, the relevancy of "tower" is likely higher to an 2672 // image 2673 // containing the detected "Eiffel Tower" than to an image containing 2674 // a 2675 // detected distant towering building, even though the confidence 2676 // that 2677 // there is a tower in each image may be the same. Range [0, 1]. 2678 Topicality float64 `json:"topicality,omitempty"` 2679 2680 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2681 // unconditionally include in API requests. By default, fields with 2682 // empty values are omitted from API requests. However, any non-pointer, 2683 // non-interface field appearing in ForceSendFields will be sent to the 2684 // server regardless of whether the field is empty or not. This may be 2685 // used to include empty fields in Patch requests. 2686 ForceSendFields []string `json:"-"` 2687 2688 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2689 // in API requests with the JSON null value. By default, fields with 2690 // empty values are omitted from API requests. However, any field with 2691 // an empty value appearing in NullFields will be sent to the server as 2692 // null. It is an error if a field in this list has a non-empty value. 2693 // This may be used to include null fields in Patch requests. 2694 NullFields []string `json:"-"` 2695} 2696 2697func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 2698 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 2699 raw := NoMethod(*s) 2700 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2701} 2702 2703func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 2704 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 2705 var s1 struct { 2706 Confidence gensupport.JSONFloat64 `json:"confidence"` 2707 Score gensupport.JSONFloat64 `json:"score"` 2708 Topicality gensupport.JSONFloat64 `json:"topicality"` 2709 *NoMethod 2710 } 2711 s1.NoMethod = (*NoMethod)(s) 2712 if err := json.Unmarshal(data, &s1); err != nil { 2713 return err 2714 } 2715 s.Confidence = float64(s1.Confidence) 2716 s.Score = float64(s1.Score) 2717 s.Topicality = float64(s1.Topicality) 2718 return nil 2719} 2720 2721// GoogleCloudVisionV1p1beta1FaceAnnotation: A face annotation object 2722// contains the results of face detection. 2723type GoogleCloudVisionV1p1beta1FaceAnnotation struct { 2724 // AngerLikelihood: Anger likelihood. 2725 // 2726 // Possible values: 2727 // "UNKNOWN" - Unknown likelihood. 2728 // "VERY_UNLIKELY" - It is very unlikely. 2729 // "UNLIKELY" - It is unlikely. 2730 // "POSSIBLE" - It is possible. 2731 // "LIKELY" - It is likely. 2732 // "VERY_LIKELY" - It is very likely. 2733 AngerLikelihood string `json:"angerLikelihood,omitempty"` 2734 2735 // BlurredLikelihood: Blurred likelihood. 2736 // 2737 // Possible values: 2738 // "UNKNOWN" - Unknown likelihood. 2739 // "VERY_UNLIKELY" - It is very unlikely. 2740 // "UNLIKELY" - It is unlikely. 2741 // "POSSIBLE" - It is possible. 2742 // "LIKELY" - It is likely. 2743 // "VERY_LIKELY" - It is very likely. 2744 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 2745 2746 // BoundingPoly: The bounding polygon around the face. The coordinates 2747 // of the bounding box 2748 // are in the original image's scale. 2749 // The bounding box is computed to "frame" the face in accordance with 2750 // human 2751 // expectations. It is based on the landmarker results. 2752 // Note that one or more x and/or y coordinates may not be generated in 2753 // the 2754 // `BoundingPoly` (the polygon will be unbounded) if only a partial 2755 // face 2756 // appears in the image to be annotated. 2757 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2758 2759 // DetectionConfidence: Detection confidence. Range [0, 1]. 2760 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 2761 2762 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 2763 // than the 2764 // `boundingPoly`, and encloses only the skin part of the face. 2765 // Typically, it 2766 // is used to eliminate the face from any image analysis that detects 2767 // the 2768 // "amount of skin" visible in an image. It is not based on 2769 // the 2770 // landmarker results, only on the initial face detection, hence 2771 // the <code>fd</code> (face detection) prefix. 2772 FdBoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 2773 2774 // HeadwearLikelihood: Headwear likelihood. 2775 // 2776 // Possible values: 2777 // "UNKNOWN" - Unknown likelihood. 2778 // "VERY_UNLIKELY" - It is very unlikely. 2779 // "UNLIKELY" - It is unlikely. 2780 // "POSSIBLE" - It is possible. 2781 // "LIKELY" - It is likely. 2782 // "VERY_LIKELY" - It is very likely. 2783 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 2784 2785 // JoyLikelihood: Joy likelihood. 2786 // 2787 // Possible values: 2788 // "UNKNOWN" - Unknown likelihood. 2789 // "VERY_UNLIKELY" - It is very unlikely. 2790 // "UNLIKELY" - It is unlikely. 2791 // "POSSIBLE" - It is possible. 2792 // "LIKELY" - It is likely. 2793 // "VERY_LIKELY" - It is very likely. 2794 JoyLikelihood string `json:"joyLikelihood,omitempty"` 2795 2796 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 2797 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 2798 2799 // Landmarks: Detected face landmarks. 2800 Landmarks []*GoogleCloudVisionV1p1beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 2801 2802 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 2803 // that the face is 2804 // pointing relative to the vertical plane perpendicular to the image. 2805 // Range 2806 // [-180,180]. 2807 PanAngle float64 `json:"panAngle,omitempty"` 2808 2809 // RollAngle: Roll angle, which indicates the amount of 2810 // clockwise/anti-clockwise rotation 2811 // of the face relative to the image vertical about the axis 2812 // perpendicular to 2813 // the face. Range [-180,180]. 2814 RollAngle float64 `json:"rollAngle,omitempty"` 2815 2816 // SorrowLikelihood: Sorrow likelihood. 2817 // 2818 // Possible values: 2819 // "UNKNOWN" - Unknown likelihood. 2820 // "VERY_UNLIKELY" - It is very unlikely. 2821 // "UNLIKELY" - It is unlikely. 2822 // "POSSIBLE" - It is possible. 2823 // "LIKELY" - It is likely. 2824 // "VERY_LIKELY" - It is very likely. 2825 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 2826 2827 // SurpriseLikelihood: Surprise likelihood. 2828 // 2829 // Possible values: 2830 // "UNKNOWN" - Unknown likelihood. 2831 // "VERY_UNLIKELY" - It is very unlikely. 2832 // "UNLIKELY" - It is unlikely. 2833 // "POSSIBLE" - It is possible. 2834 // "LIKELY" - It is likely. 2835 // "VERY_LIKELY" - It is very likely. 2836 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 2837 2838 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 2839 // that the face is 2840 // pointing relative to the image's horizontal plane. Range [-180,180]. 2841 TiltAngle float64 `json:"tiltAngle,omitempty"` 2842 2843 // UnderExposedLikelihood: Under-exposed likelihood. 2844 // 2845 // Possible values: 2846 // "UNKNOWN" - Unknown likelihood. 2847 // "VERY_UNLIKELY" - It is very unlikely. 2848 // "UNLIKELY" - It is unlikely. 2849 // "POSSIBLE" - It is possible. 2850 // "LIKELY" - It is likely. 2851 // "VERY_LIKELY" - It is very likely. 2852 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 2853 2854 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 2855 // unconditionally include in API requests. By default, fields with 2856 // empty values are omitted from API requests. However, any non-pointer, 2857 // non-interface field appearing in ForceSendFields will be sent to the 2858 // server regardless of whether the field is empty or not. This may be 2859 // used to include empty fields in Patch requests. 2860 ForceSendFields []string `json:"-"` 2861 2862 // NullFields is a list of field names (e.g. "AngerLikelihood") to 2863 // include in API requests with the JSON null value. By default, fields 2864 // with empty values are omitted from API requests. However, any field 2865 // with an empty value appearing in NullFields will be sent to the 2866 // server as null. It is an error if a field in this list has a 2867 // non-empty value. This may be used to include null fields in Patch 2868 // requests. 2869 NullFields []string `json:"-"` 2870} 2871 2872func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 2873 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2874 raw := NoMethod(*s) 2875 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2876} 2877 2878func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 2879 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2880 var s1 struct { 2881 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 2882 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 2883 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 2884 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 2885 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 2886 *NoMethod 2887 } 2888 s1.NoMethod = (*NoMethod)(s) 2889 if err := json.Unmarshal(data, &s1); err != nil { 2890 return err 2891 } 2892 s.DetectionConfidence = float64(s1.DetectionConfidence) 2893 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 2894 s.PanAngle = float64(s1.PanAngle) 2895 s.RollAngle = float64(s1.RollAngle) 2896 s.TiltAngle = float64(s1.TiltAngle) 2897 return nil 2898} 2899 2900// GoogleCloudVisionV1p1beta1FaceAnnotationLandmark: A face-specific 2901// landmark (for example, a face feature). 2902type GoogleCloudVisionV1p1beta1FaceAnnotationLandmark struct { 2903 // Position: Face landmark position. 2904 Position *GoogleCloudVisionV1p1beta1Position `json:"position,omitempty"` 2905 2906 // Type: Face landmark type. 2907 // 2908 // Possible values: 2909 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 2910 // filled. 2911 // "LEFT_EYE" - Left eye. 2912 // "RIGHT_EYE" - Right eye. 2913 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 2914 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 2915 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 2916 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 2917 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 2918 // "NOSE_TIP" - Nose tip. 2919 // "UPPER_LIP" - Upper lip. 2920 // "LOWER_LIP" - Lower lip. 2921 // "MOUTH_LEFT" - Mouth left. 2922 // "MOUTH_RIGHT" - Mouth right. 2923 // "MOUTH_CENTER" - Mouth center. 2924 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 2925 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 2926 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 2927 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 2928 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 2929 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 2930 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 2931 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 2932 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 2933 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 2934 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 2935 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 2936 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 2937 // "LEFT_EAR_TRAGION" - Left ear tragion. 2938 // "RIGHT_EAR_TRAGION" - Right ear tragion. 2939 // "LEFT_EYE_PUPIL" - Left eye pupil. 2940 // "RIGHT_EYE_PUPIL" - Right eye pupil. 2941 // "FOREHEAD_GLABELLA" - Forehead glabella. 2942 // "CHIN_GNATHION" - Chin gnathion. 2943 // "CHIN_LEFT_GONION" - Chin left gonion. 2944 // "CHIN_RIGHT_GONION" - Chin right gonion. 2945 Type string `json:"type,omitempty"` 2946 2947 // ForceSendFields is a list of field names (e.g. "Position") to 2948 // unconditionally include in API requests. By default, fields with 2949 // empty values are omitted from API requests. However, any non-pointer, 2950 // non-interface field appearing in ForceSendFields will be sent to the 2951 // server regardless of whether the field is empty or not. This may be 2952 // used to include empty fields in Patch requests. 2953 ForceSendFields []string `json:"-"` 2954 2955 // NullFields is a list of field names (e.g. "Position") to include in 2956 // API requests with the JSON null value. By default, fields with empty 2957 // values are omitted from API requests. However, any field with an 2958 // empty value appearing in NullFields will be sent to the server as 2959 // null. It is an error if a field in this list has a non-empty value. 2960 // This may be used to include null fields in Patch requests. 2961 NullFields []string `json:"-"` 2962} 2963 2964func (s *GoogleCloudVisionV1p1beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 2965 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotationLandmark 2966 raw := NoMethod(*s) 2967 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2968} 2969 2970// GoogleCloudVisionV1p1beta1GcsDestination: The Google Cloud Storage 2971// location where the output will be written to. 2972type GoogleCloudVisionV1p1beta1GcsDestination struct { 2973 // Uri: Google Cloud Storage URI prefix where the results will be 2974 // stored. Results 2975 // will be in JSON format and preceded by its corresponding input URI 2976 // prefix. 2977 // This field can either represent a gcs file prefix or gcs directory. 2978 // In 2979 // either case, the uri should be unique because in order to get all of 2980 // the 2981 // output files, you will need to do a wildcard gcs search on the uri 2982 // prefix 2983 // you provide. 2984 // 2985 // Examples: 2986 // 2987 // * File Prefix: gs://bucket-name/here/filenameprefix The output 2988 // files 2989 // will be created in gs://bucket-name/here/ and the names of the 2990 // output files will begin with "filenameprefix". 2991 // 2992 // * Directory Prefix: gs://bucket-name/some/location/ The output 2993 // files 2994 // will be created in gs://bucket-name/some/location/ and the names of 2995 // the 2996 // output files could be anything because there was no filename 2997 // prefix 2998 // specified. 2999 // 3000 // If multiple outputs, each response is still AnnotateFileResponse, 3001 // each of 3002 // which contains some subset of the full list of 3003 // AnnotateImageResponse. 3004 // Multiple outputs can happen if, for example, the output JSON is too 3005 // large 3006 // and overflows into multiple sharded files. 3007 Uri string `json:"uri,omitempty"` 3008 3009 // ForceSendFields is a list of field names (e.g. "Uri") to 3010 // unconditionally include in API requests. By default, fields with 3011 // empty values are omitted from API requests. However, any non-pointer, 3012 // non-interface field appearing in ForceSendFields will be sent to the 3013 // server regardless of whether the field is empty or not. This may be 3014 // used to include empty fields in Patch requests. 3015 ForceSendFields []string `json:"-"` 3016 3017 // NullFields is a list of field names (e.g. "Uri") to include in API 3018 // requests with the JSON null value. By default, fields with empty 3019 // values are omitted from API requests. However, any field with an 3020 // empty value appearing in NullFields will be sent to the server as 3021 // null. It is an error if a field in this list has a non-empty value. 3022 // This may be used to include null fields in Patch requests. 3023 NullFields []string `json:"-"` 3024} 3025 3026func (s *GoogleCloudVisionV1p1beta1GcsDestination) MarshalJSON() ([]byte, error) { 3027 type NoMethod GoogleCloudVisionV1p1beta1GcsDestination 3028 raw := NoMethod(*s) 3029 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3030} 3031 3032// GoogleCloudVisionV1p1beta1GcsSource: The Google Cloud Storage 3033// location where the input will be read from. 3034type GoogleCloudVisionV1p1beta1GcsSource struct { 3035 // Uri: Google Cloud Storage URI for the input file. This must only be 3036 // a 3037 // Google Cloud Storage object. Wildcards are not currently supported. 3038 Uri string `json:"uri,omitempty"` 3039 3040 // ForceSendFields is a list of field names (e.g. "Uri") to 3041 // unconditionally include in API requests. By default, fields with 3042 // empty values are omitted from API requests. However, any non-pointer, 3043 // non-interface field appearing in ForceSendFields will be sent to the 3044 // server regardless of whether the field is empty or not. This may be 3045 // used to include empty fields in Patch requests. 3046 ForceSendFields []string `json:"-"` 3047 3048 // NullFields is a list of field names (e.g. "Uri") to include in API 3049 // requests with the JSON null value. By default, fields with empty 3050 // values are omitted from API requests. However, any field with an 3051 // empty value appearing in NullFields will be sent to the server as 3052 // null. It is an error if a field in this list has a non-empty value. 3053 // This may be used to include null fields in Patch requests. 3054 NullFields []string `json:"-"` 3055} 3056 3057func (s *GoogleCloudVisionV1p1beta1GcsSource) MarshalJSON() ([]byte, error) { 3058 type NoMethod GoogleCloudVisionV1p1beta1GcsSource 3059 raw := NoMethod(*s) 3060 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3061} 3062 3063// GoogleCloudVisionV1p1beta1ImageAnnotationContext: If an image was 3064// produced from a file (e.g. a PDF), this message gives 3065// information about the source of that image. 3066type GoogleCloudVisionV1p1beta1ImageAnnotationContext struct { 3067 // PageNumber: If the file was a PDF or TIFF, this field gives the page 3068 // number within 3069 // the file used to produce the image. 3070 PageNumber int64 `json:"pageNumber,omitempty"` 3071 3072 // Uri: The URI of the file used to produce the image. 3073 Uri string `json:"uri,omitempty"` 3074 3075 // ForceSendFields is a list of field names (e.g. "PageNumber") to 3076 // unconditionally include in API requests. By default, fields with 3077 // empty values are omitted from API requests. However, any non-pointer, 3078 // non-interface field appearing in ForceSendFields will be sent to the 3079 // server regardless of whether the field is empty or not. This may be 3080 // used to include empty fields in Patch requests. 3081 ForceSendFields []string `json:"-"` 3082 3083 // NullFields is a list of field names (e.g. "PageNumber") to include in 3084 // API requests with the JSON null value. By default, fields with empty 3085 // values are omitted from API requests. However, any field with an 3086 // empty value appearing in NullFields will be sent to the server as 3087 // null. It is an error if a field in this list has a non-empty value. 3088 // This may be used to include null fields in Patch requests. 3089 NullFields []string `json:"-"` 3090} 3091 3092func (s *GoogleCloudVisionV1p1beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 3093 type NoMethod GoogleCloudVisionV1p1beta1ImageAnnotationContext 3094 raw := NoMethod(*s) 3095 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3096} 3097 3098// GoogleCloudVisionV1p1beta1ImageProperties: Stores image properties, 3099// such as dominant colors. 3100type GoogleCloudVisionV1p1beta1ImageProperties struct { 3101 // DominantColors: If present, dominant colors completed successfully. 3102 DominantColors *GoogleCloudVisionV1p1beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 3103 3104 // ForceSendFields is a list of field names (e.g. "DominantColors") to 3105 // unconditionally include in API requests. By default, fields with 3106 // empty values are omitted from API requests. However, any non-pointer, 3107 // non-interface field appearing in ForceSendFields will be sent to the 3108 // server regardless of whether the field is empty or not. This may be 3109 // used to include empty fields in Patch requests. 3110 ForceSendFields []string `json:"-"` 3111 3112 // NullFields is a list of field names (e.g. "DominantColors") to 3113 // include in API requests with the JSON null value. By default, fields 3114 // with empty values are omitted from API requests. However, any field 3115 // with an empty value appearing in NullFields will be sent to the 3116 // server as null. It is an error if a field in this list has a 3117 // non-empty value. This may be used to include null fields in Patch 3118 // requests. 3119 NullFields []string `json:"-"` 3120} 3121 3122func (s *GoogleCloudVisionV1p1beta1ImageProperties) MarshalJSON() ([]byte, error) { 3123 type NoMethod GoogleCloudVisionV1p1beta1ImageProperties 3124 raw := NoMethod(*s) 3125 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3126} 3127 3128// GoogleCloudVisionV1p1beta1InputConfig: The desired input location and 3129// metadata. 3130type GoogleCloudVisionV1p1beta1InputConfig struct { 3131 // Content: File content, represented as a stream of bytes. 3132 // Note: As with all `bytes` fields, protobuffers use a pure 3133 // binary 3134 // representation, whereas JSON representations use base64. 3135 // 3136 // Currently, this field only works for BatchAnnotateFiles requests. It 3137 // does 3138 // not work for AsyncBatchAnnotateFiles requests. 3139 Content string `json:"content,omitempty"` 3140 3141 // GcsSource: The Google Cloud Storage location to read the input from. 3142 GcsSource *GoogleCloudVisionV1p1beta1GcsSource `json:"gcsSource,omitempty"` 3143 3144 // MimeType: The type of the file. Currently only "application/pdf", 3145 // "image/tiff" and 3146 // "image/gif" are supported. Wildcards are not supported. 3147 MimeType string `json:"mimeType,omitempty"` 3148 3149 // ForceSendFields is a list of field names (e.g. "Content") to 3150 // unconditionally include in API requests. By default, fields with 3151 // empty values are omitted from API requests. However, any non-pointer, 3152 // non-interface field appearing in ForceSendFields will be sent to the 3153 // server regardless of whether the field is empty or not. This may be 3154 // used to include empty fields in Patch requests. 3155 ForceSendFields []string `json:"-"` 3156 3157 // NullFields is a list of field names (e.g. "Content") to include in 3158 // API requests with the JSON null value. By default, fields with empty 3159 // values are omitted from API requests. However, any field with an 3160 // empty value appearing in NullFields will be sent to the server as 3161 // null. It is an error if a field in this list has a non-empty value. 3162 // This may be used to include null fields in Patch requests. 3163 NullFields []string `json:"-"` 3164} 3165 3166func (s *GoogleCloudVisionV1p1beta1InputConfig) MarshalJSON() ([]byte, error) { 3167 type NoMethod GoogleCloudVisionV1p1beta1InputConfig 3168 raw := NoMethod(*s) 3169 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3170} 3171 3172// GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation: Set of detected 3173// objects with bounding boxes. 3174type GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation struct { 3175 // BoundingPoly: Image region to which this object belongs. This must be 3176 // populated. 3177 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 3178 3179 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 3180 // For more 3181 // information, 3182 // see 3183 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3184 LanguageCode string `json:"languageCode,omitempty"` 3185 3186 // Mid: Object ID that should align with EntityAnnotation mid. 3187 Mid string `json:"mid,omitempty"` 3188 3189 // Name: Object name, expressed in its `language_code` language. 3190 Name string `json:"name,omitempty"` 3191 3192 // Score: Score of the result. Range [0, 1]. 3193 Score float64 `json:"score,omitempty"` 3194 3195 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 3196 // unconditionally include in API requests. By default, fields with 3197 // empty values are omitted from API requests. However, any non-pointer, 3198 // non-interface field appearing in ForceSendFields will be sent to the 3199 // server regardless of whether the field is empty or not. This may be 3200 // used to include empty fields in Patch requests. 3201 ForceSendFields []string `json:"-"` 3202 3203 // NullFields is a list of field names (e.g. "BoundingPoly") to include 3204 // in API requests with the JSON null value. By default, fields with 3205 // empty values are omitted from API requests. However, any field with 3206 // an empty value appearing in NullFields will be sent to the server as 3207 // null. It is an error if a field in this list has a non-empty value. 3208 // This may be used to include null fields in Patch requests. 3209 NullFields []string `json:"-"` 3210} 3211 3212func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 3213 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 3214 raw := NoMethod(*s) 3215 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3216} 3217 3218func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 3219 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 3220 var s1 struct { 3221 Score gensupport.JSONFloat64 `json:"score"` 3222 *NoMethod 3223 } 3224 s1.NoMethod = (*NoMethod)(s) 3225 if err := json.Unmarshal(data, &s1); err != nil { 3226 return err 3227 } 3228 s.Score = float64(s1.Score) 3229 return nil 3230} 3231 3232// GoogleCloudVisionV1p1beta1LocationInfo: Detected entity location 3233// information. 3234type GoogleCloudVisionV1p1beta1LocationInfo struct { 3235 // LatLng: lat/long location coordinates. 3236 LatLng *LatLng `json:"latLng,omitempty"` 3237 3238 // ForceSendFields is a list of field names (e.g. "LatLng") to 3239 // unconditionally include in API requests. By default, fields with 3240 // empty values are omitted from API requests. However, any non-pointer, 3241 // non-interface field appearing in ForceSendFields will be sent to the 3242 // server regardless of whether the field is empty or not. This may be 3243 // used to include empty fields in Patch requests. 3244 ForceSendFields []string `json:"-"` 3245 3246 // NullFields is a list of field names (e.g. "LatLng") to include in API 3247 // requests with the JSON null value. By default, fields with empty 3248 // values are omitted from API requests. However, any field with an 3249 // empty value appearing in NullFields will be sent to the server as 3250 // null. It is an error if a field in this list has a non-empty value. 3251 // This may be used to include null fields in Patch requests. 3252 NullFields []string `json:"-"` 3253} 3254 3255func (s *GoogleCloudVisionV1p1beta1LocationInfo) MarshalJSON() ([]byte, error) { 3256 type NoMethod GoogleCloudVisionV1p1beta1LocationInfo 3257 raw := NoMethod(*s) 3258 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3259} 3260 3261// GoogleCloudVisionV1p1beta1NormalizedVertex: A vertex represents a 2D 3262// point in the image. 3263// NOTE: the normalized vertex coordinates are relative to the original 3264// image 3265// and range from 0 to 1. 3266type GoogleCloudVisionV1p1beta1NormalizedVertex struct { 3267 // X: X coordinate. 3268 X float64 `json:"x,omitempty"` 3269 3270 // Y: Y coordinate. 3271 Y float64 `json:"y,omitempty"` 3272 3273 // ForceSendFields is a list of field names (e.g. "X") to 3274 // unconditionally include in API requests. By default, fields with 3275 // empty values are omitted from API requests. However, any non-pointer, 3276 // non-interface field appearing in ForceSendFields will be sent to the 3277 // server regardless of whether the field is empty or not. This may be 3278 // used to include empty fields in Patch requests. 3279 ForceSendFields []string `json:"-"` 3280 3281 // NullFields is a list of field names (e.g. "X") to include in API 3282 // requests with the JSON null value. By default, fields with empty 3283 // values are omitted from API requests. However, any field with an 3284 // empty value appearing in NullFields will be sent to the server as 3285 // null. It is an error if a field in this list has a non-empty value. 3286 // This may be used to include null fields in Patch requests. 3287 NullFields []string `json:"-"` 3288} 3289 3290func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 3291 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 3292 raw := NoMethod(*s) 3293 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3294} 3295 3296func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 3297 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 3298 var s1 struct { 3299 X gensupport.JSONFloat64 `json:"x"` 3300 Y gensupport.JSONFloat64 `json:"y"` 3301 *NoMethod 3302 } 3303 s1.NoMethod = (*NoMethod)(s) 3304 if err := json.Unmarshal(data, &s1); err != nil { 3305 return err 3306 } 3307 s.X = float64(s1.X) 3308 s.Y = float64(s1.Y) 3309 return nil 3310} 3311 3312// GoogleCloudVisionV1p1beta1OperationMetadata: Contains metadata for 3313// the BatchAnnotateImages operation. 3314type GoogleCloudVisionV1p1beta1OperationMetadata struct { 3315 // CreateTime: The time when the batch request was received. 3316 CreateTime string `json:"createTime,omitempty"` 3317 3318 // State: Current state of the batch operation. 3319 // 3320 // Possible values: 3321 // "STATE_UNSPECIFIED" - Invalid. 3322 // "CREATED" - Request is received. 3323 // "RUNNING" - Request is actively being processed. 3324 // "DONE" - The batch processing is done. 3325 // "CANCELLED" - The batch processing was cancelled. 3326 State string `json:"state,omitempty"` 3327 3328 // UpdateTime: The time when the operation result was last updated. 3329 UpdateTime string `json:"updateTime,omitempty"` 3330 3331 // ForceSendFields is a list of field names (e.g. "CreateTime") to 3332 // unconditionally include in API requests. By default, fields with 3333 // empty values are omitted from API requests. However, any non-pointer, 3334 // non-interface field appearing in ForceSendFields will be sent to the 3335 // server regardless of whether the field is empty or not. This may be 3336 // used to include empty fields in Patch requests. 3337 ForceSendFields []string `json:"-"` 3338 3339 // NullFields is a list of field names (e.g. "CreateTime") to include in 3340 // API requests with the JSON null value. By default, fields with empty 3341 // values are omitted from API requests. However, any field with an 3342 // empty value appearing in NullFields will be sent to the server as 3343 // null. It is an error if a field in this list has a non-empty value. 3344 // This may be used to include null fields in Patch requests. 3345 NullFields []string `json:"-"` 3346} 3347 3348func (s *GoogleCloudVisionV1p1beta1OperationMetadata) MarshalJSON() ([]byte, error) { 3349 type NoMethod GoogleCloudVisionV1p1beta1OperationMetadata 3350 raw := NoMethod(*s) 3351 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3352} 3353 3354// GoogleCloudVisionV1p1beta1OutputConfig: The desired output location 3355// and metadata. 3356type GoogleCloudVisionV1p1beta1OutputConfig struct { 3357 // BatchSize: The max number of response protos to put into each output 3358 // JSON file on 3359 // Google Cloud Storage. 3360 // The valid range is [1, 100]. If not specified, the default value is 3361 // 20. 3362 // 3363 // For example, for one pdf file with 100 pages, 100 response protos 3364 // will 3365 // be generated. If `batch_size` = 20, then 5 json files each 3366 // containing 20 response protos will be written under the 3367 // prefix 3368 // `gcs_destination`.`uri`. 3369 // 3370 // Currently, batch_size only applies to GcsDestination, with potential 3371 // future 3372 // support for other output configurations. 3373 BatchSize int64 `json:"batchSize,omitempty"` 3374 3375 // GcsDestination: The Google Cloud Storage location to write the 3376 // output(s) to. 3377 GcsDestination *GoogleCloudVisionV1p1beta1GcsDestination `json:"gcsDestination,omitempty"` 3378 3379 // ForceSendFields is a list of field names (e.g. "BatchSize") to 3380 // unconditionally include in API requests. By default, fields with 3381 // empty values are omitted from API requests. However, any non-pointer, 3382 // non-interface field appearing in ForceSendFields will be sent to the 3383 // server regardless of whether the field is empty or not. This may be 3384 // used to include empty fields in Patch requests. 3385 ForceSendFields []string `json:"-"` 3386 3387 // NullFields is a list of field names (e.g. "BatchSize") to include in 3388 // API requests with the JSON null value. By default, fields with empty 3389 // values are omitted from API requests. However, any field with an 3390 // empty value appearing in NullFields will be sent to the server as 3391 // null. It is an error if a field in this list has a non-empty value. 3392 // This may be used to include null fields in Patch requests. 3393 NullFields []string `json:"-"` 3394} 3395 3396func (s *GoogleCloudVisionV1p1beta1OutputConfig) MarshalJSON() ([]byte, error) { 3397 type NoMethod GoogleCloudVisionV1p1beta1OutputConfig 3398 raw := NoMethod(*s) 3399 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3400} 3401 3402// GoogleCloudVisionV1p1beta1Page: Detected page from OCR. 3403type GoogleCloudVisionV1p1beta1Page struct { 3404 // Blocks: List of blocks of text, images etc on this page. 3405 Blocks []*GoogleCloudVisionV1p1beta1Block `json:"blocks,omitempty"` 3406 3407 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 3408 Confidence float64 `json:"confidence,omitempty"` 3409 3410 // Height: Page height. For PDFs the unit is points. For images 3411 // (including 3412 // TIFFs) the unit is pixels. 3413 Height int64 `json:"height,omitempty"` 3414 3415 // Property: Additional information detected on the page. 3416 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3417 3418 // Width: Page width. For PDFs the unit is points. For images 3419 // (including 3420 // TIFFs) the unit is pixels. 3421 Width int64 `json:"width,omitempty"` 3422 3423 // ForceSendFields is a list of field names (e.g. "Blocks") to 3424 // unconditionally include in API requests. By default, fields with 3425 // empty values are omitted from API requests. However, any non-pointer, 3426 // non-interface field appearing in ForceSendFields will be sent to the 3427 // server regardless of whether the field is empty or not. This may be 3428 // used to include empty fields in Patch requests. 3429 ForceSendFields []string `json:"-"` 3430 3431 // NullFields is a list of field names (e.g. "Blocks") to include in API 3432 // requests with the JSON null value. By default, fields with empty 3433 // values are omitted from API requests. However, any field with an 3434 // empty value appearing in NullFields will be sent to the server as 3435 // null. It is an error if a field in this list has a non-empty value. 3436 // This may be used to include null fields in Patch requests. 3437 NullFields []string `json:"-"` 3438} 3439 3440func (s *GoogleCloudVisionV1p1beta1Page) MarshalJSON() ([]byte, error) { 3441 type NoMethod GoogleCloudVisionV1p1beta1Page 3442 raw := NoMethod(*s) 3443 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3444} 3445 3446func (s *GoogleCloudVisionV1p1beta1Page) UnmarshalJSON(data []byte) error { 3447 type NoMethod GoogleCloudVisionV1p1beta1Page 3448 var s1 struct { 3449 Confidence gensupport.JSONFloat64 `json:"confidence"` 3450 *NoMethod 3451 } 3452 s1.NoMethod = (*NoMethod)(s) 3453 if err := json.Unmarshal(data, &s1); err != nil { 3454 return err 3455 } 3456 s.Confidence = float64(s1.Confidence) 3457 return nil 3458} 3459 3460// GoogleCloudVisionV1p1beta1Paragraph: Structural unit of text 3461// representing a number of words in certain order. 3462type GoogleCloudVisionV1p1beta1Paragraph struct { 3463 // BoundingBox: The bounding box for the paragraph. 3464 // The vertices are in the order of top-left, top-right, 3465 // bottom-right, 3466 // bottom-left. When a rotation of the bounding box is detected the 3467 // rotation 3468 // is represented as around the top-left corner as defined when the text 3469 // is 3470 // read in the 'natural' orientation. 3471 // For example: 3472 // * when the text is horizontal it might look like: 3473 // 0----1 3474 // | | 3475 // 3----2 3476 // * when it's rotated 180 degrees around the top-left corner it 3477 // becomes: 3478 // 2----3 3479 // | | 3480 // 1----0 3481 // and the vertex order will still be (0, 1, 2, 3). 3482 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3483 3484 // Confidence: Confidence of the OCR results for the paragraph. Range 3485 // [0, 1]. 3486 Confidence float64 `json:"confidence,omitempty"` 3487 3488 // Property: Additional information detected for the paragraph. 3489 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3490 3491 // Words: List of all words in this paragraph. 3492 Words []*GoogleCloudVisionV1p1beta1Word `json:"words,omitempty"` 3493 3494 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3495 // unconditionally include in API requests. By default, fields with 3496 // empty values are omitted from API requests. However, any non-pointer, 3497 // non-interface field appearing in ForceSendFields will be sent to the 3498 // server regardless of whether the field is empty or not. This may be 3499 // used to include empty fields in Patch requests. 3500 ForceSendFields []string `json:"-"` 3501 3502 // NullFields is a list of field names (e.g. "BoundingBox") to include 3503 // in API requests with the JSON null value. By default, fields with 3504 // empty values are omitted from API requests. However, any field with 3505 // an empty value appearing in NullFields will be sent to the server as 3506 // null. It is an error if a field in this list has a non-empty value. 3507 // This may be used to include null fields in Patch requests. 3508 NullFields []string `json:"-"` 3509} 3510 3511func (s *GoogleCloudVisionV1p1beta1Paragraph) MarshalJSON() ([]byte, error) { 3512 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 3513 raw := NoMethod(*s) 3514 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3515} 3516 3517func (s *GoogleCloudVisionV1p1beta1Paragraph) UnmarshalJSON(data []byte) error { 3518 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 3519 var s1 struct { 3520 Confidence gensupport.JSONFloat64 `json:"confidence"` 3521 *NoMethod 3522 } 3523 s1.NoMethod = (*NoMethod)(s) 3524 if err := json.Unmarshal(data, &s1); err != nil { 3525 return err 3526 } 3527 s.Confidence = float64(s1.Confidence) 3528 return nil 3529} 3530 3531// GoogleCloudVisionV1p1beta1Position: A 3D position in the image, used 3532// primarily for Face detection landmarks. 3533// A valid Position must have both x and y coordinates. 3534// The position coordinates are in the same scale as the original image. 3535type GoogleCloudVisionV1p1beta1Position struct { 3536 // X: X coordinate. 3537 X float64 `json:"x,omitempty"` 3538 3539 // Y: Y coordinate. 3540 Y float64 `json:"y,omitempty"` 3541 3542 // Z: Z coordinate (or depth). 3543 Z float64 `json:"z,omitempty"` 3544 3545 // ForceSendFields is a list of field names (e.g. "X") to 3546 // unconditionally include in API requests. By default, fields with 3547 // empty values are omitted from API requests. However, any non-pointer, 3548 // non-interface field appearing in ForceSendFields will be sent to the 3549 // server regardless of whether the field is empty or not. This may be 3550 // used to include empty fields in Patch requests. 3551 ForceSendFields []string `json:"-"` 3552 3553 // NullFields is a list of field names (e.g. "X") to include in API 3554 // requests with the JSON null value. By default, fields with empty 3555 // values are omitted from API requests. However, any field with an 3556 // empty value appearing in NullFields will be sent to the server as 3557 // null. It is an error if a field in this list has a non-empty value. 3558 // This may be used to include null fields in Patch requests. 3559 NullFields []string `json:"-"` 3560} 3561 3562func (s *GoogleCloudVisionV1p1beta1Position) MarshalJSON() ([]byte, error) { 3563 type NoMethod GoogleCloudVisionV1p1beta1Position 3564 raw := NoMethod(*s) 3565 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3566} 3567 3568func (s *GoogleCloudVisionV1p1beta1Position) UnmarshalJSON(data []byte) error { 3569 type NoMethod GoogleCloudVisionV1p1beta1Position 3570 var s1 struct { 3571 X gensupport.JSONFloat64 `json:"x"` 3572 Y gensupport.JSONFloat64 `json:"y"` 3573 Z gensupport.JSONFloat64 `json:"z"` 3574 *NoMethod 3575 } 3576 s1.NoMethod = (*NoMethod)(s) 3577 if err := json.Unmarshal(data, &s1); err != nil { 3578 return err 3579 } 3580 s.X = float64(s1.X) 3581 s.Y = float64(s1.Y) 3582 s.Z = float64(s1.Z) 3583 return nil 3584} 3585 3586// GoogleCloudVisionV1p1beta1Product: A Product contains 3587// ReferenceImages. 3588type GoogleCloudVisionV1p1beta1Product struct { 3589 // Description: User-provided metadata to be stored with this product. 3590 // Must be at most 4096 3591 // characters long. 3592 Description string `json:"description,omitempty"` 3593 3594 // DisplayName: The user-provided name for this Product. Must not be 3595 // empty. Must be at most 3596 // 4096 characters long. 3597 DisplayName string `json:"displayName,omitempty"` 3598 3599 // Name: The resource name of the product. 3600 // 3601 // Format 3602 // is: 3603 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 3604 // 3605 // This field is ignored when creating a product. 3606 Name string `json:"name,omitempty"` 3607 3608 // ProductCategory: Immutable. The category for the product identified 3609 // by the reference image. This should 3610 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 3611 // categories 3612 // "homegoods", "apparel", and "toys" are still supported, but these 3613 // should 3614 // not be used for new products. 3615 ProductCategory string `json:"productCategory,omitempty"` 3616 3617 // ProductLabels: Key-value pairs that can be attached to a product. At 3618 // query time, 3619 // constraints can be specified based on the product_labels. 3620 // 3621 // Note that integer values can be provided as strings, e.g. "1199". 3622 // Only 3623 // strings with integer values can match a range-based restriction which 3624 // is 3625 // to be supported soon. 3626 // 3627 // Multiple values can be assigned to the same key. One product may have 3628 // up to 3629 // 500 product_labels. 3630 // 3631 // Notice that the total number of distinct product_labels over all 3632 // products 3633 // in one ProductSet cannot exceed 1M, otherwise the product search 3634 // pipeline 3635 // will refuse to work for that ProductSet. 3636 ProductLabels []*GoogleCloudVisionV1p1beta1ProductKeyValue `json:"productLabels,omitempty"` 3637 3638 // ForceSendFields is a list of field names (e.g. "Description") to 3639 // unconditionally include in API requests. By default, fields with 3640 // empty values are omitted from API requests. However, any non-pointer, 3641 // non-interface field appearing in ForceSendFields will be sent to the 3642 // server regardless of whether the field is empty or not. This may be 3643 // used to include empty fields in Patch requests. 3644 ForceSendFields []string `json:"-"` 3645 3646 // NullFields is a list of field names (e.g. "Description") to include 3647 // in API requests with the JSON null value. By default, fields with 3648 // empty values are omitted from API requests. However, any field with 3649 // an empty value appearing in NullFields will be sent to the server as 3650 // null. It is an error if a field in this list has a non-empty value. 3651 // This may be used to include null fields in Patch requests. 3652 NullFields []string `json:"-"` 3653} 3654 3655func (s *GoogleCloudVisionV1p1beta1Product) MarshalJSON() ([]byte, error) { 3656 type NoMethod GoogleCloudVisionV1p1beta1Product 3657 raw := NoMethod(*s) 3658 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3659} 3660 3661// GoogleCloudVisionV1p1beta1ProductKeyValue: A product label 3662// represented as a key-value pair. 3663type GoogleCloudVisionV1p1beta1ProductKeyValue struct { 3664 // Key: The key of the label attached to the product. Cannot be empty 3665 // and cannot 3666 // exceed 128 bytes. 3667 Key string `json:"key,omitempty"` 3668 3669 // Value: The value of the label attached to the product. Cannot be 3670 // empty and 3671 // cannot exceed 128 bytes. 3672 Value string `json:"value,omitempty"` 3673 3674 // ForceSendFields is a list of field names (e.g. "Key") to 3675 // unconditionally include in API requests. By default, fields with 3676 // empty values are omitted from API requests. However, any non-pointer, 3677 // non-interface field appearing in ForceSendFields will be sent to the 3678 // server regardless of whether the field is empty or not. This may be 3679 // used to include empty fields in Patch requests. 3680 ForceSendFields []string `json:"-"` 3681 3682 // NullFields is a list of field names (e.g. "Key") to include in API 3683 // requests with the JSON null value. By default, fields with empty 3684 // values are omitted from API requests. However, any field with an 3685 // empty value appearing in NullFields will be sent to the server as 3686 // null. It is an error if a field in this list has a non-empty value. 3687 // This may be used to include null fields in Patch requests. 3688 NullFields []string `json:"-"` 3689} 3690 3691func (s *GoogleCloudVisionV1p1beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 3692 type NoMethod GoogleCloudVisionV1p1beta1ProductKeyValue 3693 raw := NoMethod(*s) 3694 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3695} 3696 3697// GoogleCloudVisionV1p1beta1ProductSearchResults: Results for a product 3698// search request. 3699type GoogleCloudVisionV1p1beta1ProductSearchResults struct { 3700 // IndexTime: Timestamp of the index which provided these results. 3701 // Products added to the 3702 // product set and products removed from the product set after this time 3703 // are 3704 // not reflected in the current results. 3705 IndexTime string `json:"indexTime,omitempty"` 3706 3707 // ProductGroupedResults: List of results grouped by products detected 3708 // in the query image. Each entry 3709 // corresponds to one bounding polygon in the query image, and contains 3710 // the 3711 // matching products specific to that region. There may be duplicate 3712 // product 3713 // matches in the union of all the per-product results. 3714 ProductGroupedResults []*GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 3715 3716 // Results: List of results, one for each product match. 3717 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 3718 3719 // ForceSendFields is a list of field names (e.g. "IndexTime") to 3720 // unconditionally include in API requests. By default, fields with 3721 // empty values are omitted from API requests. However, any non-pointer, 3722 // non-interface field appearing in ForceSendFields will be sent to the 3723 // server regardless of whether the field is empty or not. This may be 3724 // used to include empty fields in Patch requests. 3725 ForceSendFields []string `json:"-"` 3726 3727 // NullFields is a list of field names (e.g. "IndexTime") to include in 3728 // API requests with the JSON null value. By default, fields with empty 3729 // values are omitted from API requests. However, any field with an 3730 // empty value appearing in NullFields will be sent to the server as 3731 // null. It is an error if a field in this list has a non-empty value. 3732 // This may be used to include null fields in Patch requests. 3733 NullFields []string `json:"-"` 3734} 3735 3736func (s *GoogleCloudVisionV1p1beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 3737 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResults 3738 raw := NoMethod(*s) 3739 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3740} 3741 3742// GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult: 3743// Information about the products similar to a single product in a 3744// query 3745// image. 3746type GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult struct { 3747 // BoundingPoly: The bounding polygon around the product detected in the 3748 // query image. 3749 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 3750 3751 // ObjectAnnotations: List of generic predictions for the object in the 3752 // bounding box. 3753 ObjectAnnotations []*GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 3754 3755 // Results: List of results, one for each product match. 3756 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 3757 3758 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 3759 // unconditionally include in API requests. By default, fields with 3760 // empty values are omitted from API requests. However, any non-pointer, 3761 // non-interface field appearing in ForceSendFields will be sent to the 3762 // server regardless of whether the field is empty or not. This may be 3763 // used to include empty fields in Patch requests. 3764 ForceSendFields []string `json:"-"` 3765 3766 // NullFields is a list of field names (e.g. "BoundingPoly") to include 3767 // in API requests with the JSON null value. By default, fields with 3768 // empty values are omitted from API requests. However, any field with 3769 // an empty value appearing in NullFields will be sent to the server as 3770 // null. It is an error if a field in this list has a non-empty value. 3771 // This may be used to include null fields in Patch requests. 3772 NullFields []string `json:"-"` 3773} 3774 3775func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 3776 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult 3777 raw := NoMethod(*s) 3778 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3779} 3780 3781// GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation: 3782// Prediction for what the object in the bounding box is. 3783type GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation struct { 3784 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 3785 // For more 3786 // information, 3787 // see 3788 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3789 LanguageCode string `json:"languageCode,omitempty"` 3790 3791 // Mid: Object ID that should align with EntityAnnotation mid. 3792 Mid string `json:"mid,omitempty"` 3793 3794 // Name: Object name, expressed in its `language_code` language. 3795 Name string `json:"name,omitempty"` 3796 3797 // Score: Score of the result. Range [0, 1]. 3798 Score float64 `json:"score,omitempty"` 3799 3800 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 3801 // unconditionally include in API requests. By default, fields with 3802 // empty values are omitted from API requests. However, any non-pointer, 3803 // non-interface field appearing in ForceSendFields will be sent to the 3804 // server regardless of whether the field is empty or not. This may be 3805 // used to include empty fields in Patch requests. 3806 ForceSendFields []string `json:"-"` 3807 3808 // NullFields is a list of field names (e.g. "LanguageCode") to include 3809 // in API requests with the JSON null value. By default, fields with 3810 // empty values are omitted from API requests. However, any field with 3811 // an empty value appearing in NullFields will be sent to the server as 3812 // null. It is an error if a field in this list has a non-empty value. 3813 // This may be used to include null fields in Patch requests. 3814 NullFields []string `json:"-"` 3815} 3816 3817func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 3818 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 3819 raw := NoMethod(*s) 3820 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3821} 3822 3823func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 3824 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 3825 var s1 struct { 3826 Score gensupport.JSONFloat64 `json:"score"` 3827 *NoMethod 3828 } 3829 s1.NoMethod = (*NoMethod)(s) 3830 if err := json.Unmarshal(data, &s1); err != nil { 3831 return err 3832 } 3833 s.Score = float64(s1.Score) 3834 return nil 3835} 3836 3837// GoogleCloudVisionV1p1beta1ProductSearchResultsResult: Information 3838// about a product. 3839type GoogleCloudVisionV1p1beta1ProductSearchResultsResult struct { 3840 // Image: The resource name of the image from the product that is the 3841 // closest match 3842 // to the query. 3843 Image string `json:"image,omitempty"` 3844 3845 // Product: The Product. 3846 Product *GoogleCloudVisionV1p1beta1Product `json:"product,omitempty"` 3847 3848 // Score: A confidence level on the match, ranging from 0 (no 3849 // confidence) to 3850 // 1 (full confidence). 3851 Score float64 `json:"score,omitempty"` 3852 3853 // ForceSendFields is a list of field names (e.g. "Image") to 3854 // unconditionally include in API requests. By default, fields with 3855 // empty values are omitted from API requests. However, any non-pointer, 3856 // non-interface field appearing in ForceSendFields will be sent to the 3857 // server regardless of whether the field is empty or not. This may be 3858 // used to include empty fields in Patch requests. 3859 ForceSendFields []string `json:"-"` 3860 3861 // NullFields is a list of field names (e.g. "Image") to include in API 3862 // requests with the JSON null value. By default, fields with empty 3863 // values are omitted from API requests. However, any field with an 3864 // empty value appearing in NullFields will be sent to the server as 3865 // null. It is an error if a field in this list has a non-empty value. 3866 // This may be used to include null fields in Patch requests. 3867 NullFields []string `json:"-"` 3868} 3869 3870func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 3871 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3872 raw := NoMethod(*s) 3873 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3874} 3875 3876func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 3877 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3878 var s1 struct { 3879 Score gensupport.JSONFloat64 `json:"score"` 3880 *NoMethod 3881 } 3882 s1.NoMethod = (*NoMethod)(s) 3883 if err := json.Unmarshal(data, &s1); err != nil { 3884 return err 3885 } 3886 s.Score = float64(s1.Score) 3887 return nil 3888} 3889 3890// GoogleCloudVisionV1p1beta1Property: A `Property` consists of a 3891// user-supplied name/value pair. 3892type GoogleCloudVisionV1p1beta1Property struct { 3893 // Name: Name of the property. 3894 Name string `json:"name,omitempty"` 3895 3896 // Uint64Value: Value of numeric properties. 3897 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 3898 3899 // Value: Value of the property. 3900 Value string `json:"value,omitempty"` 3901 3902 // ForceSendFields is a list of field names (e.g. "Name") to 3903 // unconditionally include in API requests. By default, fields with 3904 // empty values are omitted from API requests. However, any non-pointer, 3905 // non-interface field appearing in ForceSendFields will be sent to the 3906 // server regardless of whether the field is empty or not. This may be 3907 // used to include empty fields in Patch requests. 3908 ForceSendFields []string `json:"-"` 3909 3910 // NullFields is a list of field names (e.g. "Name") to include in API 3911 // requests with the JSON null value. By default, fields with empty 3912 // values are omitted from API requests. However, any field with an 3913 // empty value appearing in NullFields will be sent to the server as 3914 // null. It is an error if a field in this list has a non-empty value. 3915 // This may be used to include null fields in Patch requests. 3916 NullFields []string `json:"-"` 3917} 3918 3919func (s *GoogleCloudVisionV1p1beta1Property) MarshalJSON() ([]byte, error) { 3920 type NoMethod GoogleCloudVisionV1p1beta1Property 3921 raw := NoMethod(*s) 3922 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3923} 3924 3925// GoogleCloudVisionV1p1beta1SafeSearchAnnotation: Set of features 3926// pertaining to the image, computed by computer vision 3927// methods over safe-search verticals (for example, adult, spoof, 3928// medical, 3929// violence). 3930type GoogleCloudVisionV1p1beta1SafeSearchAnnotation struct { 3931 // Adult: Represents the adult content likelihood for the image. Adult 3932 // content may 3933 // contain elements such as nudity, pornographic images or cartoons, 3934 // or 3935 // sexual activities. 3936 // 3937 // Possible values: 3938 // "UNKNOWN" - Unknown likelihood. 3939 // "VERY_UNLIKELY" - It is very unlikely. 3940 // "UNLIKELY" - It is unlikely. 3941 // "POSSIBLE" - It is possible. 3942 // "LIKELY" - It is likely. 3943 // "VERY_LIKELY" - It is very likely. 3944 Adult string `json:"adult,omitempty"` 3945 3946 // Medical: Likelihood that this is a medical image. 3947 // 3948 // Possible values: 3949 // "UNKNOWN" - Unknown likelihood. 3950 // "VERY_UNLIKELY" - It is very unlikely. 3951 // "UNLIKELY" - It is unlikely. 3952 // "POSSIBLE" - It is possible. 3953 // "LIKELY" - It is likely. 3954 // "VERY_LIKELY" - It is very likely. 3955 Medical string `json:"medical,omitempty"` 3956 3957 // Racy: Likelihood that the request image contains racy content. Racy 3958 // content may 3959 // include (but is not limited to) skimpy or sheer clothing, 3960 // strategically 3961 // covered nudity, lewd or provocative poses, or close-ups of 3962 // sensitive 3963 // body areas. 3964 // 3965 // Possible values: 3966 // "UNKNOWN" - Unknown likelihood. 3967 // "VERY_UNLIKELY" - It is very unlikely. 3968 // "UNLIKELY" - It is unlikely. 3969 // "POSSIBLE" - It is possible. 3970 // "LIKELY" - It is likely. 3971 // "VERY_LIKELY" - It is very likely. 3972 Racy string `json:"racy,omitempty"` 3973 3974 // Spoof: Spoof likelihood. The likelihood that an modification 3975 // was made to the image's canonical version to make it appear 3976 // funny or offensive. 3977 // 3978 // Possible values: 3979 // "UNKNOWN" - Unknown likelihood. 3980 // "VERY_UNLIKELY" - It is very unlikely. 3981 // "UNLIKELY" - It is unlikely. 3982 // "POSSIBLE" - It is possible. 3983 // "LIKELY" - It is likely. 3984 // "VERY_LIKELY" - It is very likely. 3985 Spoof string `json:"spoof,omitempty"` 3986 3987 // Violence: Likelihood that this image contains violent content. 3988 // 3989 // Possible values: 3990 // "UNKNOWN" - Unknown likelihood. 3991 // "VERY_UNLIKELY" - It is very unlikely. 3992 // "UNLIKELY" - It is unlikely. 3993 // "POSSIBLE" - It is possible. 3994 // "LIKELY" - It is likely. 3995 // "VERY_LIKELY" - It is very likely. 3996 Violence string `json:"violence,omitempty"` 3997 3998 // ForceSendFields is a list of field names (e.g. "Adult") to 3999 // unconditionally include in API requests. By default, fields with 4000 // empty values are omitted from API requests. However, any non-pointer, 4001 // non-interface field appearing in ForceSendFields will be sent to the 4002 // server regardless of whether the field is empty or not. This may be 4003 // used to include empty fields in Patch requests. 4004 ForceSendFields []string `json:"-"` 4005 4006 // NullFields is a list of field names (e.g. "Adult") to include in API 4007 // requests with the JSON null value. By default, fields with empty 4008 // values are omitted from API requests. However, any field with an 4009 // empty value appearing in NullFields will be sent to the server as 4010 // null. It is an error if a field in this list has a non-empty value. 4011 // This may be used to include null fields in Patch requests. 4012 NullFields []string `json:"-"` 4013} 4014 4015func (s *GoogleCloudVisionV1p1beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 4016 type NoMethod GoogleCloudVisionV1p1beta1SafeSearchAnnotation 4017 raw := NoMethod(*s) 4018 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4019} 4020 4021// GoogleCloudVisionV1p1beta1Symbol: A single symbol representation. 4022type GoogleCloudVisionV1p1beta1Symbol struct { 4023 // BoundingBox: The bounding box for the symbol. 4024 // The vertices are in the order of top-left, top-right, 4025 // bottom-right, 4026 // bottom-left. When a rotation of the bounding box is detected the 4027 // rotation 4028 // is represented as around the top-left corner as defined when the text 4029 // is 4030 // read in the 'natural' orientation. 4031 // For example: 4032 // * when the text is horizontal it might look like: 4033 // 0----1 4034 // | | 4035 // 3----2 4036 // * when it's rotated 180 degrees around the top-left corner it 4037 // becomes: 4038 // 2----3 4039 // | | 4040 // 1----0 4041 // and the vertex order will still be (0, 1, 2, 3). 4042 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 4043 4044 // Confidence: Confidence of the OCR results for the symbol. Range [0, 4045 // 1]. 4046 Confidence float64 `json:"confidence,omitempty"` 4047 4048 // Property: Additional information detected for the symbol. 4049 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 4050 4051 // Text: The actual UTF-8 representation of the symbol. 4052 Text string `json:"text,omitempty"` 4053 4054 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 4055 // unconditionally include in API requests. By default, fields with 4056 // empty values are omitted from API requests. However, any non-pointer, 4057 // non-interface field appearing in ForceSendFields will be sent to the 4058 // server regardless of whether the field is empty or not. This may be 4059 // used to include empty fields in Patch requests. 4060 ForceSendFields []string `json:"-"` 4061 4062 // NullFields is a list of field names (e.g. "BoundingBox") to include 4063 // in API requests with the JSON null value. By default, fields with 4064 // empty values are omitted from API requests. However, any field with 4065 // an empty value appearing in NullFields will be sent to the server as 4066 // null. It is an error if a field in this list has a non-empty value. 4067 // This may be used to include null fields in Patch requests. 4068 NullFields []string `json:"-"` 4069} 4070 4071func (s *GoogleCloudVisionV1p1beta1Symbol) MarshalJSON() ([]byte, error) { 4072 type NoMethod GoogleCloudVisionV1p1beta1Symbol 4073 raw := NoMethod(*s) 4074 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4075} 4076 4077func (s *GoogleCloudVisionV1p1beta1Symbol) UnmarshalJSON(data []byte) error { 4078 type NoMethod GoogleCloudVisionV1p1beta1Symbol 4079 var s1 struct { 4080 Confidence gensupport.JSONFloat64 `json:"confidence"` 4081 *NoMethod 4082 } 4083 s1.NoMethod = (*NoMethod)(s) 4084 if err := json.Unmarshal(data, &s1); err != nil { 4085 return err 4086 } 4087 s.Confidence = float64(s1.Confidence) 4088 return nil 4089} 4090 4091// GoogleCloudVisionV1p1beta1TextAnnotation: TextAnnotation contains a 4092// structured representation of OCR extracted text. 4093// The hierarchy of an OCR extracted text structure is like this: 4094// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 4095// Symbol 4096// Each structural component, starting from Page, may further have their 4097// own 4098// properties. Properties describe detected languages, breaks etc.. 4099// Please refer 4100// to the TextAnnotation.TextProperty message definition below for 4101// more 4102// detail. 4103type GoogleCloudVisionV1p1beta1TextAnnotation struct { 4104 // Pages: List of pages detected by OCR. 4105 Pages []*GoogleCloudVisionV1p1beta1Page `json:"pages,omitempty"` 4106 4107 // Text: UTF-8 text detected on the pages. 4108 Text string `json:"text,omitempty"` 4109 4110 // ForceSendFields is a list of field names (e.g. "Pages") to 4111 // unconditionally include in API requests. By default, fields with 4112 // empty values are omitted from API requests. However, any non-pointer, 4113 // non-interface field appearing in ForceSendFields will be sent to the 4114 // server regardless of whether the field is empty or not. This may be 4115 // used to include empty fields in Patch requests. 4116 ForceSendFields []string `json:"-"` 4117 4118 // NullFields is a list of field names (e.g. "Pages") to include in API 4119 // requests with the JSON null value. By default, fields with empty 4120 // values are omitted from API requests. However, any field with an 4121 // empty value appearing in NullFields will be sent to the server as 4122 // null. It is an error if a field in this list has a non-empty value. 4123 // This may be used to include null fields in Patch requests. 4124 NullFields []string `json:"-"` 4125} 4126 4127func (s *GoogleCloudVisionV1p1beta1TextAnnotation) MarshalJSON() ([]byte, error) { 4128 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotation 4129 raw := NoMethod(*s) 4130 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4131} 4132 4133// GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak: Detected start 4134// or end of a structural component. 4135type GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak struct { 4136 // IsPrefix: True if break prepends the element. 4137 IsPrefix bool `json:"isPrefix,omitempty"` 4138 4139 // Type: Detected break type. 4140 // 4141 // Possible values: 4142 // "UNKNOWN" - Unknown break label type. 4143 // "SPACE" - Regular space. 4144 // "SURE_SPACE" - Sure space (very wide). 4145 // "EOL_SURE_SPACE" - Line-wrapping break. 4146 // "HYPHEN" - End-line hyphen that is not present in text; does not 4147 // co-occur with 4148 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 4149 // "LINE_BREAK" - Line break that ends a paragraph. 4150 Type string `json:"type,omitempty"` 4151 4152 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 4153 // unconditionally include in API requests. By default, fields with 4154 // empty values are omitted from API requests. However, any non-pointer, 4155 // non-interface field appearing in ForceSendFields will be sent to the 4156 // server regardless of whether the field is empty or not. This may be 4157 // used to include empty fields in Patch requests. 4158 ForceSendFields []string `json:"-"` 4159 4160 // NullFields is a list of field names (e.g. "IsPrefix") to include in 4161 // API requests with the JSON null value. By default, fields with empty 4162 // values are omitted from API requests. However, any field with an 4163 // empty value appearing in NullFields will be sent to the server as 4164 // null. It is an error if a field in this list has a non-empty value. 4165 // This may be used to include null fields in Patch requests. 4166 NullFields []string `json:"-"` 4167} 4168 4169func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 4170 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak 4171 raw := NoMethod(*s) 4172 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4173} 4174 4175// GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage: Detected 4176// language for a structural component. 4177type GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage struct { 4178 // Confidence: Confidence of detected language. Range [0, 1]. 4179 Confidence float64 `json:"confidence,omitempty"` 4180 4181 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 4182 // For more 4183 // information, 4184 // see 4185 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 4186 LanguageCode string `json:"languageCode,omitempty"` 4187 4188 // ForceSendFields is a list of field names (e.g. "Confidence") to 4189 // unconditionally include in API requests. By default, fields with 4190 // empty values are omitted from API requests. However, any non-pointer, 4191 // non-interface field appearing in ForceSendFields will be sent to the 4192 // server regardless of whether the field is empty or not. This may be 4193 // used to include empty fields in Patch requests. 4194 ForceSendFields []string `json:"-"` 4195 4196 // NullFields is a list of field names (e.g. "Confidence") to include in 4197 // API requests with the JSON null value. By default, fields with empty 4198 // values are omitted from API requests. However, any field with an 4199 // empty value appearing in NullFields will be sent to the server as 4200 // null. It is an error if a field in this list has a non-empty value. 4201 // This may be used to include null fields in Patch requests. 4202 NullFields []string `json:"-"` 4203} 4204 4205func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 4206 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 4207 raw := NoMethod(*s) 4208 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4209} 4210 4211func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 4212 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 4213 var s1 struct { 4214 Confidence gensupport.JSONFloat64 `json:"confidence"` 4215 *NoMethod 4216 } 4217 s1.NoMethod = (*NoMethod)(s) 4218 if err := json.Unmarshal(data, &s1); err != nil { 4219 return err 4220 } 4221 s.Confidence = float64(s1.Confidence) 4222 return nil 4223} 4224 4225// GoogleCloudVisionV1p1beta1TextAnnotationTextProperty: Additional 4226// information detected on the structural component. 4227type GoogleCloudVisionV1p1beta1TextAnnotationTextProperty struct { 4228 // DetectedBreak: Detected start or end of a text segment. 4229 DetectedBreak *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 4230 4231 // DetectedLanguages: A list of detected languages together with 4232 // confidence. 4233 DetectedLanguages []*GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 4234 4235 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 4236 // unconditionally include in API requests. By default, fields with 4237 // empty values are omitted from API requests. However, any non-pointer, 4238 // non-interface field appearing in ForceSendFields will be sent to the 4239 // server regardless of whether the field is empty or not. This may be 4240 // used to include empty fields in Patch requests. 4241 ForceSendFields []string `json:"-"` 4242 4243 // NullFields is a list of field names (e.g. "DetectedBreak") to include 4244 // in API requests with the JSON null value. By default, fields with 4245 // empty values are omitted from API requests. However, any field with 4246 // an empty value appearing in NullFields will be sent to the server as 4247 // null. It is an error if a field in this list has a non-empty value. 4248 // This may be used to include null fields in Patch requests. 4249 NullFields []string `json:"-"` 4250} 4251 4252func (s *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 4253 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationTextProperty 4254 raw := NoMethod(*s) 4255 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4256} 4257 4258// GoogleCloudVisionV1p1beta1Vertex: A vertex represents a 2D point in 4259// the image. 4260// NOTE: the vertex coordinates are in the same scale as the original 4261// image. 4262type GoogleCloudVisionV1p1beta1Vertex struct { 4263 // X: X coordinate. 4264 X int64 `json:"x,omitempty"` 4265 4266 // Y: Y coordinate. 4267 Y int64 `json:"y,omitempty"` 4268 4269 // ForceSendFields is a list of field names (e.g. "X") to 4270 // unconditionally include in API requests. By default, fields with 4271 // empty values are omitted from API requests. However, any non-pointer, 4272 // non-interface field appearing in ForceSendFields will be sent to the 4273 // server regardless of whether the field is empty or not. This may be 4274 // used to include empty fields in Patch requests. 4275 ForceSendFields []string `json:"-"` 4276 4277 // NullFields is a list of field names (e.g. "X") to include in API 4278 // requests with the JSON null value. By default, fields with empty 4279 // values are omitted from API requests. However, any field with an 4280 // empty value appearing in NullFields will be sent to the server as 4281 // null. It is an error if a field in this list has a non-empty value. 4282 // This may be used to include null fields in Patch requests. 4283 NullFields []string `json:"-"` 4284} 4285 4286func (s *GoogleCloudVisionV1p1beta1Vertex) MarshalJSON() ([]byte, error) { 4287 type NoMethod GoogleCloudVisionV1p1beta1Vertex 4288 raw := NoMethod(*s) 4289 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4290} 4291 4292// GoogleCloudVisionV1p1beta1WebDetection: Relevant information for the 4293// image from the Internet. 4294type GoogleCloudVisionV1p1beta1WebDetection struct { 4295 // BestGuessLabels: The service's best guess as to the topic of the 4296 // request image. 4297 // Inferred from similar images on the open web. 4298 BestGuessLabels []*GoogleCloudVisionV1p1beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 4299 4300 // FullMatchingImages: Fully matching images from the Internet. 4301 // Can include resized copies of the query image. 4302 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 4303 4304 // PagesWithMatchingImages: Web pages containing the matching images 4305 // from the Internet. 4306 PagesWithMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 4307 4308 // PartialMatchingImages: Partial matching images from the 4309 // Internet. 4310 // Those images are similar enough to share some key-point features. 4311 // For 4312 // example an original image will likely have partial matching for its 4313 // crops. 4314 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 4315 4316 // VisuallySimilarImages: The visually similar image results. 4317 VisuallySimilarImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 4318 4319 // WebEntities: Deduced entities from similar images on the Internet. 4320 WebEntities []*GoogleCloudVisionV1p1beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 4321 4322 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 4323 // unconditionally include in API requests. By default, fields with 4324 // empty values are omitted from API requests. However, any non-pointer, 4325 // non-interface field appearing in ForceSendFields will be sent to the 4326 // server regardless of whether the field is empty or not. This may be 4327 // used to include empty fields in Patch requests. 4328 ForceSendFields []string `json:"-"` 4329 4330 // NullFields is a list of field names (e.g. "BestGuessLabels") to 4331 // include in API requests with the JSON null value. By default, fields 4332 // with empty values are omitted from API requests. However, any field 4333 // with an empty value appearing in NullFields will be sent to the 4334 // server as null. It is an error if a field in this list has a 4335 // non-empty value. This may be used to include null fields in Patch 4336 // requests. 4337 NullFields []string `json:"-"` 4338} 4339 4340func (s *GoogleCloudVisionV1p1beta1WebDetection) MarshalJSON() ([]byte, error) { 4341 type NoMethod GoogleCloudVisionV1p1beta1WebDetection 4342 raw := NoMethod(*s) 4343 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4344} 4345 4346// GoogleCloudVisionV1p1beta1WebDetectionWebEntity: Entity deduced from 4347// similar images on the Internet. 4348type GoogleCloudVisionV1p1beta1WebDetectionWebEntity struct { 4349 // Description: Canonical description of the entity, in English. 4350 Description string `json:"description,omitempty"` 4351 4352 // EntityId: Opaque entity ID. 4353 EntityId string `json:"entityId,omitempty"` 4354 4355 // Score: Overall relevancy score for the entity. 4356 // Not normalized and not comparable across different image queries. 4357 Score float64 `json:"score,omitempty"` 4358 4359 // ForceSendFields is a list of field names (e.g. "Description") to 4360 // unconditionally include in API requests. By default, fields with 4361 // empty values are omitted from API requests. However, any non-pointer, 4362 // non-interface field appearing in ForceSendFields will be sent to the 4363 // server regardless of whether the field is empty or not. This may be 4364 // used to include empty fields in Patch requests. 4365 ForceSendFields []string `json:"-"` 4366 4367 // NullFields is a list of field names (e.g. "Description") to include 4368 // in API requests with the JSON null value. By default, fields with 4369 // empty values are omitted from API requests. However, any field with 4370 // an empty value appearing in NullFields will be sent to the server as 4371 // null. It is an error if a field in this list has a non-empty value. 4372 // This may be used to include null fields in Patch requests. 4373 NullFields []string `json:"-"` 4374} 4375 4376func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 4377 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 4378 raw := NoMethod(*s) 4379 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4380} 4381 4382func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 4383 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 4384 var s1 struct { 4385 Score gensupport.JSONFloat64 `json:"score"` 4386 *NoMethod 4387 } 4388 s1.NoMethod = (*NoMethod)(s) 4389 if err := json.Unmarshal(data, &s1); err != nil { 4390 return err 4391 } 4392 s.Score = float64(s1.Score) 4393 return nil 4394} 4395 4396// GoogleCloudVisionV1p1beta1WebDetectionWebImage: Metadata for online 4397// images. 4398type GoogleCloudVisionV1p1beta1WebDetectionWebImage struct { 4399 // Score: (Deprecated) Overall relevancy score for the image. 4400 Score float64 `json:"score,omitempty"` 4401 4402 // Url: The result image URL. 4403 Url string `json:"url,omitempty"` 4404 4405 // ForceSendFields is a list of field names (e.g. "Score") to 4406 // unconditionally include in API requests. By default, fields with 4407 // empty values are omitted from API requests. However, any non-pointer, 4408 // non-interface field appearing in ForceSendFields will be sent to the 4409 // server regardless of whether the field is empty or not. This may be 4410 // used to include empty fields in Patch requests. 4411 ForceSendFields []string `json:"-"` 4412 4413 // NullFields is a list of field names (e.g. "Score") to include in API 4414 // requests with the JSON null value. By default, fields with empty 4415 // values are omitted from API requests. However, any field with an 4416 // empty value appearing in NullFields will be sent to the server as 4417 // null. It is an error if a field in this list has a non-empty value. 4418 // This may be used to include null fields in Patch requests. 4419 NullFields []string `json:"-"` 4420} 4421 4422func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 4423 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 4424 raw := NoMethod(*s) 4425 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4426} 4427 4428func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 4429 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 4430 var s1 struct { 4431 Score gensupport.JSONFloat64 `json:"score"` 4432 *NoMethod 4433 } 4434 s1.NoMethod = (*NoMethod)(s) 4435 if err := json.Unmarshal(data, &s1); err != nil { 4436 return err 4437 } 4438 s.Score = float64(s1.Score) 4439 return nil 4440} 4441 4442// GoogleCloudVisionV1p1beta1WebDetectionWebLabel: Label to provide 4443// extra metadata for the web detection. 4444type GoogleCloudVisionV1p1beta1WebDetectionWebLabel struct { 4445 // Label: Label for extra metadata. 4446 Label string `json:"label,omitempty"` 4447 4448 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 4449 // or "sr-Latn". 4450 // For more information, 4451 // see 4452 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 4453 LanguageCode string `json:"languageCode,omitempty"` 4454 4455 // ForceSendFields is a list of field names (e.g. "Label") to 4456 // unconditionally include in API requests. By default, fields with 4457 // empty values are omitted from API requests. However, any non-pointer, 4458 // non-interface field appearing in ForceSendFields will be sent to the 4459 // server regardless of whether the field is empty or not. This may be 4460 // used to include empty fields in Patch requests. 4461 ForceSendFields []string `json:"-"` 4462 4463 // NullFields is a list of field names (e.g. "Label") to include in API 4464 // requests with the JSON null value. By default, fields with empty 4465 // values are omitted from API requests. However, any field with an 4466 // empty value appearing in NullFields will be sent to the server as 4467 // null. It is an error if a field in this list has a non-empty value. 4468 // This may be used to include null fields in Patch requests. 4469 NullFields []string `json:"-"` 4470} 4471 4472func (s *GoogleCloudVisionV1p1beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 4473 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebLabel 4474 raw := NoMethod(*s) 4475 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4476} 4477 4478// GoogleCloudVisionV1p1beta1WebDetectionWebPage: Metadata for web 4479// pages. 4480type GoogleCloudVisionV1p1beta1WebDetectionWebPage struct { 4481 // FullMatchingImages: Fully matching images on the page. 4482 // Can include resized copies of the query image. 4483 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 4484 4485 // PageTitle: Title for the web page, may contain HTML markups. 4486 PageTitle string `json:"pageTitle,omitempty"` 4487 4488 // PartialMatchingImages: Partial matching images on the page. 4489 // Those images are similar enough to share some key-point features. 4490 // For 4491 // example an original image will likely have partial matching for 4492 // its 4493 // crops. 4494 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 4495 4496 // Score: (Deprecated) Overall relevancy score for the web page. 4497 Score float64 `json:"score,omitempty"` 4498 4499 // Url: The result web page URL. 4500 Url string `json:"url,omitempty"` 4501 4502 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 4503 // to unconditionally include in API requests. By default, fields with 4504 // empty values are omitted from API requests. However, any non-pointer, 4505 // non-interface field appearing in ForceSendFields will be sent to the 4506 // server regardless of whether the field is empty or not. This may be 4507 // used to include empty fields in Patch requests. 4508 ForceSendFields []string `json:"-"` 4509 4510 // NullFields is a list of field names (e.g. "FullMatchingImages") to 4511 // include in API requests with the JSON null value. By default, fields 4512 // with empty values are omitted from API requests. However, any field 4513 // with an empty value appearing in NullFields will be sent to the 4514 // server as null. It is an error if a field in this list has a 4515 // non-empty value. This may be used to include null fields in Patch 4516 // requests. 4517 NullFields []string `json:"-"` 4518} 4519 4520func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 4521 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 4522 raw := NoMethod(*s) 4523 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4524} 4525 4526func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 4527 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 4528 var s1 struct { 4529 Score gensupport.JSONFloat64 `json:"score"` 4530 *NoMethod 4531 } 4532 s1.NoMethod = (*NoMethod)(s) 4533 if err := json.Unmarshal(data, &s1); err != nil { 4534 return err 4535 } 4536 s.Score = float64(s1.Score) 4537 return nil 4538} 4539 4540// GoogleCloudVisionV1p1beta1Word: A word representation. 4541type GoogleCloudVisionV1p1beta1Word struct { 4542 // BoundingBox: The bounding box for the word. 4543 // The vertices are in the order of top-left, top-right, 4544 // bottom-right, 4545 // bottom-left. When a rotation of the bounding box is detected the 4546 // rotation 4547 // is represented as around the top-left corner as defined when the text 4548 // is 4549 // read in the 'natural' orientation. 4550 // For example: 4551 // * when the text is horizontal it might look like: 4552 // 0----1 4553 // | | 4554 // 3----2 4555 // * when it's rotated 180 degrees around the top-left corner it 4556 // becomes: 4557 // 2----3 4558 // | | 4559 // 1----0 4560 // and the vertex order will still be (0, 1, 2, 3). 4561 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 4562 4563 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 4564 Confidence float64 `json:"confidence,omitempty"` 4565 4566 // Property: Additional information detected for the word. 4567 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 4568 4569 // Symbols: List of symbols in the word. 4570 // The order of the symbols follows the natural reading order. 4571 Symbols []*GoogleCloudVisionV1p1beta1Symbol `json:"symbols,omitempty"` 4572 4573 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 4574 // unconditionally include in API requests. By default, fields with 4575 // empty values are omitted from API requests. However, any non-pointer, 4576 // non-interface field appearing in ForceSendFields will be sent to the 4577 // server regardless of whether the field is empty or not. This may be 4578 // used to include empty fields in Patch requests. 4579 ForceSendFields []string `json:"-"` 4580 4581 // NullFields is a list of field names (e.g. "BoundingBox") to include 4582 // in API requests with the JSON null value. By default, fields with 4583 // empty values are omitted from API requests. However, any field with 4584 // an empty value appearing in NullFields will be sent to the server as 4585 // null. It is an error if a field in this list has a non-empty value. 4586 // This may be used to include null fields in Patch requests. 4587 NullFields []string `json:"-"` 4588} 4589 4590func (s *GoogleCloudVisionV1p1beta1Word) MarshalJSON() ([]byte, error) { 4591 type NoMethod GoogleCloudVisionV1p1beta1Word 4592 raw := NoMethod(*s) 4593 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4594} 4595 4596func (s *GoogleCloudVisionV1p1beta1Word) UnmarshalJSON(data []byte) error { 4597 type NoMethod GoogleCloudVisionV1p1beta1Word 4598 var s1 struct { 4599 Confidence gensupport.JSONFloat64 `json:"confidence"` 4600 *NoMethod 4601 } 4602 s1.NoMethod = (*NoMethod)(s) 4603 if err := json.Unmarshal(data, &s1); err != nil { 4604 return err 4605 } 4606 s.Confidence = float64(s1.Confidence) 4607 return nil 4608} 4609 4610// GoogleCloudVisionV1p2beta1AnnotateFileResponse: Response to a single 4611// file annotation request. A file may contain one or more 4612// images, which individually have their own responses. 4613type GoogleCloudVisionV1p2beta1AnnotateFileResponse struct { 4614 // Error: If set, represents the error message for the failed request. 4615 // The 4616 // `responses` field will not be set in this case. 4617 Error *Status `json:"error,omitempty"` 4618 4619 // InputConfig: Information about the file for which this response is 4620 // generated. 4621 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 4622 4623 // Responses: Individual responses to images found within the file. This 4624 // field will be 4625 // empty if the `error` field is set. 4626 Responses []*GoogleCloudVisionV1p2beta1AnnotateImageResponse `json:"responses,omitempty"` 4627 4628 // TotalPages: This field gives the total number of pages in the file. 4629 TotalPages int64 `json:"totalPages,omitempty"` 4630 4631 // ForceSendFields is a list of field names (e.g. "Error") to 4632 // unconditionally include in API requests. By default, fields with 4633 // empty values are omitted from API requests. However, any non-pointer, 4634 // non-interface field appearing in ForceSendFields will be sent to the 4635 // server regardless of whether the field is empty or not. This may be 4636 // used to include empty fields in Patch requests. 4637 ForceSendFields []string `json:"-"` 4638 4639 // NullFields is a list of field names (e.g. "Error") to include in API 4640 // requests with the JSON null value. By default, fields with empty 4641 // values are omitted from API requests. However, any field with an 4642 // empty value appearing in NullFields will be sent to the server as 4643 // null. It is an error if a field in this list has a non-empty value. 4644 // This may be used to include null fields in Patch requests. 4645 NullFields []string `json:"-"` 4646} 4647 4648func (s *GoogleCloudVisionV1p2beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 4649 type NoMethod GoogleCloudVisionV1p2beta1AnnotateFileResponse 4650 raw := NoMethod(*s) 4651 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4652} 4653 4654// GoogleCloudVisionV1p2beta1AnnotateImageResponse: Response to an image 4655// annotation request. 4656type GoogleCloudVisionV1p2beta1AnnotateImageResponse struct { 4657 // Context: If present, contextual information is needed to understand 4658 // where this image 4659 // comes from. 4660 Context *GoogleCloudVisionV1p2beta1ImageAnnotationContext `json:"context,omitempty"` 4661 4662 // CropHintsAnnotation: If present, crop hints have completed 4663 // successfully. 4664 CropHintsAnnotation *GoogleCloudVisionV1p2beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 4665 4666 // Error: If set, represents the error message for the operation. 4667 // Note that filled-in image annotations are guaranteed to be 4668 // correct, even when `error` is set. 4669 Error *Status `json:"error,omitempty"` 4670 4671 // FaceAnnotations: If present, face detection has completed 4672 // successfully. 4673 FaceAnnotations []*GoogleCloudVisionV1p2beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 4674 4675 // FullTextAnnotation: If present, text (OCR) detection or document 4676 // (OCR) text detection has 4677 // completed successfully. 4678 // This annotation provides the structural hierarchy for the OCR 4679 // detected 4680 // text. 4681 FullTextAnnotation *GoogleCloudVisionV1p2beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 4682 4683 // ImagePropertiesAnnotation: If present, image properties were 4684 // extracted successfully. 4685 ImagePropertiesAnnotation *GoogleCloudVisionV1p2beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 4686 4687 // LabelAnnotations: If present, label detection has completed 4688 // successfully. 4689 LabelAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 4690 4691 // LandmarkAnnotations: If present, landmark detection has completed 4692 // successfully. 4693 LandmarkAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 4694 4695 // LocalizedObjectAnnotations: If present, localized object detection 4696 // has completed successfully. 4697 // This will be sorted descending by confidence score. 4698 LocalizedObjectAnnotations []*GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 4699 4700 // LogoAnnotations: If present, logo detection has completed 4701 // successfully. 4702 LogoAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 4703 4704 // ProductSearchResults: If present, product search has completed 4705 // successfully. 4706 ProductSearchResults *GoogleCloudVisionV1p2beta1ProductSearchResults `json:"productSearchResults,omitempty"` 4707 4708 // SafeSearchAnnotation: If present, safe-search annotation has 4709 // completed successfully. 4710 SafeSearchAnnotation *GoogleCloudVisionV1p2beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 4711 4712 // TextAnnotations: If present, text (OCR) detection has completed 4713 // successfully. 4714 TextAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"textAnnotations,omitempty"` 4715 4716 // WebDetection: If present, web detection has completed successfully. 4717 WebDetection *GoogleCloudVisionV1p2beta1WebDetection `json:"webDetection,omitempty"` 4718 4719 // ForceSendFields is a list of field names (e.g. "Context") to 4720 // unconditionally include in API requests. By default, fields with 4721 // empty values are omitted from API requests. However, any non-pointer, 4722 // non-interface field appearing in ForceSendFields will be sent to the 4723 // server regardless of whether the field is empty or not. This may be 4724 // used to include empty fields in Patch requests. 4725 ForceSendFields []string `json:"-"` 4726 4727 // NullFields is a list of field names (e.g. "Context") to include in 4728 // API requests with the JSON null value. By default, fields with empty 4729 // values are omitted from API requests. However, any field with an 4730 // empty value appearing in NullFields will be sent to the server as 4731 // null. It is an error if a field in this list has a non-empty value. 4732 // This may be used to include null fields in Patch requests. 4733 NullFields []string `json:"-"` 4734} 4735 4736func (s *GoogleCloudVisionV1p2beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 4737 type NoMethod GoogleCloudVisionV1p2beta1AnnotateImageResponse 4738 raw := NoMethod(*s) 4739 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4740} 4741 4742// GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse: The response for 4743// a single offline file annotation request. 4744type GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse struct { 4745 // OutputConfig: The output location and metadata from 4746 // AsyncAnnotateFileRequest. 4747 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 4748 4749 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 4750 // unconditionally include in API requests. By default, fields with 4751 // empty values are omitted from API requests. However, any non-pointer, 4752 // non-interface field appearing in ForceSendFields will be sent to the 4753 // server regardless of whether the field is empty or not. This may be 4754 // used to include empty fields in Patch requests. 4755 ForceSendFields []string `json:"-"` 4756 4757 // NullFields is a list of field names (e.g. "OutputConfig") to include 4758 // in API requests with the JSON null value. By default, fields with 4759 // empty values are omitted from API requests. However, any field with 4760 // an empty value appearing in NullFields will be sent to the server as 4761 // null. It is an error if a field in this list has a non-empty value. 4762 // This may be used to include null fields in Patch requests. 4763 NullFields []string `json:"-"` 4764} 4765 4766func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 4767 type NoMethod GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse 4768 raw := NoMethod(*s) 4769 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4770} 4771 4772// GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse: Response 4773// to an async batch file annotation request. 4774type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse struct { 4775 // Responses: The list of file annotation responses, one for each 4776 // request in 4777 // AsyncBatchAnnotateFilesRequest. 4778 Responses []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 4779 4780 // ForceSendFields is a list of field names (e.g. "Responses") to 4781 // unconditionally include in API requests. By default, fields with 4782 // empty values are omitted from API requests. However, any non-pointer, 4783 // non-interface field appearing in ForceSendFields will be sent to the 4784 // server regardless of whether the field is empty or not. This may be 4785 // used to include empty fields in Patch requests. 4786 ForceSendFields []string `json:"-"` 4787 4788 // NullFields is a list of field names (e.g. "Responses") to include in 4789 // API requests with the JSON null value. By default, fields with empty 4790 // values are omitted from API requests. However, any field with an 4791 // empty value appearing in NullFields will be sent to the server as 4792 // null. It is an error if a field in this list has a non-empty value. 4793 // This may be used to include null fields in Patch requests. 4794 NullFields []string `json:"-"` 4795} 4796 4797func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 4798 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse 4799 raw := NoMethod(*s) 4800 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4801} 4802 4803// GoogleCloudVisionV1p2beta1Block: Logical element on the page. 4804type GoogleCloudVisionV1p2beta1Block struct { 4805 // BlockType: Detected block type (text, image etc) for this block. 4806 // 4807 // Possible values: 4808 // "UNKNOWN" - Unknown block type. 4809 // "TEXT" - Regular text block. 4810 // "TABLE" - Table block. 4811 // "PICTURE" - Image block. 4812 // "RULER" - Horizontal/vertical line box. 4813 // "BARCODE" - Barcode block. 4814 BlockType string `json:"blockType,omitempty"` 4815 4816 // BoundingBox: The bounding box for the block. 4817 // The vertices are in the order of top-left, top-right, 4818 // bottom-right, 4819 // bottom-left. When a rotation of the bounding box is detected the 4820 // rotation 4821 // is represented as around the top-left corner as defined when the text 4822 // is 4823 // read in the 'natural' orientation. 4824 // For example: 4825 // 4826 // * when the text is horizontal it might look like: 4827 // 4828 // 0----1 4829 // | | 4830 // 3----2 4831 // 4832 // * when it's rotated 180 degrees around the top-left corner it 4833 // becomes: 4834 // 4835 // 2----3 4836 // | | 4837 // 1----0 4838 // 4839 // and the vertex order will still be (0, 1, 2, 3). 4840 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 4841 4842 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 4843 Confidence float64 `json:"confidence,omitempty"` 4844 4845 // Paragraphs: List of paragraphs in this block (if this blocks is of 4846 // type text). 4847 Paragraphs []*GoogleCloudVisionV1p2beta1Paragraph `json:"paragraphs,omitempty"` 4848 4849 // Property: Additional information detected for the block. 4850 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 4851 4852 // ForceSendFields is a list of field names (e.g. "BlockType") to 4853 // unconditionally include in API requests. By default, fields with 4854 // empty values are omitted from API requests. However, any non-pointer, 4855 // non-interface field appearing in ForceSendFields will be sent to the 4856 // server regardless of whether the field is empty or not. This may be 4857 // used to include empty fields in Patch requests. 4858 ForceSendFields []string `json:"-"` 4859 4860 // NullFields is a list of field names (e.g. "BlockType") to include in 4861 // API requests with the JSON null value. By default, fields with empty 4862 // values are omitted from API requests. However, any field with an 4863 // empty value appearing in NullFields will be sent to the server as 4864 // null. It is an error if a field in this list has a non-empty value. 4865 // This may be used to include null fields in Patch requests. 4866 NullFields []string `json:"-"` 4867} 4868 4869func (s *GoogleCloudVisionV1p2beta1Block) MarshalJSON() ([]byte, error) { 4870 type NoMethod GoogleCloudVisionV1p2beta1Block 4871 raw := NoMethod(*s) 4872 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4873} 4874 4875func (s *GoogleCloudVisionV1p2beta1Block) UnmarshalJSON(data []byte) error { 4876 type NoMethod GoogleCloudVisionV1p2beta1Block 4877 var s1 struct { 4878 Confidence gensupport.JSONFloat64 `json:"confidence"` 4879 *NoMethod 4880 } 4881 s1.NoMethod = (*NoMethod)(s) 4882 if err := json.Unmarshal(data, &s1); err != nil { 4883 return err 4884 } 4885 s.Confidence = float64(s1.Confidence) 4886 return nil 4887} 4888 4889// GoogleCloudVisionV1p2beta1BoundingPoly: A bounding polygon for the 4890// detected image annotation. 4891type GoogleCloudVisionV1p2beta1BoundingPoly struct { 4892 // NormalizedVertices: The bounding polygon normalized vertices. 4893 NormalizedVertices []*GoogleCloudVisionV1p2beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 4894 4895 // Vertices: The bounding polygon vertices. 4896 Vertices []*GoogleCloudVisionV1p2beta1Vertex `json:"vertices,omitempty"` 4897 4898 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 4899 // to unconditionally include in API requests. By default, fields with 4900 // empty values are omitted from API requests. However, any non-pointer, 4901 // non-interface field appearing in ForceSendFields will be sent to the 4902 // server regardless of whether the field is empty or not. This may be 4903 // used to include empty fields in Patch requests. 4904 ForceSendFields []string `json:"-"` 4905 4906 // NullFields is a list of field names (e.g. "NormalizedVertices") to 4907 // include in API requests with the JSON null value. By default, fields 4908 // with empty values are omitted from API requests. However, any field 4909 // with an empty value appearing in NullFields will be sent to the 4910 // server as null. It is an error if a field in this list has a 4911 // non-empty value. This may be used to include null fields in Patch 4912 // requests. 4913 NullFields []string `json:"-"` 4914} 4915 4916func (s *GoogleCloudVisionV1p2beta1BoundingPoly) MarshalJSON() ([]byte, error) { 4917 type NoMethod GoogleCloudVisionV1p2beta1BoundingPoly 4918 raw := NoMethod(*s) 4919 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4920} 4921 4922// GoogleCloudVisionV1p2beta1ColorInfo: Color information consists of 4923// RGB channels, score, and the fraction of 4924// the image that the color occupies in the image. 4925type GoogleCloudVisionV1p2beta1ColorInfo struct { 4926 // Color: RGB components of the color. 4927 Color *Color `json:"color,omitempty"` 4928 4929 // PixelFraction: The fraction of pixels the color occupies in the 4930 // image. 4931 // Value in range [0, 1]. 4932 PixelFraction float64 `json:"pixelFraction,omitempty"` 4933 4934 // Score: Image-specific score for this color. Value in range [0, 1]. 4935 Score float64 `json:"score,omitempty"` 4936 4937 // ForceSendFields is a list of field names (e.g. "Color") to 4938 // unconditionally include in API requests. By default, fields with 4939 // empty values are omitted from API requests. However, any non-pointer, 4940 // non-interface field appearing in ForceSendFields will be sent to the 4941 // server regardless of whether the field is empty or not. This may be 4942 // used to include empty fields in Patch requests. 4943 ForceSendFields []string `json:"-"` 4944 4945 // NullFields is a list of field names (e.g. "Color") to include in API 4946 // requests with the JSON null value. By default, fields with empty 4947 // values are omitted from API requests. However, any field with an 4948 // empty value appearing in NullFields will be sent to the server as 4949 // null. It is an error if a field in this list has a non-empty value. 4950 // This may be used to include null fields in Patch requests. 4951 NullFields []string `json:"-"` 4952} 4953 4954func (s *GoogleCloudVisionV1p2beta1ColorInfo) MarshalJSON() ([]byte, error) { 4955 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4956 raw := NoMethod(*s) 4957 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4958} 4959 4960func (s *GoogleCloudVisionV1p2beta1ColorInfo) UnmarshalJSON(data []byte) error { 4961 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4962 var s1 struct { 4963 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 4964 Score gensupport.JSONFloat64 `json:"score"` 4965 *NoMethod 4966 } 4967 s1.NoMethod = (*NoMethod)(s) 4968 if err := json.Unmarshal(data, &s1); err != nil { 4969 return err 4970 } 4971 s.PixelFraction = float64(s1.PixelFraction) 4972 s.Score = float64(s1.Score) 4973 return nil 4974} 4975 4976// GoogleCloudVisionV1p2beta1CropHint: Single crop hint that is used to 4977// generate a new crop when serving an image. 4978type GoogleCloudVisionV1p2beta1CropHint struct { 4979 // BoundingPoly: The bounding polygon for the crop region. The 4980 // coordinates of the bounding 4981 // box are in the original image's scale. 4982 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4983 4984 // Confidence: Confidence of this being a salient region. Range [0, 1]. 4985 Confidence float64 `json:"confidence,omitempty"` 4986 4987 // ImportanceFraction: Fraction of importance of this salient region 4988 // with respect to the original 4989 // image. 4990 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 4991 4992 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4993 // unconditionally include in API requests. By default, fields with 4994 // empty values are omitted from API requests. However, any non-pointer, 4995 // non-interface field appearing in ForceSendFields will be sent to the 4996 // server regardless of whether the field is empty or not. This may be 4997 // used to include empty fields in Patch requests. 4998 ForceSendFields []string `json:"-"` 4999 5000 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5001 // in API requests with the JSON null value. By default, fields with 5002 // empty values are omitted from API requests. However, any field with 5003 // an empty value appearing in NullFields will be sent to the server as 5004 // null. It is an error if a field in this list has a non-empty value. 5005 // This may be used to include null fields in Patch requests. 5006 NullFields []string `json:"-"` 5007} 5008 5009func (s *GoogleCloudVisionV1p2beta1CropHint) MarshalJSON() ([]byte, error) { 5010 type NoMethod GoogleCloudVisionV1p2beta1CropHint 5011 raw := NoMethod(*s) 5012 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5013} 5014 5015func (s *GoogleCloudVisionV1p2beta1CropHint) UnmarshalJSON(data []byte) error { 5016 type NoMethod GoogleCloudVisionV1p2beta1CropHint 5017 var s1 struct { 5018 Confidence gensupport.JSONFloat64 `json:"confidence"` 5019 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 5020 *NoMethod 5021 } 5022 s1.NoMethod = (*NoMethod)(s) 5023 if err := json.Unmarshal(data, &s1); err != nil { 5024 return err 5025 } 5026 s.Confidence = float64(s1.Confidence) 5027 s.ImportanceFraction = float64(s1.ImportanceFraction) 5028 return nil 5029} 5030 5031// GoogleCloudVisionV1p2beta1CropHintsAnnotation: Set of crop hints that 5032// are used to generate new crops when serving images. 5033type GoogleCloudVisionV1p2beta1CropHintsAnnotation struct { 5034 // CropHints: Crop hint results. 5035 CropHints []*GoogleCloudVisionV1p2beta1CropHint `json:"cropHints,omitempty"` 5036 5037 // ForceSendFields is a list of field names (e.g. "CropHints") to 5038 // unconditionally include in API requests. By default, fields with 5039 // empty values are omitted from API requests. However, any non-pointer, 5040 // non-interface field appearing in ForceSendFields will be sent to the 5041 // server regardless of whether the field is empty or not. This may be 5042 // used to include empty fields in Patch requests. 5043 ForceSendFields []string `json:"-"` 5044 5045 // NullFields is a list of field names (e.g. "CropHints") to include in 5046 // API requests with the JSON null value. By default, fields with empty 5047 // values are omitted from API requests. However, any field with an 5048 // empty value appearing in NullFields will be sent to the server as 5049 // null. It is an error if a field in this list has a non-empty value. 5050 // This may be used to include null fields in Patch requests. 5051 NullFields []string `json:"-"` 5052} 5053 5054func (s *GoogleCloudVisionV1p2beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 5055 type NoMethod GoogleCloudVisionV1p2beta1CropHintsAnnotation 5056 raw := NoMethod(*s) 5057 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5058} 5059 5060// GoogleCloudVisionV1p2beta1DominantColorsAnnotation: Set of dominant 5061// colors and their corresponding scores. 5062type GoogleCloudVisionV1p2beta1DominantColorsAnnotation struct { 5063 // Colors: RGB color values with their score and pixel fraction. 5064 Colors []*GoogleCloudVisionV1p2beta1ColorInfo `json:"colors,omitempty"` 5065 5066 // ForceSendFields is a list of field names (e.g. "Colors") to 5067 // unconditionally include in API requests. By default, fields with 5068 // empty values are omitted from API requests. However, any non-pointer, 5069 // non-interface field appearing in ForceSendFields will be sent to the 5070 // server regardless of whether the field is empty or not. This may be 5071 // used to include empty fields in Patch requests. 5072 ForceSendFields []string `json:"-"` 5073 5074 // NullFields is a list of field names (e.g. "Colors") to include in API 5075 // requests with the JSON null value. By default, fields with empty 5076 // values are omitted from API requests. However, any field with an 5077 // empty value appearing in NullFields will be sent to the server as 5078 // null. It is an error if a field in this list has a non-empty value. 5079 // This may be used to include null fields in Patch requests. 5080 NullFields []string `json:"-"` 5081} 5082 5083func (s *GoogleCloudVisionV1p2beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 5084 type NoMethod GoogleCloudVisionV1p2beta1DominantColorsAnnotation 5085 raw := NoMethod(*s) 5086 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5087} 5088 5089// GoogleCloudVisionV1p2beta1EntityAnnotation: Set of detected entity 5090// features. 5091type GoogleCloudVisionV1p2beta1EntityAnnotation struct { 5092 // BoundingPoly: Image region to which this entity belongs. Not 5093 // produced 5094 // for `LABEL_DETECTION` features. 5095 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5096 5097 // Confidence: **Deprecated. Use `score` instead.** 5098 // The accuracy of the entity detection in an image. 5099 // For example, for an image in which the "Eiffel Tower" entity is 5100 // detected, 5101 // this field represents the confidence that there is a tower in the 5102 // query 5103 // image. Range [0, 1]. 5104 Confidence float64 `json:"confidence,omitempty"` 5105 5106 // Description: Entity textual description, expressed in its `locale` 5107 // language. 5108 Description string `json:"description,omitempty"` 5109 5110 // Locale: The language code for the locale in which the entity 5111 // textual 5112 // `description` is expressed. 5113 Locale string `json:"locale,omitempty"` 5114 5115 // Locations: The location information for the detected entity. 5116 // Multiple 5117 // `LocationInfo` elements can be present because one location 5118 // may 5119 // indicate the location of the scene in the image, and another 5120 // location 5121 // may indicate the location of the place where the image was 5122 // taken. 5123 // Location information is usually present for landmarks. 5124 Locations []*GoogleCloudVisionV1p2beta1LocationInfo `json:"locations,omitempty"` 5125 5126 // Mid: Opaque entity ID. Some IDs may be available in 5127 // [Google Knowledge Graph 5128 // Search 5129 // API](https://developers.google.com/knowledge-graph/). 5130 Mid string `json:"mid,omitempty"` 5131 5132 // Properties: Some entities may have optional user-supplied `Property` 5133 // (name/value) 5134 // fields, such a score or string that qualifies the entity. 5135 Properties []*GoogleCloudVisionV1p2beta1Property `json:"properties,omitempty"` 5136 5137 // Score: Overall score of the result. Range [0, 1]. 5138 Score float64 `json:"score,omitempty"` 5139 5140 // Topicality: The relevancy of the ICA (Image Content Annotation) label 5141 // to the 5142 // image. For example, the relevancy of "tower" is likely higher to an 5143 // image 5144 // containing the detected "Eiffel Tower" than to an image containing 5145 // a 5146 // detected distant towering building, even though the confidence 5147 // that 5148 // there is a tower in each image may be the same. Range [0, 1]. 5149 Topicality float64 `json:"topicality,omitempty"` 5150 5151 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5152 // unconditionally include in API requests. By default, fields with 5153 // empty values are omitted from API requests. However, any non-pointer, 5154 // non-interface field appearing in ForceSendFields will be sent to the 5155 // server regardless of whether the field is empty or not. This may be 5156 // used to include empty fields in Patch requests. 5157 ForceSendFields []string `json:"-"` 5158 5159 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5160 // in API requests with the JSON null value. By default, fields with 5161 // empty values are omitted from API requests. However, any field with 5162 // an empty value appearing in NullFields will be sent to the server as 5163 // null. It is an error if a field in this list has a non-empty value. 5164 // This may be used to include null fields in Patch requests. 5165 NullFields []string `json:"-"` 5166} 5167 5168func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 5169 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 5170 raw := NoMethod(*s) 5171 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5172} 5173 5174func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 5175 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 5176 var s1 struct { 5177 Confidence gensupport.JSONFloat64 `json:"confidence"` 5178 Score gensupport.JSONFloat64 `json:"score"` 5179 Topicality gensupport.JSONFloat64 `json:"topicality"` 5180 *NoMethod 5181 } 5182 s1.NoMethod = (*NoMethod)(s) 5183 if err := json.Unmarshal(data, &s1); err != nil { 5184 return err 5185 } 5186 s.Confidence = float64(s1.Confidence) 5187 s.Score = float64(s1.Score) 5188 s.Topicality = float64(s1.Topicality) 5189 return nil 5190} 5191 5192// GoogleCloudVisionV1p2beta1FaceAnnotation: A face annotation object 5193// contains the results of face detection. 5194type GoogleCloudVisionV1p2beta1FaceAnnotation struct { 5195 // AngerLikelihood: Anger likelihood. 5196 // 5197 // Possible values: 5198 // "UNKNOWN" - Unknown likelihood. 5199 // "VERY_UNLIKELY" - It is very unlikely. 5200 // "UNLIKELY" - It is unlikely. 5201 // "POSSIBLE" - It is possible. 5202 // "LIKELY" - It is likely. 5203 // "VERY_LIKELY" - It is very likely. 5204 AngerLikelihood string `json:"angerLikelihood,omitempty"` 5205 5206 // BlurredLikelihood: Blurred likelihood. 5207 // 5208 // Possible values: 5209 // "UNKNOWN" - Unknown likelihood. 5210 // "VERY_UNLIKELY" - It is very unlikely. 5211 // "UNLIKELY" - It is unlikely. 5212 // "POSSIBLE" - It is possible. 5213 // "LIKELY" - It is likely. 5214 // "VERY_LIKELY" - It is very likely. 5215 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 5216 5217 // BoundingPoly: The bounding polygon around the face. The coordinates 5218 // of the bounding box 5219 // are in the original image's scale. 5220 // The bounding box is computed to "frame" the face in accordance with 5221 // human 5222 // expectations. It is based on the landmarker results. 5223 // Note that one or more x and/or y coordinates may not be generated in 5224 // the 5225 // `BoundingPoly` (the polygon will be unbounded) if only a partial 5226 // face 5227 // appears in the image to be annotated. 5228 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5229 5230 // DetectionConfidence: Detection confidence. Range [0, 1]. 5231 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 5232 5233 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 5234 // than the 5235 // `boundingPoly`, and encloses only the skin part of the face. 5236 // Typically, it 5237 // is used to eliminate the face from any image analysis that detects 5238 // the 5239 // "amount of skin" visible in an image. It is not based on 5240 // the 5241 // landmarker results, only on the initial face detection, hence 5242 // the <code>fd</code> (face detection) prefix. 5243 FdBoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 5244 5245 // HeadwearLikelihood: Headwear likelihood. 5246 // 5247 // Possible values: 5248 // "UNKNOWN" - Unknown likelihood. 5249 // "VERY_UNLIKELY" - It is very unlikely. 5250 // "UNLIKELY" - It is unlikely. 5251 // "POSSIBLE" - It is possible. 5252 // "LIKELY" - It is likely. 5253 // "VERY_LIKELY" - It is very likely. 5254 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 5255 5256 // JoyLikelihood: Joy likelihood. 5257 // 5258 // Possible values: 5259 // "UNKNOWN" - Unknown likelihood. 5260 // "VERY_UNLIKELY" - It is very unlikely. 5261 // "UNLIKELY" - It is unlikely. 5262 // "POSSIBLE" - It is possible. 5263 // "LIKELY" - It is likely. 5264 // "VERY_LIKELY" - It is very likely. 5265 JoyLikelihood string `json:"joyLikelihood,omitempty"` 5266 5267 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 5268 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 5269 5270 // Landmarks: Detected face landmarks. 5271 Landmarks []*GoogleCloudVisionV1p2beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 5272 5273 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 5274 // that the face is 5275 // pointing relative to the vertical plane perpendicular to the image. 5276 // Range 5277 // [-180,180]. 5278 PanAngle float64 `json:"panAngle,omitempty"` 5279 5280 // RollAngle: Roll angle, which indicates the amount of 5281 // clockwise/anti-clockwise rotation 5282 // of the face relative to the image vertical about the axis 5283 // perpendicular to 5284 // the face. Range [-180,180]. 5285 RollAngle float64 `json:"rollAngle,omitempty"` 5286 5287 // SorrowLikelihood: Sorrow likelihood. 5288 // 5289 // Possible values: 5290 // "UNKNOWN" - Unknown likelihood. 5291 // "VERY_UNLIKELY" - It is very unlikely. 5292 // "UNLIKELY" - It is unlikely. 5293 // "POSSIBLE" - It is possible. 5294 // "LIKELY" - It is likely. 5295 // "VERY_LIKELY" - It is very likely. 5296 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 5297 5298 // SurpriseLikelihood: Surprise likelihood. 5299 // 5300 // Possible values: 5301 // "UNKNOWN" - Unknown likelihood. 5302 // "VERY_UNLIKELY" - It is very unlikely. 5303 // "UNLIKELY" - It is unlikely. 5304 // "POSSIBLE" - It is possible. 5305 // "LIKELY" - It is likely. 5306 // "VERY_LIKELY" - It is very likely. 5307 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 5308 5309 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 5310 // that the face is 5311 // pointing relative to the image's horizontal plane. Range [-180,180]. 5312 TiltAngle float64 `json:"tiltAngle,omitempty"` 5313 5314 // UnderExposedLikelihood: Under-exposed likelihood. 5315 // 5316 // Possible values: 5317 // "UNKNOWN" - Unknown likelihood. 5318 // "VERY_UNLIKELY" - It is very unlikely. 5319 // "UNLIKELY" - It is unlikely. 5320 // "POSSIBLE" - It is possible. 5321 // "LIKELY" - It is likely. 5322 // "VERY_LIKELY" - It is very likely. 5323 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 5324 5325 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 5326 // unconditionally include in API requests. By default, fields with 5327 // empty values are omitted from API requests. However, any non-pointer, 5328 // non-interface field appearing in ForceSendFields will be sent to the 5329 // server regardless of whether the field is empty or not. This may be 5330 // used to include empty fields in Patch requests. 5331 ForceSendFields []string `json:"-"` 5332 5333 // NullFields is a list of field names (e.g. "AngerLikelihood") to 5334 // include in API requests with the JSON null value. By default, fields 5335 // with empty values are omitted from API requests. However, any field 5336 // with an empty value appearing in NullFields will be sent to the 5337 // server as null. It is an error if a field in this list has a 5338 // non-empty value. This may be used to include null fields in Patch 5339 // requests. 5340 NullFields []string `json:"-"` 5341} 5342 5343func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 5344 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 5345 raw := NoMethod(*s) 5346 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5347} 5348 5349func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 5350 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 5351 var s1 struct { 5352 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 5353 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 5354 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 5355 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 5356 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 5357 *NoMethod 5358 } 5359 s1.NoMethod = (*NoMethod)(s) 5360 if err := json.Unmarshal(data, &s1); err != nil { 5361 return err 5362 } 5363 s.DetectionConfidence = float64(s1.DetectionConfidence) 5364 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 5365 s.PanAngle = float64(s1.PanAngle) 5366 s.RollAngle = float64(s1.RollAngle) 5367 s.TiltAngle = float64(s1.TiltAngle) 5368 return nil 5369} 5370 5371// GoogleCloudVisionV1p2beta1FaceAnnotationLandmark: A face-specific 5372// landmark (for example, a face feature). 5373type GoogleCloudVisionV1p2beta1FaceAnnotationLandmark struct { 5374 // Position: Face landmark position. 5375 Position *GoogleCloudVisionV1p2beta1Position `json:"position,omitempty"` 5376 5377 // Type: Face landmark type. 5378 // 5379 // Possible values: 5380 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 5381 // filled. 5382 // "LEFT_EYE" - Left eye. 5383 // "RIGHT_EYE" - Right eye. 5384 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 5385 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 5386 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 5387 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 5388 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 5389 // "NOSE_TIP" - Nose tip. 5390 // "UPPER_LIP" - Upper lip. 5391 // "LOWER_LIP" - Lower lip. 5392 // "MOUTH_LEFT" - Mouth left. 5393 // "MOUTH_RIGHT" - Mouth right. 5394 // "MOUTH_CENTER" - Mouth center. 5395 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 5396 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 5397 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 5398 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 5399 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 5400 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 5401 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 5402 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 5403 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 5404 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 5405 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 5406 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 5407 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 5408 // "LEFT_EAR_TRAGION" - Left ear tragion. 5409 // "RIGHT_EAR_TRAGION" - Right ear tragion. 5410 // "LEFT_EYE_PUPIL" - Left eye pupil. 5411 // "RIGHT_EYE_PUPIL" - Right eye pupil. 5412 // "FOREHEAD_GLABELLA" - Forehead glabella. 5413 // "CHIN_GNATHION" - Chin gnathion. 5414 // "CHIN_LEFT_GONION" - Chin left gonion. 5415 // "CHIN_RIGHT_GONION" - Chin right gonion. 5416 Type string `json:"type,omitempty"` 5417 5418 // ForceSendFields is a list of field names (e.g. "Position") to 5419 // unconditionally include in API requests. By default, fields with 5420 // empty values are omitted from API requests. However, any non-pointer, 5421 // non-interface field appearing in ForceSendFields will be sent to the 5422 // server regardless of whether the field is empty or not. This may be 5423 // used to include empty fields in Patch requests. 5424 ForceSendFields []string `json:"-"` 5425 5426 // NullFields is a list of field names (e.g. "Position") to include in 5427 // API requests with the JSON null value. By default, fields with empty 5428 // values are omitted from API requests. However, any field with an 5429 // empty value appearing in NullFields will be sent to the server as 5430 // null. It is an error if a field in this list has a non-empty value. 5431 // This may be used to include null fields in Patch requests. 5432 NullFields []string `json:"-"` 5433} 5434 5435func (s *GoogleCloudVisionV1p2beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 5436 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotationLandmark 5437 raw := NoMethod(*s) 5438 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5439} 5440 5441// GoogleCloudVisionV1p2beta1GcsDestination: The Google Cloud Storage 5442// location where the output will be written to. 5443type GoogleCloudVisionV1p2beta1GcsDestination struct { 5444 // Uri: Google Cloud Storage URI prefix where the results will be 5445 // stored. Results 5446 // will be in JSON format and preceded by its corresponding input URI 5447 // prefix. 5448 // This field can either represent a gcs file prefix or gcs directory. 5449 // In 5450 // either case, the uri should be unique because in order to get all of 5451 // the 5452 // output files, you will need to do a wildcard gcs search on the uri 5453 // prefix 5454 // you provide. 5455 // 5456 // Examples: 5457 // 5458 // * File Prefix: gs://bucket-name/here/filenameprefix The output 5459 // files 5460 // will be created in gs://bucket-name/here/ and the names of the 5461 // output files will begin with "filenameprefix". 5462 // 5463 // * Directory Prefix: gs://bucket-name/some/location/ The output 5464 // files 5465 // will be created in gs://bucket-name/some/location/ and the names of 5466 // the 5467 // output files could be anything because there was no filename 5468 // prefix 5469 // specified. 5470 // 5471 // If multiple outputs, each response is still AnnotateFileResponse, 5472 // each of 5473 // which contains some subset of the full list of 5474 // AnnotateImageResponse. 5475 // Multiple outputs can happen if, for example, the output JSON is too 5476 // large 5477 // and overflows into multiple sharded files. 5478 Uri string `json:"uri,omitempty"` 5479 5480 // ForceSendFields is a list of field names (e.g. "Uri") to 5481 // unconditionally include in API requests. By default, fields with 5482 // empty values are omitted from API requests. However, any non-pointer, 5483 // non-interface field appearing in ForceSendFields will be sent to the 5484 // server regardless of whether the field is empty or not. This may be 5485 // used to include empty fields in Patch requests. 5486 ForceSendFields []string `json:"-"` 5487 5488 // NullFields is a list of field names (e.g. "Uri") to include in API 5489 // requests with the JSON null value. By default, fields with empty 5490 // values are omitted from API requests. However, any field with an 5491 // empty value appearing in NullFields will be sent to the server as 5492 // null. It is an error if a field in this list has a non-empty value. 5493 // This may be used to include null fields in Patch requests. 5494 NullFields []string `json:"-"` 5495} 5496 5497func (s *GoogleCloudVisionV1p2beta1GcsDestination) MarshalJSON() ([]byte, error) { 5498 type NoMethod GoogleCloudVisionV1p2beta1GcsDestination 5499 raw := NoMethod(*s) 5500 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5501} 5502 5503// GoogleCloudVisionV1p2beta1GcsSource: The Google Cloud Storage 5504// location where the input will be read from. 5505type GoogleCloudVisionV1p2beta1GcsSource struct { 5506 // Uri: Google Cloud Storage URI for the input file. This must only be 5507 // a 5508 // Google Cloud Storage object. Wildcards are not currently supported. 5509 Uri string `json:"uri,omitempty"` 5510 5511 // ForceSendFields is a list of field names (e.g. "Uri") to 5512 // unconditionally include in API requests. By default, fields with 5513 // empty values are omitted from API requests. However, any non-pointer, 5514 // non-interface field appearing in ForceSendFields will be sent to the 5515 // server regardless of whether the field is empty or not. This may be 5516 // used to include empty fields in Patch requests. 5517 ForceSendFields []string `json:"-"` 5518 5519 // NullFields is a list of field names (e.g. "Uri") to include in API 5520 // requests with the JSON null value. By default, fields with empty 5521 // values are omitted from API requests. However, any field with an 5522 // empty value appearing in NullFields will be sent to the server as 5523 // null. It is an error if a field in this list has a non-empty value. 5524 // This may be used to include null fields in Patch requests. 5525 NullFields []string `json:"-"` 5526} 5527 5528func (s *GoogleCloudVisionV1p2beta1GcsSource) MarshalJSON() ([]byte, error) { 5529 type NoMethod GoogleCloudVisionV1p2beta1GcsSource 5530 raw := NoMethod(*s) 5531 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5532} 5533 5534// GoogleCloudVisionV1p2beta1ImageAnnotationContext: If an image was 5535// produced from a file (e.g. a PDF), this message gives 5536// information about the source of that image. 5537type GoogleCloudVisionV1p2beta1ImageAnnotationContext struct { 5538 // PageNumber: If the file was a PDF or TIFF, this field gives the page 5539 // number within 5540 // the file used to produce the image. 5541 PageNumber int64 `json:"pageNumber,omitempty"` 5542 5543 // Uri: The URI of the file used to produce the image. 5544 Uri string `json:"uri,omitempty"` 5545 5546 // ForceSendFields is a list of field names (e.g. "PageNumber") to 5547 // unconditionally include in API requests. By default, fields with 5548 // empty values are omitted from API requests. However, any non-pointer, 5549 // non-interface field appearing in ForceSendFields will be sent to the 5550 // server regardless of whether the field is empty or not. This may be 5551 // used to include empty fields in Patch requests. 5552 ForceSendFields []string `json:"-"` 5553 5554 // NullFields is a list of field names (e.g. "PageNumber") to include in 5555 // API requests with the JSON null value. By default, fields with empty 5556 // values are omitted from API requests. However, any field with an 5557 // empty value appearing in NullFields will be sent to the server as 5558 // null. It is an error if a field in this list has a non-empty value. 5559 // This may be used to include null fields in Patch requests. 5560 NullFields []string `json:"-"` 5561} 5562 5563func (s *GoogleCloudVisionV1p2beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 5564 type NoMethod GoogleCloudVisionV1p2beta1ImageAnnotationContext 5565 raw := NoMethod(*s) 5566 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5567} 5568 5569// GoogleCloudVisionV1p2beta1ImageProperties: Stores image properties, 5570// such as dominant colors. 5571type GoogleCloudVisionV1p2beta1ImageProperties struct { 5572 // DominantColors: If present, dominant colors completed successfully. 5573 DominantColors *GoogleCloudVisionV1p2beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 5574 5575 // ForceSendFields is a list of field names (e.g. "DominantColors") to 5576 // unconditionally include in API requests. By default, fields with 5577 // empty values are omitted from API requests. However, any non-pointer, 5578 // non-interface field appearing in ForceSendFields will be sent to the 5579 // server regardless of whether the field is empty or not. This may be 5580 // used to include empty fields in Patch requests. 5581 ForceSendFields []string `json:"-"` 5582 5583 // NullFields is a list of field names (e.g. "DominantColors") to 5584 // include in API requests with the JSON null value. By default, fields 5585 // with empty values are omitted from API requests. However, any field 5586 // with an empty value appearing in NullFields will be sent to the 5587 // server as null. It is an error if a field in this list has a 5588 // non-empty value. This may be used to include null fields in Patch 5589 // requests. 5590 NullFields []string `json:"-"` 5591} 5592 5593func (s *GoogleCloudVisionV1p2beta1ImageProperties) MarshalJSON() ([]byte, error) { 5594 type NoMethod GoogleCloudVisionV1p2beta1ImageProperties 5595 raw := NoMethod(*s) 5596 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5597} 5598 5599// GoogleCloudVisionV1p2beta1InputConfig: The desired input location and 5600// metadata. 5601type GoogleCloudVisionV1p2beta1InputConfig struct { 5602 // Content: File content, represented as a stream of bytes. 5603 // Note: As with all `bytes` fields, protobuffers use a pure 5604 // binary 5605 // representation, whereas JSON representations use base64. 5606 // 5607 // Currently, this field only works for BatchAnnotateFiles requests. It 5608 // does 5609 // not work for AsyncBatchAnnotateFiles requests. 5610 Content string `json:"content,omitempty"` 5611 5612 // GcsSource: The Google Cloud Storage location to read the input from. 5613 GcsSource *GoogleCloudVisionV1p2beta1GcsSource `json:"gcsSource,omitempty"` 5614 5615 // MimeType: The type of the file. Currently only "application/pdf", 5616 // "image/tiff" and 5617 // "image/gif" are supported. Wildcards are not supported. 5618 MimeType string `json:"mimeType,omitempty"` 5619 5620 // ForceSendFields is a list of field names (e.g. "Content") to 5621 // unconditionally include in API requests. By default, fields with 5622 // empty values are omitted from API requests. However, any non-pointer, 5623 // non-interface field appearing in ForceSendFields will be sent to the 5624 // server regardless of whether the field is empty or not. This may be 5625 // used to include empty fields in Patch requests. 5626 ForceSendFields []string `json:"-"` 5627 5628 // NullFields is a list of field names (e.g. "Content") to include in 5629 // API requests with the JSON null value. By default, fields with empty 5630 // values are omitted from API requests. However, any field with an 5631 // empty value appearing in NullFields will be sent to the server as 5632 // null. It is an error if a field in this list has a non-empty value. 5633 // This may be used to include null fields in Patch requests. 5634 NullFields []string `json:"-"` 5635} 5636 5637func (s *GoogleCloudVisionV1p2beta1InputConfig) MarshalJSON() ([]byte, error) { 5638 type NoMethod GoogleCloudVisionV1p2beta1InputConfig 5639 raw := NoMethod(*s) 5640 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5641} 5642 5643// GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation: Set of detected 5644// objects with bounding boxes. 5645type GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation struct { 5646 // BoundingPoly: Image region to which this object belongs. This must be 5647 // populated. 5648 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5649 5650 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 5651 // For more 5652 // information, 5653 // see 5654 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 5655 LanguageCode string `json:"languageCode,omitempty"` 5656 5657 // Mid: Object ID that should align with EntityAnnotation mid. 5658 Mid string `json:"mid,omitempty"` 5659 5660 // Name: Object name, expressed in its `language_code` language. 5661 Name string `json:"name,omitempty"` 5662 5663 // Score: Score of the result. Range [0, 1]. 5664 Score float64 `json:"score,omitempty"` 5665 5666 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5667 // unconditionally include in API requests. By default, fields with 5668 // empty values are omitted from API requests. However, any non-pointer, 5669 // non-interface field appearing in ForceSendFields will be sent to the 5670 // server regardless of whether the field is empty or not. This may be 5671 // used to include empty fields in Patch requests. 5672 ForceSendFields []string `json:"-"` 5673 5674 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5675 // in API requests with the JSON null value. By default, fields with 5676 // empty values are omitted from API requests. However, any field with 5677 // an empty value appearing in NullFields will be sent to the server as 5678 // null. It is an error if a field in this list has a non-empty value. 5679 // This may be used to include null fields in Patch requests. 5680 NullFields []string `json:"-"` 5681} 5682 5683func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 5684 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5685 raw := NoMethod(*s) 5686 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5687} 5688 5689func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 5690 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5691 var s1 struct { 5692 Score gensupport.JSONFloat64 `json:"score"` 5693 *NoMethod 5694 } 5695 s1.NoMethod = (*NoMethod)(s) 5696 if err := json.Unmarshal(data, &s1); err != nil { 5697 return err 5698 } 5699 s.Score = float64(s1.Score) 5700 return nil 5701} 5702 5703// GoogleCloudVisionV1p2beta1LocationInfo: Detected entity location 5704// information. 5705type GoogleCloudVisionV1p2beta1LocationInfo struct { 5706 // LatLng: lat/long location coordinates. 5707 LatLng *LatLng `json:"latLng,omitempty"` 5708 5709 // ForceSendFields is a list of field names (e.g. "LatLng") to 5710 // unconditionally include in API requests. By default, fields with 5711 // empty values are omitted from API requests. However, any non-pointer, 5712 // non-interface field appearing in ForceSendFields will be sent to the 5713 // server regardless of whether the field is empty or not. This may be 5714 // used to include empty fields in Patch requests. 5715 ForceSendFields []string `json:"-"` 5716 5717 // NullFields is a list of field names (e.g. "LatLng") to include in API 5718 // requests with the JSON null value. By default, fields with empty 5719 // values are omitted from API requests. However, any field with an 5720 // empty value appearing in NullFields will be sent to the server as 5721 // null. It is an error if a field in this list has a non-empty value. 5722 // This may be used to include null fields in Patch requests. 5723 NullFields []string `json:"-"` 5724} 5725 5726func (s *GoogleCloudVisionV1p2beta1LocationInfo) MarshalJSON() ([]byte, error) { 5727 type NoMethod GoogleCloudVisionV1p2beta1LocationInfo 5728 raw := NoMethod(*s) 5729 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5730} 5731 5732// GoogleCloudVisionV1p2beta1NormalizedVertex: A vertex represents a 2D 5733// point in the image. 5734// NOTE: the normalized vertex coordinates are relative to the original 5735// image 5736// and range from 0 to 1. 5737type GoogleCloudVisionV1p2beta1NormalizedVertex struct { 5738 // X: X coordinate. 5739 X float64 `json:"x,omitempty"` 5740 5741 // Y: Y coordinate. 5742 Y float64 `json:"y,omitempty"` 5743 5744 // ForceSendFields is a list of field names (e.g. "X") to 5745 // unconditionally include in API requests. By default, fields with 5746 // empty values are omitted from API requests. However, any non-pointer, 5747 // non-interface field appearing in ForceSendFields will be sent to the 5748 // server regardless of whether the field is empty or not. This may be 5749 // used to include empty fields in Patch requests. 5750 ForceSendFields []string `json:"-"` 5751 5752 // NullFields is a list of field names (e.g. "X") to include in API 5753 // requests with the JSON null value. By default, fields with empty 5754 // values are omitted from API requests. However, any field with an 5755 // empty value appearing in NullFields will be sent to the server as 5756 // null. It is an error if a field in this list has a non-empty value. 5757 // This may be used to include null fields in Patch requests. 5758 NullFields []string `json:"-"` 5759} 5760 5761func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 5762 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5763 raw := NoMethod(*s) 5764 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5765} 5766 5767func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 5768 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5769 var s1 struct { 5770 X gensupport.JSONFloat64 `json:"x"` 5771 Y gensupport.JSONFloat64 `json:"y"` 5772 *NoMethod 5773 } 5774 s1.NoMethod = (*NoMethod)(s) 5775 if err := json.Unmarshal(data, &s1); err != nil { 5776 return err 5777 } 5778 s.X = float64(s1.X) 5779 s.Y = float64(s1.Y) 5780 return nil 5781} 5782 5783// GoogleCloudVisionV1p2beta1OperationMetadata: Contains metadata for 5784// the BatchAnnotateImages operation. 5785type GoogleCloudVisionV1p2beta1OperationMetadata struct { 5786 // CreateTime: The time when the batch request was received. 5787 CreateTime string `json:"createTime,omitempty"` 5788 5789 // State: Current state of the batch operation. 5790 // 5791 // Possible values: 5792 // "STATE_UNSPECIFIED" - Invalid. 5793 // "CREATED" - Request is received. 5794 // "RUNNING" - Request is actively being processed. 5795 // "DONE" - The batch processing is done. 5796 // "CANCELLED" - The batch processing was cancelled. 5797 State string `json:"state,omitempty"` 5798 5799 // UpdateTime: The time when the operation result was last updated. 5800 UpdateTime string `json:"updateTime,omitempty"` 5801 5802 // ForceSendFields is a list of field names (e.g. "CreateTime") to 5803 // unconditionally include in API requests. By default, fields with 5804 // empty values are omitted from API requests. However, any non-pointer, 5805 // non-interface field appearing in ForceSendFields will be sent to the 5806 // server regardless of whether the field is empty or not. This may be 5807 // used to include empty fields in Patch requests. 5808 ForceSendFields []string `json:"-"` 5809 5810 // NullFields is a list of field names (e.g. "CreateTime") to include in 5811 // API requests with the JSON null value. By default, fields with empty 5812 // values are omitted from API requests. However, any field with an 5813 // empty value appearing in NullFields will be sent to the server as 5814 // null. It is an error if a field in this list has a non-empty value. 5815 // This may be used to include null fields in Patch requests. 5816 NullFields []string `json:"-"` 5817} 5818 5819func (s *GoogleCloudVisionV1p2beta1OperationMetadata) MarshalJSON() ([]byte, error) { 5820 type NoMethod GoogleCloudVisionV1p2beta1OperationMetadata 5821 raw := NoMethod(*s) 5822 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5823} 5824 5825// GoogleCloudVisionV1p2beta1OutputConfig: The desired output location 5826// and metadata. 5827type GoogleCloudVisionV1p2beta1OutputConfig struct { 5828 // BatchSize: The max number of response protos to put into each output 5829 // JSON file on 5830 // Google Cloud Storage. 5831 // The valid range is [1, 100]. If not specified, the default value is 5832 // 20. 5833 // 5834 // For example, for one pdf file with 100 pages, 100 response protos 5835 // will 5836 // be generated. If `batch_size` = 20, then 5 json files each 5837 // containing 20 response protos will be written under the 5838 // prefix 5839 // `gcs_destination`.`uri`. 5840 // 5841 // Currently, batch_size only applies to GcsDestination, with potential 5842 // future 5843 // support for other output configurations. 5844 BatchSize int64 `json:"batchSize,omitempty"` 5845 5846 // GcsDestination: The Google Cloud Storage location to write the 5847 // output(s) to. 5848 GcsDestination *GoogleCloudVisionV1p2beta1GcsDestination `json:"gcsDestination,omitempty"` 5849 5850 // ForceSendFields is a list of field names (e.g. "BatchSize") to 5851 // unconditionally include in API requests. By default, fields with 5852 // empty values are omitted from API requests. However, any non-pointer, 5853 // non-interface field appearing in ForceSendFields will be sent to the 5854 // server regardless of whether the field is empty or not. This may be 5855 // used to include empty fields in Patch requests. 5856 ForceSendFields []string `json:"-"` 5857 5858 // NullFields is a list of field names (e.g. "BatchSize") to include in 5859 // API requests with the JSON null value. By default, fields with empty 5860 // values are omitted from API requests. However, any field with an 5861 // empty value appearing in NullFields will be sent to the server as 5862 // null. It is an error if a field in this list has a non-empty value. 5863 // This may be used to include null fields in Patch requests. 5864 NullFields []string `json:"-"` 5865} 5866 5867func (s *GoogleCloudVisionV1p2beta1OutputConfig) MarshalJSON() ([]byte, error) { 5868 type NoMethod GoogleCloudVisionV1p2beta1OutputConfig 5869 raw := NoMethod(*s) 5870 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5871} 5872 5873// GoogleCloudVisionV1p2beta1Page: Detected page from OCR. 5874type GoogleCloudVisionV1p2beta1Page struct { 5875 // Blocks: List of blocks of text, images etc on this page. 5876 Blocks []*GoogleCloudVisionV1p2beta1Block `json:"blocks,omitempty"` 5877 5878 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 5879 Confidence float64 `json:"confidence,omitempty"` 5880 5881 // Height: Page height. For PDFs the unit is points. For images 5882 // (including 5883 // TIFFs) the unit is pixels. 5884 Height int64 `json:"height,omitempty"` 5885 5886 // Property: Additional information detected on the page. 5887 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5888 5889 // Width: Page width. For PDFs the unit is points. For images 5890 // (including 5891 // TIFFs) the unit is pixels. 5892 Width int64 `json:"width,omitempty"` 5893 5894 // ForceSendFields is a list of field names (e.g. "Blocks") to 5895 // unconditionally include in API requests. By default, fields with 5896 // empty values are omitted from API requests. However, any non-pointer, 5897 // non-interface field appearing in ForceSendFields will be sent to the 5898 // server regardless of whether the field is empty or not. This may be 5899 // used to include empty fields in Patch requests. 5900 ForceSendFields []string `json:"-"` 5901 5902 // NullFields is a list of field names (e.g. "Blocks") to include in API 5903 // requests with the JSON null value. By default, fields with empty 5904 // values are omitted from API requests. However, any field with an 5905 // empty value appearing in NullFields will be sent to the server as 5906 // null. It is an error if a field in this list has a non-empty value. 5907 // This may be used to include null fields in Patch requests. 5908 NullFields []string `json:"-"` 5909} 5910 5911func (s *GoogleCloudVisionV1p2beta1Page) MarshalJSON() ([]byte, error) { 5912 type NoMethod GoogleCloudVisionV1p2beta1Page 5913 raw := NoMethod(*s) 5914 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5915} 5916 5917func (s *GoogleCloudVisionV1p2beta1Page) UnmarshalJSON(data []byte) error { 5918 type NoMethod GoogleCloudVisionV1p2beta1Page 5919 var s1 struct { 5920 Confidence gensupport.JSONFloat64 `json:"confidence"` 5921 *NoMethod 5922 } 5923 s1.NoMethod = (*NoMethod)(s) 5924 if err := json.Unmarshal(data, &s1); err != nil { 5925 return err 5926 } 5927 s.Confidence = float64(s1.Confidence) 5928 return nil 5929} 5930 5931// GoogleCloudVisionV1p2beta1Paragraph: Structural unit of text 5932// representing a number of words in certain order. 5933type GoogleCloudVisionV1p2beta1Paragraph struct { 5934 // BoundingBox: The bounding box for the paragraph. 5935 // The vertices are in the order of top-left, top-right, 5936 // bottom-right, 5937 // bottom-left. When a rotation of the bounding box is detected the 5938 // rotation 5939 // is represented as around the top-left corner as defined when the text 5940 // is 5941 // read in the 'natural' orientation. 5942 // For example: 5943 // * when the text is horizontal it might look like: 5944 // 0----1 5945 // | | 5946 // 3----2 5947 // * when it's rotated 180 degrees around the top-left corner it 5948 // becomes: 5949 // 2----3 5950 // | | 5951 // 1----0 5952 // and the vertex order will still be (0, 1, 2, 3). 5953 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 5954 5955 // Confidence: Confidence of the OCR results for the paragraph. Range 5956 // [0, 1]. 5957 Confidence float64 `json:"confidence,omitempty"` 5958 5959 // Property: Additional information detected for the paragraph. 5960 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5961 5962 // Words: List of all words in this paragraph. 5963 Words []*GoogleCloudVisionV1p2beta1Word `json:"words,omitempty"` 5964 5965 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 5966 // unconditionally include in API requests. By default, fields with 5967 // empty values are omitted from API requests. However, any non-pointer, 5968 // non-interface field appearing in ForceSendFields will be sent to the 5969 // server regardless of whether the field is empty or not. This may be 5970 // used to include empty fields in Patch requests. 5971 ForceSendFields []string `json:"-"` 5972 5973 // NullFields is a list of field names (e.g. "BoundingBox") to include 5974 // in API requests with the JSON null value. By default, fields with 5975 // empty values are omitted from API requests. However, any field with 5976 // an empty value appearing in NullFields will be sent to the server as 5977 // null. It is an error if a field in this list has a non-empty value. 5978 // This may be used to include null fields in Patch requests. 5979 NullFields []string `json:"-"` 5980} 5981 5982func (s *GoogleCloudVisionV1p2beta1Paragraph) MarshalJSON() ([]byte, error) { 5983 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5984 raw := NoMethod(*s) 5985 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5986} 5987 5988func (s *GoogleCloudVisionV1p2beta1Paragraph) UnmarshalJSON(data []byte) error { 5989 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5990 var s1 struct { 5991 Confidence gensupport.JSONFloat64 `json:"confidence"` 5992 *NoMethod 5993 } 5994 s1.NoMethod = (*NoMethod)(s) 5995 if err := json.Unmarshal(data, &s1); err != nil { 5996 return err 5997 } 5998 s.Confidence = float64(s1.Confidence) 5999 return nil 6000} 6001 6002// GoogleCloudVisionV1p2beta1Position: A 3D position in the image, used 6003// primarily for Face detection landmarks. 6004// A valid Position must have both x and y coordinates. 6005// The position coordinates are in the same scale as the original image. 6006type GoogleCloudVisionV1p2beta1Position struct { 6007 // X: X coordinate. 6008 X float64 `json:"x,omitempty"` 6009 6010 // Y: Y coordinate. 6011 Y float64 `json:"y,omitempty"` 6012 6013 // Z: Z coordinate (or depth). 6014 Z float64 `json:"z,omitempty"` 6015 6016 // ForceSendFields is a list of field names (e.g. "X") to 6017 // unconditionally include in API requests. By default, fields with 6018 // empty values are omitted from API requests. However, any non-pointer, 6019 // non-interface field appearing in ForceSendFields will be sent to the 6020 // server regardless of whether the field is empty or not. This may be 6021 // used to include empty fields in Patch requests. 6022 ForceSendFields []string `json:"-"` 6023 6024 // NullFields is a list of field names (e.g. "X") to include in API 6025 // requests with the JSON null value. By default, fields with empty 6026 // values are omitted from API requests. However, any field with an 6027 // empty value appearing in NullFields will be sent to the server as 6028 // null. It is an error if a field in this list has a non-empty value. 6029 // This may be used to include null fields in Patch requests. 6030 NullFields []string `json:"-"` 6031} 6032 6033func (s *GoogleCloudVisionV1p2beta1Position) MarshalJSON() ([]byte, error) { 6034 type NoMethod GoogleCloudVisionV1p2beta1Position 6035 raw := NoMethod(*s) 6036 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6037} 6038 6039func (s *GoogleCloudVisionV1p2beta1Position) UnmarshalJSON(data []byte) error { 6040 type NoMethod GoogleCloudVisionV1p2beta1Position 6041 var s1 struct { 6042 X gensupport.JSONFloat64 `json:"x"` 6043 Y gensupport.JSONFloat64 `json:"y"` 6044 Z gensupport.JSONFloat64 `json:"z"` 6045 *NoMethod 6046 } 6047 s1.NoMethod = (*NoMethod)(s) 6048 if err := json.Unmarshal(data, &s1); err != nil { 6049 return err 6050 } 6051 s.X = float64(s1.X) 6052 s.Y = float64(s1.Y) 6053 s.Z = float64(s1.Z) 6054 return nil 6055} 6056 6057// GoogleCloudVisionV1p2beta1Product: A Product contains 6058// ReferenceImages. 6059type GoogleCloudVisionV1p2beta1Product struct { 6060 // Description: User-provided metadata to be stored with this product. 6061 // Must be at most 4096 6062 // characters long. 6063 Description string `json:"description,omitempty"` 6064 6065 // DisplayName: The user-provided name for this Product. Must not be 6066 // empty. Must be at most 6067 // 4096 characters long. 6068 DisplayName string `json:"displayName,omitempty"` 6069 6070 // Name: The resource name of the product. 6071 // 6072 // Format 6073 // is: 6074 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 6075 // 6076 // This field is ignored when creating a product. 6077 Name string `json:"name,omitempty"` 6078 6079 // ProductCategory: Immutable. The category for the product identified 6080 // by the reference image. This should 6081 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 6082 // categories 6083 // "homegoods", "apparel", and "toys" are still supported, but these 6084 // should 6085 // not be used for new products. 6086 ProductCategory string `json:"productCategory,omitempty"` 6087 6088 // ProductLabels: Key-value pairs that can be attached to a product. At 6089 // query time, 6090 // constraints can be specified based on the product_labels. 6091 // 6092 // Note that integer values can be provided as strings, e.g. "1199". 6093 // Only 6094 // strings with integer values can match a range-based restriction which 6095 // is 6096 // to be supported soon. 6097 // 6098 // Multiple values can be assigned to the same key. One product may have 6099 // up to 6100 // 500 product_labels. 6101 // 6102 // Notice that the total number of distinct product_labels over all 6103 // products 6104 // in one ProductSet cannot exceed 1M, otherwise the product search 6105 // pipeline 6106 // will refuse to work for that ProductSet. 6107 ProductLabels []*GoogleCloudVisionV1p2beta1ProductKeyValue `json:"productLabels,omitempty"` 6108 6109 // ForceSendFields is a list of field names (e.g. "Description") to 6110 // unconditionally include in API requests. By default, fields with 6111 // empty values are omitted from API requests. However, any non-pointer, 6112 // non-interface field appearing in ForceSendFields will be sent to the 6113 // server regardless of whether the field is empty or not. This may be 6114 // used to include empty fields in Patch requests. 6115 ForceSendFields []string `json:"-"` 6116 6117 // NullFields is a list of field names (e.g. "Description") to include 6118 // in API requests with the JSON null value. By default, fields with 6119 // empty values are omitted from API requests. However, any field with 6120 // an empty value appearing in NullFields will be sent to the server as 6121 // null. It is an error if a field in this list has a non-empty value. 6122 // This may be used to include null fields in Patch requests. 6123 NullFields []string `json:"-"` 6124} 6125 6126func (s *GoogleCloudVisionV1p2beta1Product) MarshalJSON() ([]byte, error) { 6127 type NoMethod GoogleCloudVisionV1p2beta1Product 6128 raw := NoMethod(*s) 6129 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6130} 6131 6132// GoogleCloudVisionV1p2beta1ProductKeyValue: A product label 6133// represented as a key-value pair. 6134type GoogleCloudVisionV1p2beta1ProductKeyValue struct { 6135 // Key: The key of the label attached to the product. Cannot be empty 6136 // and cannot 6137 // exceed 128 bytes. 6138 Key string `json:"key,omitempty"` 6139 6140 // Value: The value of the label attached to the product. Cannot be 6141 // empty and 6142 // cannot exceed 128 bytes. 6143 Value string `json:"value,omitempty"` 6144 6145 // ForceSendFields is a list of field names (e.g. "Key") to 6146 // unconditionally include in API requests. By default, fields with 6147 // empty values are omitted from API requests. However, any non-pointer, 6148 // non-interface field appearing in ForceSendFields will be sent to the 6149 // server regardless of whether the field is empty or not. This may be 6150 // used to include empty fields in Patch requests. 6151 ForceSendFields []string `json:"-"` 6152 6153 // NullFields is a list of field names (e.g. "Key") to include in API 6154 // requests with the JSON null value. By default, fields with empty 6155 // values are omitted from API requests. However, any field with an 6156 // empty value appearing in NullFields will be sent to the server as 6157 // null. It is an error if a field in this list has a non-empty value. 6158 // This may be used to include null fields in Patch requests. 6159 NullFields []string `json:"-"` 6160} 6161 6162func (s *GoogleCloudVisionV1p2beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 6163 type NoMethod GoogleCloudVisionV1p2beta1ProductKeyValue 6164 raw := NoMethod(*s) 6165 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6166} 6167 6168// GoogleCloudVisionV1p2beta1ProductSearchResults: Results for a product 6169// search request. 6170type GoogleCloudVisionV1p2beta1ProductSearchResults struct { 6171 // IndexTime: Timestamp of the index which provided these results. 6172 // Products added to the 6173 // product set and products removed from the product set after this time 6174 // are 6175 // not reflected in the current results. 6176 IndexTime string `json:"indexTime,omitempty"` 6177 6178 // ProductGroupedResults: List of results grouped by products detected 6179 // in the query image. Each entry 6180 // corresponds to one bounding polygon in the query image, and contains 6181 // the 6182 // matching products specific to that region. There may be duplicate 6183 // product 6184 // matches in the union of all the per-product results. 6185 ProductGroupedResults []*GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 6186 6187 // Results: List of results, one for each product match. 6188 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 6189 6190 // ForceSendFields is a list of field names (e.g. "IndexTime") to 6191 // unconditionally include in API requests. By default, fields with 6192 // empty values are omitted from API requests. However, any non-pointer, 6193 // non-interface field appearing in ForceSendFields will be sent to the 6194 // server regardless of whether the field is empty or not. This may be 6195 // used to include empty fields in Patch requests. 6196 ForceSendFields []string `json:"-"` 6197 6198 // NullFields is a list of field names (e.g. "IndexTime") to include in 6199 // API requests with the JSON null value. By default, fields with empty 6200 // values are omitted from API requests. However, any field with an 6201 // empty value appearing in NullFields will be sent to the server as 6202 // null. It is an error if a field in this list has a non-empty value. 6203 // This may be used to include null fields in Patch requests. 6204 NullFields []string `json:"-"` 6205} 6206 6207func (s *GoogleCloudVisionV1p2beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 6208 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResults 6209 raw := NoMethod(*s) 6210 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6211} 6212 6213// GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult: 6214// Information about the products similar to a single product in a 6215// query 6216// image. 6217type GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult struct { 6218 // BoundingPoly: The bounding polygon around the product detected in the 6219 // query image. 6220 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 6221 6222 // ObjectAnnotations: List of generic predictions for the object in the 6223 // bounding box. 6224 ObjectAnnotations []*GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 6225 6226 // Results: List of results, one for each product match. 6227 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 6228 6229 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 6230 // unconditionally include in API requests. By default, fields with 6231 // empty values are omitted from API requests. However, any non-pointer, 6232 // non-interface field appearing in ForceSendFields will be sent to the 6233 // server regardless of whether the field is empty or not. This may be 6234 // used to include empty fields in Patch requests. 6235 ForceSendFields []string `json:"-"` 6236 6237 // NullFields is a list of field names (e.g. "BoundingPoly") to include 6238 // in API requests with the JSON null value. By default, fields with 6239 // empty values are omitted from API requests. However, any field with 6240 // an empty value appearing in NullFields will be sent to the server as 6241 // null. It is an error if a field in this list has a non-empty value. 6242 // This may be used to include null fields in Patch requests. 6243 NullFields []string `json:"-"` 6244} 6245 6246func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 6247 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult 6248 raw := NoMethod(*s) 6249 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6250} 6251 6252// GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation: 6253// Prediction for what the object in the bounding box is. 6254type GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation struct { 6255 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 6256 // For more 6257 // information, 6258 // see 6259 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6260 LanguageCode string `json:"languageCode,omitempty"` 6261 6262 // Mid: Object ID that should align with EntityAnnotation mid. 6263 Mid string `json:"mid,omitempty"` 6264 6265 // Name: Object name, expressed in its `language_code` language. 6266 Name string `json:"name,omitempty"` 6267 6268 // Score: Score of the result. Range [0, 1]. 6269 Score float64 `json:"score,omitempty"` 6270 6271 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 6272 // unconditionally include in API requests. By default, fields with 6273 // empty values are omitted from API requests. However, any non-pointer, 6274 // non-interface field appearing in ForceSendFields will be sent to the 6275 // server regardless of whether the field is empty or not. This may be 6276 // used to include empty fields in Patch requests. 6277 ForceSendFields []string `json:"-"` 6278 6279 // NullFields is a list of field names (e.g. "LanguageCode") to include 6280 // in API requests with the JSON null value. By default, fields with 6281 // empty values are omitted from API requests. However, any field with 6282 // an empty value appearing in NullFields will be sent to the server as 6283 // null. It is an error if a field in this list has a non-empty value. 6284 // This may be used to include null fields in Patch requests. 6285 NullFields []string `json:"-"` 6286} 6287 6288func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 6289 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 6290 raw := NoMethod(*s) 6291 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6292} 6293 6294func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 6295 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 6296 var s1 struct { 6297 Score gensupport.JSONFloat64 `json:"score"` 6298 *NoMethod 6299 } 6300 s1.NoMethod = (*NoMethod)(s) 6301 if err := json.Unmarshal(data, &s1); err != nil { 6302 return err 6303 } 6304 s.Score = float64(s1.Score) 6305 return nil 6306} 6307 6308// GoogleCloudVisionV1p2beta1ProductSearchResultsResult: Information 6309// about a product. 6310type GoogleCloudVisionV1p2beta1ProductSearchResultsResult struct { 6311 // Image: The resource name of the image from the product that is the 6312 // closest match 6313 // to the query. 6314 Image string `json:"image,omitempty"` 6315 6316 // Product: The Product. 6317 Product *GoogleCloudVisionV1p2beta1Product `json:"product,omitempty"` 6318 6319 // Score: A confidence level on the match, ranging from 0 (no 6320 // confidence) to 6321 // 1 (full confidence). 6322 Score float64 `json:"score,omitempty"` 6323 6324 // ForceSendFields is a list of field names (e.g. "Image") to 6325 // unconditionally include in API requests. By default, fields with 6326 // empty values are omitted from API requests. However, any non-pointer, 6327 // non-interface field appearing in ForceSendFields will be sent to the 6328 // server regardless of whether the field is empty or not. This may be 6329 // used to include empty fields in Patch requests. 6330 ForceSendFields []string `json:"-"` 6331 6332 // NullFields is a list of field names (e.g. "Image") to include in API 6333 // requests with the JSON null value. By default, fields with empty 6334 // values are omitted from API requests. However, any field with an 6335 // empty value appearing in NullFields will be sent to the server as 6336 // null. It is an error if a field in this list has a non-empty value. 6337 // This may be used to include null fields in Patch requests. 6338 NullFields []string `json:"-"` 6339} 6340 6341func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 6342 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 6343 raw := NoMethod(*s) 6344 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6345} 6346 6347func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 6348 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 6349 var s1 struct { 6350 Score gensupport.JSONFloat64 `json:"score"` 6351 *NoMethod 6352 } 6353 s1.NoMethod = (*NoMethod)(s) 6354 if err := json.Unmarshal(data, &s1); err != nil { 6355 return err 6356 } 6357 s.Score = float64(s1.Score) 6358 return nil 6359} 6360 6361// GoogleCloudVisionV1p2beta1Property: A `Property` consists of a 6362// user-supplied name/value pair. 6363type GoogleCloudVisionV1p2beta1Property struct { 6364 // Name: Name of the property. 6365 Name string `json:"name,omitempty"` 6366 6367 // Uint64Value: Value of numeric properties. 6368 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 6369 6370 // Value: Value of the property. 6371 Value string `json:"value,omitempty"` 6372 6373 // ForceSendFields is a list of field names (e.g. "Name") to 6374 // unconditionally include in API requests. By default, fields with 6375 // empty values are omitted from API requests. However, any non-pointer, 6376 // non-interface field appearing in ForceSendFields will be sent to the 6377 // server regardless of whether the field is empty or not. This may be 6378 // used to include empty fields in Patch requests. 6379 ForceSendFields []string `json:"-"` 6380 6381 // NullFields is a list of field names (e.g. "Name") to include in API 6382 // requests with the JSON null value. By default, fields with empty 6383 // values are omitted from API requests. However, any field with an 6384 // empty value appearing in NullFields will be sent to the server as 6385 // null. It is an error if a field in this list has a non-empty value. 6386 // This may be used to include null fields in Patch requests. 6387 NullFields []string `json:"-"` 6388} 6389 6390func (s *GoogleCloudVisionV1p2beta1Property) MarshalJSON() ([]byte, error) { 6391 type NoMethod GoogleCloudVisionV1p2beta1Property 6392 raw := NoMethod(*s) 6393 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6394} 6395 6396// GoogleCloudVisionV1p2beta1SafeSearchAnnotation: Set of features 6397// pertaining to the image, computed by computer vision 6398// methods over safe-search verticals (for example, adult, spoof, 6399// medical, 6400// violence). 6401type GoogleCloudVisionV1p2beta1SafeSearchAnnotation struct { 6402 // Adult: Represents the adult content likelihood for the image. Adult 6403 // content may 6404 // contain elements such as nudity, pornographic images or cartoons, 6405 // or 6406 // sexual activities. 6407 // 6408 // Possible values: 6409 // "UNKNOWN" - Unknown likelihood. 6410 // "VERY_UNLIKELY" - It is very unlikely. 6411 // "UNLIKELY" - It is unlikely. 6412 // "POSSIBLE" - It is possible. 6413 // "LIKELY" - It is likely. 6414 // "VERY_LIKELY" - It is very likely. 6415 Adult string `json:"adult,omitempty"` 6416 6417 // Medical: Likelihood that this is a medical image. 6418 // 6419 // Possible values: 6420 // "UNKNOWN" - Unknown likelihood. 6421 // "VERY_UNLIKELY" - It is very unlikely. 6422 // "UNLIKELY" - It is unlikely. 6423 // "POSSIBLE" - It is possible. 6424 // "LIKELY" - It is likely. 6425 // "VERY_LIKELY" - It is very likely. 6426 Medical string `json:"medical,omitempty"` 6427 6428 // Racy: Likelihood that the request image contains racy content. Racy 6429 // content may 6430 // include (but is not limited to) skimpy or sheer clothing, 6431 // strategically 6432 // covered nudity, lewd or provocative poses, or close-ups of 6433 // sensitive 6434 // body areas. 6435 // 6436 // Possible values: 6437 // "UNKNOWN" - Unknown likelihood. 6438 // "VERY_UNLIKELY" - It is very unlikely. 6439 // "UNLIKELY" - It is unlikely. 6440 // "POSSIBLE" - It is possible. 6441 // "LIKELY" - It is likely. 6442 // "VERY_LIKELY" - It is very likely. 6443 Racy string `json:"racy,omitempty"` 6444 6445 // Spoof: Spoof likelihood. The likelihood that an modification 6446 // was made to the image's canonical version to make it appear 6447 // funny or offensive. 6448 // 6449 // Possible values: 6450 // "UNKNOWN" - Unknown likelihood. 6451 // "VERY_UNLIKELY" - It is very unlikely. 6452 // "UNLIKELY" - It is unlikely. 6453 // "POSSIBLE" - It is possible. 6454 // "LIKELY" - It is likely. 6455 // "VERY_LIKELY" - It is very likely. 6456 Spoof string `json:"spoof,omitempty"` 6457 6458 // Violence: Likelihood that this image contains violent content. 6459 // 6460 // Possible values: 6461 // "UNKNOWN" - Unknown likelihood. 6462 // "VERY_UNLIKELY" - It is very unlikely. 6463 // "UNLIKELY" - It is unlikely. 6464 // "POSSIBLE" - It is possible. 6465 // "LIKELY" - It is likely. 6466 // "VERY_LIKELY" - It is very likely. 6467 Violence string `json:"violence,omitempty"` 6468 6469 // ForceSendFields is a list of field names (e.g. "Adult") to 6470 // unconditionally include in API requests. By default, fields with 6471 // empty values are omitted from API requests. However, any non-pointer, 6472 // non-interface field appearing in ForceSendFields will be sent to the 6473 // server regardless of whether the field is empty or not. This may be 6474 // used to include empty fields in Patch requests. 6475 ForceSendFields []string `json:"-"` 6476 6477 // NullFields is a list of field names (e.g. "Adult") to include in API 6478 // requests with the JSON null value. By default, fields with empty 6479 // values are omitted from API requests. However, any field with an 6480 // empty value appearing in NullFields will be sent to the server as 6481 // null. It is an error if a field in this list has a non-empty value. 6482 // This may be used to include null fields in Patch requests. 6483 NullFields []string `json:"-"` 6484} 6485 6486func (s *GoogleCloudVisionV1p2beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 6487 type NoMethod GoogleCloudVisionV1p2beta1SafeSearchAnnotation 6488 raw := NoMethod(*s) 6489 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6490} 6491 6492// GoogleCloudVisionV1p2beta1Symbol: A single symbol representation. 6493type GoogleCloudVisionV1p2beta1Symbol struct { 6494 // BoundingBox: The bounding box for the symbol. 6495 // The vertices are in the order of top-left, top-right, 6496 // bottom-right, 6497 // bottom-left. When a rotation of the bounding box is detected the 6498 // rotation 6499 // is represented as around the top-left corner as defined when the text 6500 // is 6501 // read in the 'natural' orientation. 6502 // For example: 6503 // * when the text is horizontal it might look like: 6504 // 0----1 6505 // | | 6506 // 3----2 6507 // * when it's rotated 180 degrees around the top-left corner it 6508 // becomes: 6509 // 2----3 6510 // | | 6511 // 1----0 6512 // and the vertex order will still be (0, 1, 2, 3). 6513 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 6514 6515 // Confidence: Confidence of the OCR results for the symbol. Range [0, 6516 // 1]. 6517 Confidence float64 `json:"confidence,omitempty"` 6518 6519 // Property: Additional information detected for the symbol. 6520 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 6521 6522 // Text: The actual UTF-8 representation of the symbol. 6523 Text string `json:"text,omitempty"` 6524 6525 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 6526 // unconditionally include in API requests. By default, fields with 6527 // empty values are omitted from API requests. However, any non-pointer, 6528 // non-interface field appearing in ForceSendFields will be sent to the 6529 // server regardless of whether the field is empty or not. This may be 6530 // used to include empty fields in Patch requests. 6531 ForceSendFields []string `json:"-"` 6532 6533 // NullFields is a list of field names (e.g. "BoundingBox") to include 6534 // in API requests with the JSON null value. By default, fields with 6535 // empty values are omitted from API requests. However, any field with 6536 // an empty value appearing in NullFields will be sent to the server as 6537 // null. It is an error if a field in this list has a non-empty value. 6538 // This may be used to include null fields in Patch requests. 6539 NullFields []string `json:"-"` 6540} 6541 6542func (s *GoogleCloudVisionV1p2beta1Symbol) MarshalJSON() ([]byte, error) { 6543 type NoMethod GoogleCloudVisionV1p2beta1Symbol 6544 raw := NoMethod(*s) 6545 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6546} 6547 6548func (s *GoogleCloudVisionV1p2beta1Symbol) UnmarshalJSON(data []byte) error { 6549 type NoMethod GoogleCloudVisionV1p2beta1Symbol 6550 var s1 struct { 6551 Confidence gensupport.JSONFloat64 `json:"confidence"` 6552 *NoMethod 6553 } 6554 s1.NoMethod = (*NoMethod)(s) 6555 if err := json.Unmarshal(data, &s1); err != nil { 6556 return err 6557 } 6558 s.Confidence = float64(s1.Confidence) 6559 return nil 6560} 6561 6562// GoogleCloudVisionV1p2beta1TextAnnotation: TextAnnotation contains a 6563// structured representation of OCR extracted text. 6564// The hierarchy of an OCR extracted text structure is like this: 6565// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 6566// Symbol 6567// Each structural component, starting from Page, may further have their 6568// own 6569// properties. Properties describe detected languages, breaks etc.. 6570// Please refer 6571// to the TextAnnotation.TextProperty message definition below for 6572// more 6573// detail. 6574type GoogleCloudVisionV1p2beta1TextAnnotation struct { 6575 // Pages: List of pages detected by OCR. 6576 Pages []*GoogleCloudVisionV1p2beta1Page `json:"pages,omitempty"` 6577 6578 // Text: UTF-8 text detected on the pages. 6579 Text string `json:"text,omitempty"` 6580 6581 // ForceSendFields is a list of field names (e.g. "Pages") to 6582 // unconditionally include in API requests. By default, fields with 6583 // empty values are omitted from API requests. However, any non-pointer, 6584 // non-interface field appearing in ForceSendFields will be sent to the 6585 // server regardless of whether the field is empty or not. This may be 6586 // used to include empty fields in Patch requests. 6587 ForceSendFields []string `json:"-"` 6588 6589 // NullFields is a list of field names (e.g. "Pages") to include in API 6590 // requests with the JSON null value. By default, fields with empty 6591 // values are omitted from API requests. However, any field with an 6592 // empty value appearing in NullFields will be sent to the server as 6593 // null. It is an error if a field in this list has a non-empty value. 6594 // This may be used to include null fields in Patch requests. 6595 NullFields []string `json:"-"` 6596} 6597 6598func (s *GoogleCloudVisionV1p2beta1TextAnnotation) MarshalJSON() ([]byte, error) { 6599 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotation 6600 raw := NoMethod(*s) 6601 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6602} 6603 6604// GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak: Detected start 6605// or end of a structural component. 6606type GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak struct { 6607 // IsPrefix: True if break prepends the element. 6608 IsPrefix bool `json:"isPrefix,omitempty"` 6609 6610 // Type: Detected break type. 6611 // 6612 // Possible values: 6613 // "UNKNOWN" - Unknown break label type. 6614 // "SPACE" - Regular space. 6615 // "SURE_SPACE" - Sure space (very wide). 6616 // "EOL_SURE_SPACE" - Line-wrapping break. 6617 // "HYPHEN" - End-line hyphen that is not present in text; does not 6618 // co-occur with 6619 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 6620 // "LINE_BREAK" - Line break that ends a paragraph. 6621 Type string `json:"type,omitempty"` 6622 6623 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 6624 // unconditionally include in API requests. By default, fields with 6625 // empty values are omitted from API requests. However, any non-pointer, 6626 // non-interface field appearing in ForceSendFields will be sent to the 6627 // server regardless of whether the field is empty or not. This may be 6628 // used to include empty fields in Patch requests. 6629 ForceSendFields []string `json:"-"` 6630 6631 // NullFields is a list of field names (e.g. "IsPrefix") to include in 6632 // API requests with the JSON null value. By default, fields with empty 6633 // values are omitted from API requests. However, any field with an 6634 // empty value appearing in NullFields will be sent to the server as 6635 // null. It is an error if a field in this list has a non-empty value. 6636 // This may be used to include null fields in Patch requests. 6637 NullFields []string `json:"-"` 6638} 6639 6640func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 6641 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak 6642 raw := NoMethod(*s) 6643 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6644} 6645 6646// GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage: Detected 6647// language for a structural component. 6648type GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage struct { 6649 // Confidence: Confidence of detected language. Range [0, 1]. 6650 Confidence float64 `json:"confidence,omitempty"` 6651 6652 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 6653 // For more 6654 // information, 6655 // see 6656 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6657 LanguageCode string `json:"languageCode,omitempty"` 6658 6659 // ForceSendFields is a list of field names (e.g. "Confidence") to 6660 // unconditionally include in API requests. By default, fields with 6661 // empty values are omitted from API requests. However, any non-pointer, 6662 // non-interface field appearing in ForceSendFields will be sent to the 6663 // server regardless of whether the field is empty or not. This may be 6664 // used to include empty fields in Patch requests. 6665 ForceSendFields []string `json:"-"` 6666 6667 // NullFields is a list of field names (e.g. "Confidence") to include in 6668 // API requests with the JSON null value. By default, fields with empty 6669 // values are omitted from API requests. However, any field with an 6670 // empty value appearing in NullFields will be sent to the server as 6671 // null. It is an error if a field in this list has a non-empty value. 6672 // This may be used to include null fields in Patch requests. 6673 NullFields []string `json:"-"` 6674} 6675 6676func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 6677 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6678 raw := NoMethod(*s) 6679 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6680} 6681 6682func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 6683 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6684 var s1 struct { 6685 Confidence gensupport.JSONFloat64 `json:"confidence"` 6686 *NoMethod 6687 } 6688 s1.NoMethod = (*NoMethod)(s) 6689 if err := json.Unmarshal(data, &s1); err != nil { 6690 return err 6691 } 6692 s.Confidence = float64(s1.Confidence) 6693 return nil 6694} 6695 6696// GoogleCloudVisionV1p2beta1TextAnnotationTextProperty: Additional 6697// information detected on the structural component. 6698type GoogleCloudVisionV1p2beta1TextAnnotationTextProperty struct { 6699 // DetectedBreak: Detected start or end of a text segment. 6700 DetectedBreak *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 6701 6702 // DetectedLanguages: A list of detected languages together with 6703 // confidence. 6704 DetectedLanguages []*GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 6705 6706 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 6707 // unconditionally include in API requests. By default, fields with 6708 // empty values are omitted from API requests. However, any non-pointer, 6709 // non-interface field appearing in ForceSendFields will be sent to the 6710 // server regardless of whether the field is empty or not. This may be 6711 // used to include empty fields in Patch requests. 6712 ForceSendFields []string `json:"-"` 6713 6714 // NullFields is a list of field names (e.g. "DetectedBreak") to include 6715 // in API requests with the JSON null value. By default, fields with 6716 // empty values are omitted from API requests. However, any field with 6717 // an empty value appearing in NullFields will be sent to the server as 6718 // null. It is an error if a field in this list has a non-empty value. 6719 // This may be used to include null fields in Patch requests. 6720 NullFields []string `json:"-"` 6721} 6722 6723func (s *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 6724 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationTextProperty 6725 raw := NoMethod(*s) 6726 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6727} 6728 6729// GoogleCloudVisionV1p2beta1Vertex: A vertex represents a 2D point in 6730// the image. 6731// NOTE: the vertex coordinates are in the same scale as the original 6732// image. 6733type GoogleCloudVisionV1p2beta1Vertex struct { 6734 // X: X coordinate. 6735 X int64 `json:"x,omitempty"` 6736 6737 // Y: Y coordinate. 6738 Y int64 `json:"y,omitempty"` 6739 6740 // ForceSendFields is a list of field names (e.g. "X") to 6741 // unconditionally include in API requests. By default, fields with 6742 // empty values are omitted from API requests. However, any non-pointer, 6743 // non-interface field appearing in ForceSendFields will be sent to the 6744 // server regardless of whether the field is empty or not. This may be 6745 // used to include empty fields in Patch requests. 6746 ForceSendFields []string `json:"-"` 6747 6748 // NullFields is a list of field names (e.g. "X") to include in API 6749 // requests with the JSON null value. By default, fields with empty 6750 // values are omitted from API requests. However, any field with an 6751 // empty value appearing in NullFields will be sent to the server as 6752 // null. It is an error if a field in this list has a non-empty value. 6753 // This may be used to include null fields in Patch requests. 6754 NullFields []string `json:"-"` 6755} 6756 6757func (s *GoogleCloudVisionV1p2beta1Vertex) MarshalJSON() ([]byte, error) { 6758 type NoMethod GoogleCloudVisionV1p2beta1Vertex 6759 raw := NoMethod(*s) 6760 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6761} 6762 6763// GoogleCloudVisionV1p2beta1WebDetection: Relevant information for the 6764// image from the Internet. 6765type GoogleCloudVisionV1p2beta1WebDetection struct { 6766 // BestGuessLabels: The service's best guess as to the topic of the 6767 // request image. 6768 // Inferred from similar images on the open web. 6769 BestGuessLabels []*GoogleCloudVisionV1p2beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 6770 6771 // FullMatchingImages: Fully matching images from the Internet. 6772 // Can include resized copies of the query image. 6773 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6774 6775 // PagesWithMatchingImages: Web pages containing the matching images 6776 // from the Internet. 6777 PagesWithMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 6778 6779 // PartialMatchingImages: Partial matching images from the 6780 // Internet. 6781 // Those images are similar enough to share some key-point features. 6782 // For 6783 // example an original image will likely have partial matching for its 6784 // crops. 6785 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6786 6787 // VisuallySimilarImages: The visually similar image results. 6788 VisuallySimilarImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 6789 6790 // WebEntities: Deduced entities from similar images on the Internet. 6791 WebEntities []*GoogleCloudVisionV1p2beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 6792 6793 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 6794 // unconditionally include in API requests. By default, fields with 6795 // empty values are omitted from API requests. However, any non-pointer, 6796 // non-interface field appearing in ForceSendFields will be sent to the 6797 // server regardless of whether the field is empty or not. This may be 6798 // used to include empty fields in Patch requests. 6799 ForceSendFields []string `json:"-"` 6800 6801 // NullFields is a list of field names (e.g. "BestGuessLabels") to 6802 // include in API requests with the JSON null value. By default, fields 6803 // with empty values are omitted from API requests. However, any field 6804 // with an empty value appearing in NullFields will be sent to the 6805 // server as null. It is an error if a field in this list has a 6806 // non-empty value. This may be used to include null fields in Patch 6807 // requests. 6808 NullFields []string `json:"-"` 6809} 6810 6811func (s *GoogleCloudVisionV1p2beta1WebDetection) MarshalJSON() ([]byte, error) { 6812 type NoMethod GoogleCloudVisionV1p2beta1WebDetection 6813 raw := NoMethod(*s) 6814 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6815} 6816 6817// GoogleCloudVisionV1p2beta1WebDetectionWebEntity: Entity deduced from 6818// similar images on the Internet. 6819type GoogleCloudVisionV1p2beta1WebDetectionWebEntity struct { 6820 // Description: Canonical description of the entity, in English. 6821 Description string `json:"description,omitempty"` 6822 6823 // EntityId: Opaque entity ID. 6824 EntityId string `json:"entityId,omitempty"` 6825 6826 // Score: Overall relevancy score for the entity. 6827 // Not normalized and not comparable across different image queries. 6828 Score float64 `json:"score,omitempty"` 6829 6830 // ForceSendFields is a list of field names (e.g. "Description") to 6831 // unconditionally include in API requests. By default, fields with 6832 // empty values are omitted from API requests. However, any non-pointer, 6833 // non-interface field appearing in ForceSendFields will be sent to the 6834 // server regardless of whether the field is empty or not. This may be 6835 // used to include empty fields in Patch requests. 6836 ForceSendFields []string `json:"-"` 6837 6838 // NullFields is a list of field names (e.g. "Description") to include 6839 // in API requests with the JSON null value. By default, fields with 6840 // empty values are omitted from API requests. However, any field with 6841 // an empty value appearing in NullFields will be sent to the server as 6842 // null. It is an error if a field in this list has a non-empty value. 6843 // This may be used to include null fields in Patch requests. 6844 NullFields []string `json:"-"` 6845} 6846 6847func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 6848 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6849 raw := NoMethod(*s) 6850 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6851} 6852 6853func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 6854 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6855 var s1 struct { 6856 Score gensupport.JSONFloat64 `json:"score"` 6857 *NoMethod 6858 } 6859 s1.NoMethod = (*NoMethod)(s) 6860 if err := json.Unmarshal(data, &s1); err != nil { 6861 return err 6862 } 6863 s.Score = float64(s1.Score) 6864 return nil 6865} 6866 6867// GoogleCloudVisionV1p2beta1WebDetectionWebImage: Metadata for online 6868// images. 6869type GoogleCloudVisionV1p2beta1WebDetectionWebImage struct { 6870 // Score: (Deprecated) Overall relevancy score for the image. 6871 Score float64 `json:"score,omitempty"` 6872 6873 // Url: The result image URL. 6874 Url string `json:"url,omitempty"` 6875 6876 // ForceSendFields is a list of field names (e.g. "Score") to 6877 // unconditionally include in API requests. By default, fields with 6878 // empty values are omitted from API requests. However, any non-pointer, 6879 // non-interface field appearing in ForceSendFields will be sent to the 6880 // server regardless of whether the field is empty or not. This may be 6881 // used to include empty fields in Patch requests. 6882 ForceSendFields []string `json:"-"` 6883 6884 // NullFields is a list of field names (e.g. "Score") to include in API 6885 // requests with the JSON null value. By default, fields with empty 6886 // values are omitted from API requests. However, any field with an 6887 // empty value appearing in NullFields will be sent to the server as 6888 // null. It is an error if a field in this list has a non-empty value. 6889 // This may be used to include null fields in Patch requests. 6890 NullFields []string `json:"-"` 6891} 6892 6893func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 6894 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6895 raw := NoMethod(*s) 6896 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6897} 6898 6899func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 6900 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6901 var s1 struct { 6902 Score gensupport.JSONFloat64 `json:"score"` 6903 *NoMethod 6904 } 6905 s1.NoMethod = (*NoMethod)(s) 6906 if err := json.Unmarshal(data, &s1); err != nil { 6907 return err 6908 } 6909 s.Score = float64(s1.Score) 6910 return nil 6911} 6912 6913// GoogleCloudVisionV1p2beta1WebDetectionWebLabel: Label to provide 6914// extra metadata for the web detection. 6915type GoogleCloudVisionV1p2beta1WebDetectionWebLabel struct { 6916 // Label: Label for extra metadata. 6917 Label string `json:"label,omitempty"` 6918 6919 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 6920 // or "sr-Latn". 6921 // For more information, 6922 // see 6923 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6924 LanguageCode string `json:"languageCode,omitempty"` 6925 6926 // ForceSendFields is a list of field names (e.g. "Label") to 6927 // unconditionally include in API requests. By default, fields with 6928 // empty values are omitted from API requests. However, any non-pointer, 6929 // non-interface field appearing in ForceSendFields will be sent to the 6930 // server regardless of whether the field is empty or not. This may be 6931 // used to include empty fields in Patch requests. 6932 ForceSendFields []string `json:"-"` 6933 6934 // NullFields is a list of field names (e.g. "Label") to include in API 6935 // requests with the JSON null value. By default, fields with empty 6936 // values are omitted from API requests. However, any field with an 6937 // empty value appearing in NullFields will be sent to the server as 6938 // null. It is an error if a field in this list has a non-empty value. 6939 // This may be used to include null fields in Patch requests. 6940 NullFields []string `json:"-"` 6941} 6942 6943func (s *GoogleCloudVisionV1p2beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 6944 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebLabel 6945 raw := NoMethod(*s) 6946 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6947} 6948 6949// GoogleCloudVisionV1p2beta1WebDetectionWebPage: Metadata for web 6950// pages. 6951type GoogleCloudVisionV1p2beta1WebDetectionWebPage struct { 6952 // FullMatchingImages: Fully matching images on the page. 6953 // Can include resized copies of the query image. 6954 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6955 6956 // PageTitle: Title for the web page, may contain HTML markups. 6957 PageTitle string `json:"pageTitle,omitempty"` 6958 6959 // PartialMatchingImages: Partial matching images on the page. 6960 // Those images are similar enough to share some key-point features. 6961 // For 6962 // example an original image will likely have partial matching for 6963 // its 6964 // crops. 6965 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6966 6967 // Score: (Deprecated) Overall relevancy score for the web page. 6968 Score float64 `json:"score,omitempty"` 6969 6970 // Url: The result web page URL. 6971 Url string `json:"url,omitempty"` 6972 6973 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 6974 // to unconditionally include in API requests. By default, fields with 6975 // empty values are omitted from API requests. However, any non-pointer, 6976 // non-interface field appearing in ForceSendFields will be sent to the 6977 // server regardless of whether the field is empty or not. This may be 6978 // used to include empty fields in Patch requests. 6979 ForceSendFields []string `json:"-"` 6980 6981 // NullFields is a list of field names (e.g. "FullMatchingImages") to 6982 // include in API requests with the JSON null value. By default, fields 6983 // with empty values are omitted from API requests. However, any field 6984 // with an empty value appearing in NullFields will be sent to the 6985 // server as null. It is an error if a field in this list has a 6986 // non-empty value. This may be used to include null fields in Patch 6987 // requests. 6988 NullFields []string `json:"-"` 6989} 6990 6991func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 6992 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 6993 raw := NoMethod(*s) 6994 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6995} 6996 6997func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 6998 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 6999 var s1 struct { 7000 Score gensupport.JSONFloat64 `json:"score"` 7001 *NoMethod 7002 } 7003 s1.NoMethod = (*NoMethod)(s) 7004 if err := json.Unmarshal(data, &s1); err != nil { 7005 return err 7006 } 7007 s.Score = float64(s1.Score) 7008 return nil 7009} 7010 7011// GoogleCloudVisionV1p2beta1Word: A word representation. 7012type GoogleCloudVisionV1p2beta1Word struct { 7013 // BoundingBox: The bounding box for the word. 7014 // The vertices are in the order of top-left, top-right, 7015 // bottom-right, 7016 // bottom-left. When a rotation of the bounding box is detected the 7017 // rotation 7018 // is represented as around the top-left corner as defined when the text 7019 // is 7020 // read in the 'natural' orientation. 7021 // For example: 7022 // * when the text is horizontal it might look like: 7023 // 0----1 7024 // | | 7025 // 3----2 7026 // * when it's rotated 180 degrees around the top-left corner it 7027 // becomes: 7028 // 2----3 7029 // | | 7030 // 1----0 7031 // and the vertex order will still be (0, 1, 2, 3). 7032 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 7033 7034 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 7035 Confidence float64 `json:"confidence,omitempty"` 7036 7037 // Property: Additional information detected for the word. 7038 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 7039 7040 // Symbols: List of symbols in the word. 7041 // The order of the symbols follows the natural reading order. 7042 Symbols []*GoogleCloudVisionV1p2beta1Symbol `json:"symbols,omitempty"` 7043 7044 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 7045 // unconditionally include in API requests. By default, fields with 7046 // empty values are omitted from API requests. However, any non-pointer, 7047 // non-interface field appearing in ForceSendFields will be sent to the 7048 // server regardless of whether the field is empty or not. This may be 7049 // used to include empty fields in Patch requests. 7050 ForceSendFields []string `json:"-"` 7051 7052 // NullFields is a list of field names (e.g. "BoundingBox") to include 7053 // in API requests with the JSON null value. By default, fields with 7054 // empty values are omitted from API requests. However, any field with 7055 // an empty value appearing in NullFields will be sent to the server as 7056 // null. It is an error if a field in this list has a non-empty value. 7057 // This may be used to include null fields in Patch requests. 7058 NullFields []string `json:"-"` 7059} 7060 7061func (s *GoogleCloudVisionV1p2beta1Word) MarshalJSON() ([]byte, error) { 7062 type NoMethod GoogleCloudVisionV1p2beta1Word 7063 raw := NoMethod(*s) 7064 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7065} 7066 7067func (s *GoogleCloudVisionV1p2beta1Word) UnmarshalJSON(data []byte) error { 7068 type NoMethod GoogleCloudVisionV1p2beta1Word 7069 var s1 struct { 7070 Confidence gensupport.JSONFloat64 `json:"confidence"` 7071 *NoMethod 7072 } 7073 s1.NoMethod = (*NoMethod)(s) 7074 if err := json.Unmarshal(data, &s1); err != nil { 7075 return err 7076 } 7077 s.Confidence = float64(s1.Confidence) 7078 return nil 7079} 7080 7081// GoogleCloudVisionV1p3beta1AnnotateFileResponse: Response to a single 7082// file annotation request. A file may contain one or more 7083// images, which individually have their own responses. 7084type GoogleCloudVisionV1p3beta1AnnotateFileResponse struct { 7085 // Error: If set, represents the error message for the failed request. 7086 // The 7087 // `responses` field will not be set in this case. 7088 Error *Status `json:"error,omitempty"` 7089 7090 // InputConfig: Information about the file for which this response is 7091 // generated. 7092 InputConfig *GoogleCloudVisionV1p3beta1InputConfig `json:"inputConfig,omitempty"` 7093 7094 // Responses: Individual responses to images found within the file. This 7095 // field will be 7096 // empty if the `error` field is set. 7097 Responses []*GoogleCloudVisionV1p3beta1AnnotateImageResponse `json:"responses,omitempty"` 7098 7099 // TotalPages: This field gives the total number of pages in the file. 7100 TotalPages int64 `json:"totalPages,omitempty"` 7101 7102 // ForceSendFields is a list of field names (e.g. "Error") to 7103 // unconditionally include in API requests. By default, fields with 7104 // empty values are omitted from API requests. However, any non-pointer, 7105 // non-interface field appearing in ForceSendFields will be sent to the 7106 // server regardless of whether the field is empty or not. This may be 7107 // used to include empty fields in Patch requests. 7108 ForceSendFields []string `json:"-"` 7109 7110 // NullFields is a list of field names (e.g. "Error") to include in API 7111 // requests with the JSON null value. By default, fields with empty 7112 // values are omitted from API requests. However, any field with an 7113 // empty value appearing in NullFields will be sent to the server as 7114 // null. It is an error if a field in this list has a non-empty value. 7115 // This may be used to include null fields in Patch requests. 7116 NullFields []string `json:"-"` 7117} 7118 7119func (s *GoogleCloudVisionV1p3beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 7120 type NoMethod GoogleCloudVisionV1p3beta1AnnotateFileResponse 7121 raw := NoMethod(*s) 7122 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7123} 7124 7125// GoogleCloudVisionV1p3beta1AnnotateImageResponse: Response to an image 7126// annotation request. 7127type GoogleCloudVisionV1p3beta1AnnotateImageResponse struct { 7128 // Context: If present, contextual information is needed to understand 7129 // where this image 7130 // comes from. 7131 Context *GoogleCloudVisionV1p3beta1ImageAnnotationContext `json:"context,omitempty"` 7132 7133 // CropHintsAnnotation: If present, crop hints have completed 7134 // successfully. 7135 CropHintsAnnotation *GoogleCloudVisionV1p3beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 7136 7137 // Error: If set, represents the error message for the operation. 7138 // Note that filled-in image annotations are guaranteed to be 7139 // correct, even when `error` is set. 7140 Error *Status `json:"error,omitempty"` 7141 7142 // FaceAnnotations: If present, face detection has completed 7143 // successfully. 7144 FaceAnnotations []*GoogleCloudVisionV1p3beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 7145 7146 // FullTextAnnotation: If present, text (OCR) detection or document 7147 // (OCR) text detection has 7148 // completed successfully. 7149 // This annotation provides the structural hierarchy for the OCR 7150 // detected 7151 // text. 7152 FullTextAnnotation *GoogleCloudVisionV1p3beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 7153 7154 // ImagePropertiesAnnotation: If present, image properties were 7155 // extracted successfully. 7156 ImagePropertiesAnnotation *GoogleCloudVisionV1p3beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 7157 7158 // LabelAnnotations: If present, label detection has completed 7159 // successfully. 7160 LabelAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 7161 7162 // LandmarkAnnotations: If present, landmark detection has completed 7163 // successfully. 7164 LandmarkAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 7165 7166 // LocalizedObjectAnnotations: If present, localized object detection 7167 // has completed successfully. 7168 // This will be sorted descending by confidence score. 7169 LocalizedObjectAnnotations []*GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 7170 7171 // LogoAnnotations: If present, logo detection has completed 7172 // successfully. 7173 LogoAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 7174 7175 // ProductSearchResults: If present, product search has completed 7176 // successfully. 7177 ProductSearchResults *GoogleCloudVisionV1p3beta1ProductSearchResults `json:"productSearchResults,omitempty"` 7178 7179 // SafeSearchAnnotation: If present, safe-search annotation has 7180 // completed successfully. 7181 SafeSearchAnnotation *GoogleCloudVisionV1p3beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 7182 7183 // TextAnnotations: If present, text (OCR) detection has completed 7184 // successfully. 7185 TextAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"textAnnotations,omitempty"` 7186 7187 // WebDetection: If present, web detection has completed successfully. 7188 WebDetection *GoogleCloudVisionV1p3beta1WebDetection `json:"webDetection,omitempty"` 7189 7190 // ForceSendFields is a list of field names (e.g. "Context") to 7191 // unconditionally include in API requests. By default, fields with 7192 // empty values are omitted from API requests. However, any non-pointer, 7193 // non-interface field appearing in ForceSendFields will be sent to the 7194 // server regardless of whether the field is empty or not. This may be 7195 // used to include empty fields in Patch requests. 7196 ForceSendFields []string `json:"-"` 7197 7198 // NullFields is a list of field names (e.g. "Context") to include in 7199 // API requests with the JSON null value. By default, fields with empty 7200 // values are omitted from API requests. However, any field with an 7201 // empty value appearing in NullFields will be sent to the server as 7202 // null. It is an error if a field in this list has a non-empty value. 7203 // This may be used to include null fields in Patch requests. 7204 NullFields []string `json:"-"` 7205} 7206 7207func (s *GoogleCloudVisionV1p3beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 7208 type NoMethod GoogleCloudVisionV1p3beta1AnnotateImageResponse 7209 raw := NoMethod(*s) 7210 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7211} 7212 7213// GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse: The response for 7214// a single offline file annotation request. 7215type GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse struct { 7216 // OutputConfig: The output location and metadata from 7217 // AsyncAnnotateFileRequest. 7218 OutputConfig *GoogleCloudVisionV1p3beta1OutputConfig `json:"outputConfig,omitempty"` 7219 7220 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 7221 // unconditionally include in API requests. By default, fields with 7222 // empty values are omitted from API requests. However, any non-pointer, 7223 // non-interface field appearing in ForceSendFields will be sent to the 7224 // server regardless of whether the field is empty or not. This may be 7225 // used to include empty fields in Patch requests. 7226 ForceSendFields []string `json:"-"` 7227 7228 // NullFields is a list of field names (e.g. "OutputConfig") to include 7229 // in API requests with the JSON null value. By default, fields with 7230 // empty values are omitted from API requests. However, any field with 7231 // an empty value appearing in NullFields will be sent to the server as 7232 // null. It is an error if a field in this list has a non-empty value. 7233 // This may be used to include null fields in Patch requests. 7234 NullFields []string `json:"-"` 7235} 7236 7237func (s *GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 7238 type NoMethod GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse 7239 raw := NoMethod(*s) 7240 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7241} 7242 7243// GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse: Response 7244// to an async batch file annotation request. 7245type GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse struct { 7246 // Responses: The list of file annotation responses, one for each 7247 // request in 7248 // AsyncBatchAnnotateFilesRequest. 7249 Responses []*GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 7250 7251 // ForceSendFields is a list of field names (e.g. "Responses") to 7252 // unconditionally include in API requests. By default, fields with 7253 // empty values are omitted from API requests. However, any non-pointer, 7254 // non-interface field appearing in ForceSendFields will be sent to the 7255 // server regardless of whether the field is empty or not. This may be 7256 // used to include empty fields in Patch requests. 7257 ForceSendFields []string `json:"-"` 7258 7259 // NullFields is a list of field names (e.g. "Responses") to include in 7260 // API requests with the JSON null value. By default, fields with empty 7261 // values are omitted from API requests. However, any field with an 7262 // empty value appearing in NullFields will be sent to the server as 7263 // null. It is an error if a field in this list has a non-empty value. 7264 // This may be used to include null fields in Patch requests. 7265 NullFields []string `json:"-"` 7266} 7267 7268func (s *GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 7269 type NoMethod GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse 7270 raw := NoMethod(*s) 7271 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7272} 7273 7274// GoogleCloudVisionV1p3beta1BatchOperationMetadata: Metadata for the 7275// batch operations such as the current state. 7276// 7277// This is included in the `metadata` field of the `Operation` returned 7278// by the 7279// `GetOperation` call of the `google::longrunning::Operations` service. 7280type GoogleCloudVisionV1p3beta1BatchOperationMetadata struct { 7281 // EndTime: The time when the batch request is finished 7282 // and 7283 // google.longrunning.Operation.done is set to true. 7284 EndTime string `json:"endTime,omitempty"` 7285 7286 // State: The current state of the batch operation. 7287 // 7288 // Possible values: 7289 // "STATE_UNSPECIFIED" - Invalid. 7290 // "PROCESSING" - Request is actively being processed. 7291 // "SUCCESSFUL" - The request is done and at least one item has been 7292 // successfully 7293 // processed. 7294 // "FAILED" - The request is done and no item has been successfully 7295 // processed. 7296 // "CANCELLED" - The request is done after the 7297 // longrunning.Operations.CancelOperation has 7298 // been called by the user. Any records that were processed before 7299 // the 7300 // cancel command are output as specified in the request. 7301 State string `json:"state,omitempty"` 7302 7303 // SubmitTime: The time when the batch request was submitted to the 7304 // server. 7305 SubmitTime string `json:"submitTime,omitempty"` 7306 7307 // ForceSendFields is a list of field names (e.g. "EndTime") to 7308 // unconditionally include in API requests. By default, fields with 7309 // empty values are omitted from API requests. However, any non-pointer, 7310 // non-interface field appearing in ForceSendFields will be sent to the 7311 // server regardless of whether the field is empty or not. This may be 7312 // used to include empty fields in Patch requests. 7313 ForceSendFields []string `json:"-"` 7314 7315 // NullFields is a list of field names (e.g. "EndTime") to include in 7316 // API requests with the JSON null value. By default, fields with empty 7317 // values are omitted from API requests. However, any field with an 7318 // empty value appearing in NullFields will be sent to the server as 7319 // null. It is an error if a field in this list has a non-empty value. 7320 // This may be used to include null fields in Patch requests. 7321 NullFields []string `json:"-"` 7322} 7323 7324func (s *GoogleCloudVisionV1p3beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 7325 type NoMethod GoogleCloudVisionV1p3beta1BatchOperationMetadata 7326 raw := NoMethod(*s) 7327 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7328} 7329 7330// GoogleCloudVisionV1p3beta1Block: Logical element on the page. 7331type GoogleCloudVisionV1p3beta1Block struct { 7332 // BlockType: Detected block type (text, image etc) for this block. 7333 // 7334 // Possible values: 7335 // "UNKNOWN" - Unknown block type. 7336 // "TEXT" - Regular text block. 7337 // "TABLE" - Table block. 7338 // "PICTURE" - Image block. 7339 // "RULER" - Horizontal/vertical line box. 7340 // "BARCODE" - Barcode block. 7341 BlockType string `json:"blockType,omitempty"` 7342 7343 // BoundingBox: The bounding box for the block. 7344 // The vertices are in the order of top-left, top-right, 7345 // bottom-right, 7346 // bottom-left. When a rotation of the bounding box is detected the 7347 // rotation 7348 // is represented as around the top-left corner as defined when the text 7349 // is 7350 // read in the 'natural' orientation. 7351 // For example: 7352 // 7353 // * when the text is horizontal it might look like: 7354 // 7355 // 0----1 7356 // | | 7357 // 3----2 7358 // 7359 // * when it's rotated 180 degrees around the top-left corner it 7360 // becomes: 7361 // 7362 // 2----3 7363 // | | 7364 // 1----0 7365 // 7366 // and the vertex order will still be (0, 1, 2, 3). 7367 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 7368 7369 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 7370 Confidence float64 `json:"confidence,omitempty"` 7371 7372 // Paragraphs: List of paragraphs in this block (if this blocks is of 7373 // type text). 7374 Paragraphs []*GoogleCloudVisionV1p3beta1Paragraph `json:"paragraphs,omitempty"` 7375 7376 // Property: Additional information detected for the block. 7377 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 7378 7379 // ForceSendFields is a list of field names (e.g. "BlockType") to 7380 // unconditionally include in API requests. By default, fields with 7381 // empty values are omitted from API requests. However, any non-pointer, 7382 // non-interface field appearing in ForceSendFields will be sent to the 7383 // server regardless of whether the field is empty or not. This may be 7384 // used to include empty fields in Patch requests. 7385 ForceSendFields []string `json:"-"` 7386 7387 // NullFields is a list of field names (e.g. "BlockType") to include in 7388 // API requests with the JSON null value. By default, fields with empty 7389 // values are omitted from API requests. However, any field with an 7390 // empty value appearing in NullFields will be sent to the server as 7391 // null. It is an error if a field in this list has a non-empty value. 7392 // This may be used to include null fields in Patch requests. 7393 NullFields []string `json:"-"` 7394} 7395 7396func (s *GoogleCloudVisionV1p3beta1Block) MarshalJSON() ([]byte, error) { 7397 type NoMethod GoogleCloudVisionV1p3beta1Block 7398 raw := NoMethod(*s) 7399 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7400} 7401 7402func (s *GoogleCloudVisionV1p3beta1Block) UnmarshalJSON(data []byte) error { 7403 type NoMethod GoogleCloudVisionV1p3beta1Block 7404 var s1 struct { 7405 Confidence gensupport.JSONFloat64 `json:"confidence"` 7406 *NoMethod 7407 } 7408 s1.NoMethod = (*NoMethod)(s) 7409 if err := json.Unmarshal(data, &s1); err != nil { 7410 return err 7411 } 7412 s.Confidence = float64(s1.Confidence) 7413 return nil 7414} 7415 7416// GoogleCloudVisionV1p3beta1BoundingPoly: A bounding polygon for the 7417// detected image annotation. 7418type GoogleCloudVisionV1p3beta1BoundingPoly struct { 7419 // NormalizedVertices: The bounding polygon normalized vertices. 7420 NormalizedVertices []*GoogleCloudVisionV1p3beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 7421 7422 // Vertices: The bounding polygon vertices. 7423 Vertices []*GoogleCloudVisionV1p3beta1Vertex `json:"vertices,omitempty"` 7424 7425 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 7426 // to unconditionally include in API requests. By default, fields with 7427 // empty values are omitted from API requests. However, any non-pointer, 7428 // non-interface field appearing in ForceSendFields will be sent to the 7429 // server regardless of whether the field is empty or not. This may be 7430 // used to include empty fields in Patch requests. 7431 ForceSendFields []string `json:"-"` 7432 7433 // NullFields is a list of field names (e.g. "NormalizedVertices") to 7434 // include in API requests with the JSON null value. By default, fields 7435 // with empty values are omitted from API requests. However, any field 7436 // with an empty value appearing in NullFields will be sent to the 7437 // server as null. It is an error if a field in this list has a 7438 // non-empty value. This may be used to include null fields in Patch 7439 // requests. 7440 NullFields []string `json:"-"` 7441} 7442 7443func (s *GoogleCloudVisionV1p3beta1BoundingPoly) MarshalJSON() ([]byte, error) { 7444 type NoMethod GoogleCloudVisionV1p3beta1BoundingPoly 7445 raw := NoMethod(*s) 7446 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7447} 7448 7449// GoogleCloudVisionV1p3beta1ColorInfo: Color information consists of 7450// RGB channels, score, and the fraction of 7451// the image that the color occupies in the image. 7452type GoogleCloudVisionV1p3beta1ColorInfo struct { 7453 // Color: RGB components of the color. 7454 Color *Color `json:"color,omitempty"` 7455 7456 // PixelFraction: The fraction of pixels the color occupies in the 7457 // image. 7458 // Value in range [0, 1]. 7459 PixelFraction float64 `json:"pixelFraction,omitempty"` 7460 7461 // Score: Image-specific score for this color. Value in range [0, 1]. 7462 Score float64 `json:"score,omitempty"` 7463 7464 // ForceSendFields is a list of field names (e.g. "Color") to 7465 // unconditionally include in API requests. By default, fields with 7466 // empty values are omitted from API requests. However, any non-pointer, 7467 // non-interface field appearing in ForceSendFields will be sent to the 7468 // server regardless of whether the field is empty or not. This may be 7469 // used to include empty fields in Patch requests. 7470 ForceSendFields []string `json:"-"` 7471 7472 // NullFields is a list of field names (e.g. "Color") to include in API 7473 // requests with the JSON null value. By default, fields with empty 7474 // values are omitted from API requests. However, any field with an 7475 // empty value appearing in NullFields will be sent to the server as 7476 // null. It is an error if a field in this list has a non-empty value. 7477 // This may be used to include null fields in Patch requests. 7478 NullFields []string `json:"-"` 7479} 7480 7481func (s *GoogleCloudVisionV1p3beta1ColorInfo) MarshalJSON() ([]byte, error) { 7482 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 7483 raw := NoMethod(*s) 7484 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7485} 7486 7487func (s *GoogleCloudVisionV1p3beta1ColorInfo) UnmarshalJSON(data []byte) error { 7488 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 7489 var s1 struct { 7490 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 7491 Score gensupport.JSONFloat64 `json:"score"` 7492 *NoMethod 7493 } 7494 s1.NoMethod = (*NoMethod)(s) 7495 if err := json.Unmarshal(data, &s1); err != nil { 7496 return err 7497 } 7498 s.PixelFraction = float64(s1.PixelFraction) 7499 s.Score = float64(s1.Score) 7500 return nil 7501} 7502 7503// GoogleCloudVisionV1p3beta1CropHint: Single crop hint that is used to 7504// generate a new crop when serving an image. 7505type GoogleCloudVisionV1p3beta1CropHint struct { 7506 // BoundingPoly: The bounding polygon for the crop region. The 7507 // coordinates of the bounding 7508 // box are in the original image's scale. 7509 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7510 7511 // Confidence: Confidence of this being a salient region. Range [0, 1]. 7512 Confidence float64 `json:"confidence,omitempty"` 7513 7514 // ImportanceFraction: Fraction of importance of this salient region 7515 // with respect to the original 7516 // image. 7517 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 7518 7519 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7520 // unconditionally include in API requests. By default, fields with 7521 // empty values are omitted from API requests. However, any non-pointer, 7522 // non-interface field appearing in ForceSendFields will be sent to the 7523 // server regardless of whether the field is empty or not. This may be 7524 // used to include empty fields in Patch requests. 7525 ForceSendFields []string `json:"-"` 7526 7527 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7528 // in API requests with the JSON null value. By default, fields with 7529 // empty values are omitted from API requests. However, any field with 7530 // an empty value appearing in NullFields will be sent to the server as 7531 // null. It is an error if a field in this list has a non-empty value. 7532 // This may be used to include null fields in Patch requests. 7533 NullFields []string `json:"-"` 7534} 7535 7536func (s *GoogleCloudVisionV1p3beta1CropHint) MarshalJSON() ([]byte, error) { 7537 type NoMethod GoogleCloudVisionV1p3beta1CropHint 7538 raw := NoMethod(*s) 7539 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7540} 7541 7542func (s *GoogleCloudVisionV1p3beta1CropHint) UnmarshalJSON(data []byte) error { 7543 type NoMethod GoogleCloudVisionV1p3beta1CropHint 7544 var s1 struct { 7545 Confidence gensupport.JSONFloat64 `json:"confidence"` 7546 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 7547 *NoMethod 7548 } 7549 s1.NoMethod = (*NoMethod)(s) 7550 if err := json.Unmarshal(data, &s1); err != nil { 7551 return err 7552 } 7553 s.Confidence = float64(s1.Confidence) 7554 s.ImportanceFraction = float64(s1.ImportanceFraction) 7555 return nil 7556} 7557 7558// GoogleCloudVisionV1p3beta1CropHintsAnnotation: Set of crop hints that 7559// are used to generate new crops when serving images. 7560type GoogleCloudVisionV1p3beta1CropHintsAnnotation struct { 7561 // CropHints: Crop hint results. 7562 CropHints []*GoogleCloudVisionV1p3beta1CropHint `json:"cropHints,omitempty"` 7563 7564 // ForceSendFields is a list of field names (e.g. "CropHints") to 7565 // unconditionally include in API requests. By default, fields with 7566 // empty values are omitted from API requests. However, any non-pointer, 7567 // non-interface field appearing in ForceSendFields will be sent to the 7568 // server regardless of whether the field is empty or not. This may be 7569 // used to include empty fields in Patch requests. 7570 ForceSendFields []string `json:"-"` 7571 7572 // NullFields is a list of field names (e.g. "CropHints") to include in 7573 // API requests with the JSON null value. By default, fields with empty 7574 // values are omitted from API requests. However, any field with an 7575 // empty value appearing in NullFields will be sent to the server as 7576 // null. It is an error if a field in this list has a non-empty value. 7577 // This may be used to include null fields in Patch requests. 7578 NullFields []string `json:"-"` 7579} 7580 7581func (s *GoogleCloudVisionV1p3beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 7582 type NoMethod GoogleCloudVisionV1p3beta1CropHintsAnnotation 7583 raw := NoMethod(*s) 7584 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7585} 7586 7587// GoogleCloudVisionV1p3beta1DominantColorsAnnotation: Set of dominant 7588// colors and their corresponding scores. 7589type GoogleCloudVisionV1p3beta1DominantColorsAnnotation struct { 7590 // Colors: RGB color values with their score and pixel fraction. 7591 Colors []*GoogleCloudVisionV1p3beta1ColorInfo `json:"colors,omitempty"` 7592 7593 // ForceSendFields is a list of field names (e.g. "Colors") to 7594 // unconditionally include in API requests. By default, fields with 7595 // empty values are omitted from API requests. However, any non-pointer, 7596 // non-interface field appearing in ForceSendFields will be sent to the 7597 // server regardless of whether the field is empty or not. This may be 7598 // used to include empty fields in Patch requests. 7599 ForceSendFields []string `json:"-"` 7600 7601 // NullFields is a list of field names (e.g. "Colors") to include in API 7602 // requests with the JSON null value. By default, fields with empty 7603 // values are omitted from API requests. However, any field with an 7604 // empty value appearing in NullFields will be sent to the server as 7605 // null. It is an error if a field in this list has a non-empty value. 7606 // This may be used to include null fields in Patch requests. 7607 NullFields []string `json:"-"` 7608} 7609 7610func (s *GoogleCloudVisionV1p3beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 7611 type NoMethod GoogleCloudVisionV1p3beta1DominantColorsAnnotation 7612 raw := NoMethod(*s) 7613 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7614} 7615 7616// GoogleCloudVisionV1p3beta1EntityAnnotation: Set of detected entity 7617// features. 7618type GoogleCloudVisionV1p3beta1EntityAnnotation struct { 7619 // BoundingPoly: Image region to which this entity belongs. Not 7620 // produced 7621 // for `LABEL_DETECTION` features. 7622 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7623 7624 // Confidence: **Deprecated. Use `score` instead.** 7625 // The accuracy of the entity detection in an image. 7626 // For example, for an image in which the "Eiffel Tower" entity is 7627 // detected, 7628 // this field represents the confidence that there is a tower in the 7629 // query 7630 // image. Range [0, 1]. 7631 Confidence float64 `json:"confidence,omitempty"` 7632 7633 // Description: Entity textual description, expressed in its `locale` 7634 // language. 7635 Description string `json:"description,omitempty"` 7636 7637 // Locale: The language code for the locale in which the entity 7638 // textual 7639 // `description` is expressed. 7640 Locale string `json:"locale,omitempty"` 7641 7642 // Locations: The location information for the detected entity. 7643 // Multiple 7644 // `LocationInfo` elements can be present because one location 7645 // may 7646 // indicate the location of the scene in the image, and another 7647 // location 7648 // may indicate the location of the place where the image was 7649 // taken. 7650 // Location information is usually present for landmarks. 7651 Locations []*GoogleCloudVisionV1p3beta1LocationInfo `json:"locations,omitempty"` 7652 7653 // Mid: Opaque entity ID. Some IDs may be available in 7654 // [Google Knowledge Graph 7655 // Search 7656 // API](https://developers.google.com/knowledge-graph/). 7657 Mid string `json:"mid,omitempty"` 7658 7659 // Properties: Some entities may have optional user-supplied `Property` 7660 // (name/value) 7661 // fields, such a score or string that qualifies the entity. 7662 Properties []*GoogleCloudVisionV1p3beta1Property `json:"properties,omitempty"` 7663 7664 // Score: Overall score of the result. Range [0, 1]. 7665 Score float64 `json:"score,omitempty"` 7666 7667 // Topicality: The relevancy of the ICA (Image Content Annotation) label 7668 // to the 7669 // image. For example, the relevancy of "tower" is likely higher to an 7670 // image 7671 // containing the detected "Eiffel Tower" than to an image containing 7672 // a 7673 // detected distant towering building, even though the confidence 7674 // that 7675 // there is a tower in each image may be the same. Range [0, 1]. 7676 Topicality float64 `json:"topicality,omitempty"` 7677 7678 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7679 // unconditionally include in API requests. By default, fields with 7680 // empty values are omitted from API requests. However, any non-pointer, 7681 // non-interface field appearing in ForceSendFields will be sent to the 7682 // server regardless of whether the field is empty or not. This may be 7683 // used to include empty fields in Patch requests. 7684 ForceSendFields []string `json:"-"` 7685 7686 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7687 // in API requests with the JSON null value. By default, fields with 7688 // empty values are omitted from API requests. However, any field with 7689 // an empty value appearing in NullFields will be sent to the server as 7690 // null. It is an error if a field in this list has a non-empty value. 7691 // This may be used to include null fields in Patch requests. 7692 NullFields []string `json:"-"` 7693} 7694 7695func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 7696 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7697 raw := NoMethod(*s) 7698 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7699} 7700 7701func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 7702 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7703 var s1 struct { 7704 Confidence gensupport.JSONFloat64 `json:"confidence"` 7705 Score gensupport.JSONFloat64 `json:"score"` 7706 Topicality gensupport.JSONFloat64 `json:"topicality"` 7707 *NoMethod 7708 } 7709 s1.NoMethod = (*NoMethod)(s) 7710 if err := json.Unmarshal(data, &s1); err != nil { 7711 return err 7712 } 7713 s.Confidence = float64(s1.Confidence) 7714 s.Score = float64(s1.Score) 7715 s.Topicality = float64(s1.Topicality) 7716 return nil 7717} 7718 7719// GoogleCloudVisionV1p3beta1FaceAnnotation: A face annotation object 7720// contains the results of face detection. 7721type GoogleCloudVisionV1p3beta1FaceAnnotation struct { 7722 // AngerLikelihood: Anger likelihood. 7723 // 7724 // Possible values: 7725 // "UNKNOWN" - Unknown likelihood. 7726 // "VERY_UNLIKELY" - It is very unlikely. 7727 // "UNLIKELY" - It is unlikely. 7728 // "POSSIBLE" - It is possible. 7729 // "LIKELY" - It is likely. 7730 // "VERY_LIKELY" - It is very likely. 7731 AngerLikelihood string `json:"angerLikelihood,omitempty"` 7732 7733 // BlurredLikelihood: Blurred likelihood. 7734 // 7735 // Possible values: 7736 // "UNKNOWN" - Unknown likelihood. 7737 // "VERY_UNLIKELY" - It is very unlikely. 7738 // "UNLIKELY" - It is unlikely. 7739 // "POSSIBLE" - It is possible. 7740 // "LIKELY" - It is likely. 7741 // "VERY_LIKELY" - It is very likely. 7742 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 7743 7744 // BoundingPoly: The bounding polygon around the face. The coordinates 7745 // of the bounding box 7746 // are in the original image's scale. 7747 // The bounding box is computed to "frame" the face in accordance with 7748 // human 7749 // expectations. It is based on the landmarker results. 7750 // Note that one or more x and/or y coordinates may not be generated in 7751 // the 7752 // `BoundingPoly` (the polygon will be unbounded) if only a partial 7753 // face 7754 // appears in the image to be annotated. 7755 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7756 7757 // DetectionConfidence: Detection confidence. Range [0, 1]. 7758 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 7759 7760 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 7761 // than the 7762 // `boundingPoly`, and encloses only the skin part of the face. 7763 // Typically, it 7764 // is used to eliminate the face from any image analysis that detects 7765 // the 7766 // "amount of skin" visible in an image. It is not based on 7767 // the 7768 // landmarker results, only on the initial face detection, hence 7769 // the <code>fd</code> (face detection) prefix. 7770 FdBoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 7771 7772 // HeadwearLikelihood: Headwear likelihood. 7773 // 7774 // Possible values: 7775 // "UNKNOWN" - Unknown likelihood. 7776 // "VERY_UNLIKELY" - It is very unlikely. 7777 // "UNLIKELY" - It is unlikely. 7778 // "POSSIBLE" - It is possible. 7779 // "LIKELY" - It is likely. 7780 // "VERY_LIKELY" - It is very likely. 7781 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 7782 7783 // JoyLikelihood: Joy likelihood. 7784 // 7785 // Possible values: 7786 // "UNKNOWN" - Unknown likelihood. 7787 // "VERY_UNLIKELY" - It is very unlikely. 7788 // "UNLIKELY" - It is unlikely. 7789 // "POSSIBLE" - It is possible. 7790 // "LIKELY" - It is likely. 7791 // "VERY_LIKELY" - It is very likely. 7792 JoyLikelihood string `json:"joyLikelihood,omitempty"` 7793 7794 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 7795 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 7796 7797 // Landmarks: Detected face landmarks. 7798 Landmarks []*GoogleCloudVisionV1p3beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 7799 7800 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 7801 // that the face is 7802 // pointing relative to the vertical plane perpendicular to the image. 7803 // Range 7804 // [-180,180]. 7805 PanAngle float64 `json:"panAngle,omitempty"` 7806 7807 // RollAngle: Roll angle, which indicates the amount of 7808 // clockwise/anti-clockwise rotation 7809 // of the face relative to the image vertical about the axis 7810 // perpendicular to 7811 // the face. Range [-180,180]. 7812 RollAngle float64 `json:"rollAngle,omitempty"` 7813 7814 // SorrowLikelihood: Sorrow likelihood. 7815 // 7816 // Possible values: 7817 // "UNKNOWN" - Unknown likelihood. 7818 // "VERY_UNLIKELY" - It is very unlikely. 7819 // "UNLIKELY" - It is unlikely. 7820 // "POSSIBLE" - It is possible. 7821 // "LIKELY" - It is likely. 7822 // "VERY_LIKELY" - It is very likely. 7823 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 7824 7825 // SurpriseLikelihood: Surprise likelihood. 7826 // 7827 // Possible values: 7828 // "UNKNOWN" - Unknown likelihood. 7829 // "VERY_UNLIKELY" - It is very unlikely. 7830 // "UNLIKELY" - It is unlikely. 7831 // "POSSIBLE" - It is possible. 7832 // "LIKELY" - It is likely. 7833 // "VERY_LIKELY" - It is very likely. 7834 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 7835 7836 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 7837 // that the face is 7838 // pointing relative to the image's horizontal plane. Range [-180,180]. 7839 TiltAngle float64 `json:"tiltAngle,omitempty"` 7840 7841 // UnderExposedLikelihood: Under-exposed likelihood. 7842 // 7843 // Possible values: 7844 // "UNKNOWN" - Unknown likelihood. 7845 // "VERY_UNLIKELY" - It is very unlikely. 7846 // "UNLIKELY" - It is unlikely. 7847 // "POSSIBLE" - It is possible. 7848 // "LIKELY" - It is likely. 7849 // "VERY_LIKELY" - It is very likely. 7850 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 7851 7852 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 7853 // unconditionally include in API requests. By default, fields with 7854 // empty values are omitted from API requests. However, any non-pointer, 7855 // non-interface field appearing in ForceSendFields will be sent to the 7856 // server regardless of whether the field is empty or not. This may be 7857 // used to include empty fields in Patch requests. 7858 ForceSendFields []string `json:"-"` 7859 7860 // NullFields is a list of field names (e.g. "AngerLikelihood") to 7861 // include in API requests with the JSON null value. By default, fields 7862 // with empty values are omitted from API requests. However, any field 7863 // with an empty value appearing in NullFields will be sent to the 7864 // server as null. It is an error if a field in this list has a 7865 // non-empty value. This may be used to include null fields in Patch 7866 // requests. 7867 NullFields []string `json:"-"` 7868} 7869 7870func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 7871 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7872 raw := NoMethod(*s) 7873 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7874} 7875 7876func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 7877 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7878 var s1 struct { 7879 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 7880 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 7881 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 7882 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 7883 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 7884 *NoMethod 7885 } 7886 s1.NoMethod = (*NoMethod)(s) 7887 if err := json.Unmarshal(data, &s1); err != nil { 7888 return err 7889 } 7890 s.DetectionConfidence = float64(s1.DetectionConfidence) 7891 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 7892 s.PanAngle = float64(s1.PanAngle) 7893 s.RollAngle = float64(s1.RollAngle) 7894 s.TiltAngle = float64(s1.TiltAngle) 7895 return nil 7896} 7897 7898// GoogleCloudVisionV1p3beta1FaceAnnotationLandmark: A face-specific 7899// landmark (for example, a face feature). 7900type GoogleCloudVisionV1p3beta1FaceAnnotationLandmark struct { 7901 // Position: Face landmark position. 7902 Position *GoogleCloudVisionV1p3beta1Position `json:"position,omitempty"` 7903 7904 // Type: Face landmark type. 7905 // 7906 // Possible values: 7907 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 7908 // filled. 7909 // "LEFT_EYE" - Left eye. 7910 // "RIGHT_EYE" - Right eye. 7911 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 7912 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 7913 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 7914 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 7915 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 7916 // "NOSE_TIP" - Nose tip. 7917 // "UPPER_LIP" - Upper lip. 7918 // "LOWER_LIP" - Lower lip. 7919 // "MOUTH_LEFT" - Mouth left. 7920 // "MOUTH_RIGHT" - Mouth right. 7921 // "MOUTH_CENTER" - Mouth center. 7922 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 7923 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 7924 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 7925 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 7926 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 7927 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 7928 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 7929 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 7930 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 7931 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 7932 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 7933 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 7934 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 7935 // "LEFT_EAR_TRAGION" - Left ear tragion. 7936 // "RIGHT_EAR_TRAGION" - Right ear tragion. 7937 // "LEFT_EYE_PUPIL" - Left eye pupil. 7938 // "RIGHT_EYE_PUPIL" - Right eye pupil. 7939 // "FOREHEAD_GLABELLA" - Forehead glabella. 7940 // "CHIN_GNATHION" - Chin gnathion. 7941 // "CHIN_LEFT_GONION" - Chin left gonion. 7942 // "CHIN_RIGHT_GONION" - Chin right gonion. 7943 Type string `json:"type,omitempty"` 7944 7945 // ForceSendFields is a list of field names (e.g. "Position") to 7946 // unconditionally include in API requests. By default, fields with 7947 // empty values are omitted from API requests. However, any non-pointer, 7948 // non-interface field appearing in ForceSendFields will be sent to the 7949 // server regardless of whether the field is empty or not. This may be 7950 // used to include empty fields in Patch requests. 7951 ForceSendFields []string `json:"-"` 7952 7953 // NullFields is a list of field names (e.g. "Position") to include in 7954 // API requests with the JSON null value. By default, fields with empty 7955 // values are omitted from API requests. However, any field with an 7956 // empty value appearing in NullFields will be sent to the server as 7957 // null. It is an error if a field in this list has a non-empty value. 7958 // This may be used to include null fields in Patch requests. 7959 NullFields []string `json:"-"` 7960} 7961 7962func (s *GoogleCloudVisionV1p3beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 7963 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotationLandmark 7964 raw := NoMethod(*s) 7965 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7966} 7967 7968// GoogleCloudVisionV1p3beta1GcsDestination: The Google Cloud Storage 7969// location where the output will be written to. 7970type GoogleCloudVisionV1p3beta1GcsDestination struct { 7971 // Uri: Google Cloud Storage URI prefix where the results will be 7972 // stored. Results 7973 // will be in JSON format and preceded by its corresponding input URI 7974 // prefix. 7975 // This field can either represent a gcs file prefix or gcs directory. 7976 // In 7977 // either case, the uri should be unique because in order to get all of 7978 // the 7979 // output files, you will need to do a wildcard gcs search on the uri 7980 // prefix 7981 // you provide. 7982 // 7983 // Examples: 7984 // 7985 // * File Prefix: gs://bucket-name/here/filenameprefix The output 7986 // files 7987 // will be created in gs://bucket-name/here/ and the names of the 7988 // output files will begin with "filenameprefix". 7989 // 7990 // * Directory Prefix: gs://bucket-name/some/location/ The output 7991 // files 7992 // will be created in gs://bucket-name/some/location/ and the names of 7993 // the 7994 // output files could be anything because there was no filename 7995 // prefix 7996 // specified. 7997 // 7998 // If multiple outputs, each response is still AnnotateFileResponse, 7999 // each of 8000 // which contains some subset of the full list of 8001 // AnnotateImageResponse. 8002 // Multiple outputs can happen if, for example, the output JSON is too 8003 // large 8004 // and overflows into multiple sharded files. 8005 Uri string `json:"uri,omitempty"` 8006 8007 // ForceSendFields is a list of field names (e.g. "Uri") to 8008 // unconditionally include in API requests. By default, fields with 8009 // empty values are omitted from API requests. However, any non-pointer, 8010 // non-interface field appearing in ForceSendFields will be sent to the 8011 // server regardless of whether the field is empty or not. This may be 8012 // used to include empty fields in Patch requests. 8013 ForceSendFields []string `json:"-"` 8014 8015 // NullFields is a list of field names (e.g. "Uri") to include in API 8016 // requests with the JSON null value. By default, fields with empty 8017 // values are omitted from API requests. However, any field with an 8018 // empty value appearing in NullFields will be sent to the server as 8019 // null. It is an error if a field in this list has a non-empty value. 8020 // This may be used to include null fields in Patch requests. 8021 NullFields []string `json:"-"` 8022} 8023 8024func (s *GoogleCloudVisionV1p3beta1GcsDestination) MarshalJSON() ([]byte, error) { 8025 type NoMethod GoogleCloudVisionV1p3beta1GcsDestination 8026 raw := NoMethod(*s) 8027 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8028} 8029 8030// GoogleCloudVisionV1p3beta1GcsSource: The Google Cloud Storage 8031// location where the input will be read from. 8032type GoogleCloudVisionV1p3beta1GcsSource struct { 8033 // Uri: Google Cloud Storage URI for the input file. This must only be 8034 // a 8035 // Google Cloud Storage object. Wildcards are not currently supported. 8036 Uri string `json:"uri,omitempty"` 8037 8038 // ForceSendFields is a list of field names (e.g. "Uri") to 8039 // unconditionally include in API requests. By default, fields with 8040 // empty values are omitted from API requests. However, any non-pointer, 8041 // non-interface field appearing in ForceSendFields will be sent to the 8042 // server regardless of whether the field is empty or not. This may be 8043 // used to include empty fields in Patch requests. 8044 ForceSendFields []string `json:"-"` 8045 8046 // NullFields is a list of field names (e.g. "Uri") to include in API 8047 // requests with the JSON null value. By default, fields with empty 8048 // values are omitted from API requests. However, any field with an 8049 // empty value appearing in NullFields will be sent to the server as 8050 // null. It is an error if a field in this list has a non-empty value. 8051 // This may be used to include null fields in Patch requests. 8052 NullFields []string `json:"-"` 8053} 8054 8055func (s *GoogleCloudVisionV1p3beta1GcsSource) MarshalJSON() ([]byte, error) { 8056 type NoMethod GoogleCloudVisionV1p3beta1GcsSource 8057 raw := NoMethod(*s) 8058 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8059} 8060 8061// GoogleCloudVisionV1p3beta1ImageAnnotationContext: If an image was 8062// produced from a file (e.g. a PDF), this message gives 8063// information about the source of that image. 8064type GoogleCloudVisionV1p3beta1ImageAnnotationContext struct { 8065 // PageNumber: If the file was a PDF or TIFF, this field gives the page 8066 // number within 8067 // the file used to produce the image. 8068 PageNumber int64 `json:"pageNumber,omitempty"` 8069 8070 // Uri: The URI of the file used to produce the image. 8071 Uri string `json:"uri,omitempty"` 8072 8073 // ForceSendFields is a list of field names (e.g. "PageNumber") to 8074 // unconditionally include in API requests. By default, fields with 8075 // empty values are omitted from API requests. However, any non-pointer, 8076 // non-interface field appearing in ForceSendFields will be sent to the 8077 // server regardless of whether the field is empty or not. This may be 8078 // used to include empty fields in Patch requests. 8079 ForceSendFields []string `json:"-"` 8080 8081 // NullFields is a list of field names (e.g. "PageNumber") to include in 8082 // API requests with the JSON null value. By default, fields with empty 8083 // values are omitted from API requests. However, any field with an 8084 // empty value appearing in NullFields will be sent to the server as 8085 // null. It is an error if a field in this list has a non-empty value. 8086 // This may be used to include null fields in Patch requests. 8087 NullFields []string `json:"-"` 8088} 8089 8090func (s *GoogleCloudVisionV1p3beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 8091 type NoMethod GoogleCloudVisionV1p3beta1ImageAnnotationContext 8092 raw := NoMethod(*s) 8093 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8094} 8095 8096// GoogleCloudVisionV1p3beta1ImageProperties: Stores image properties, 8097// such as dominant colors. 8098type GoogleCloudVisionV1p3beta1ImageProperties struct { 8099 // DominantColors: If present, dominant colors completed successfully. 8100 DominantColors *GoogleCloudVisionV1p3beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 8101 8102 // ForceSendFields is a list of field names (e.g. "DominantColors") to 8103 // unconditionally include in API requests. By default, fields with 8104 // empty values are omitted from API requests. However, any non-pointer, 8105 // non-interface field appearing in ForceSendFields will be sent to the 8106 // server regardless of whether the field is empty or not. This may be 8107 // used to include empty fields in Patch requests. 8108 ForceSendFields []string `json:"-"` 8109 8110 // NullFields is a list of field names (e.g. "DominantColors") to 8111 // include in API requests with the JSON null value. By default, fields 8112 // with empty values are omitted from API requests. However, any field 8113 // with an empty value appearing in NullFields will be sent to the 8114 // server as null. It is an error if a field in this list has a 8115 // non-empty value. This may be used to include null fields in Patch 8116 // requests. 8117 NullFields []string `json:"-"` 8118} 8119 8120func (s *GoogleCloudVisionV1p3beta1ImageProperties) MarshalJSON() ([]byte, error) { 8121 type NoMethod GoogleCloudVisionV1p3beta1ImageProperties 8122 raw := NoMethod(*s) 8123 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8124} 8125 8126// GoogleCloudVisionV1p3beta1ImportProductSetsResponse: Response message 8127// for the `ImportProductSets` method. 8128// 8129// This message is returned by 8130// the 8131// google.longrunning.Operations.GetOperation method in the 8132// returned 8133// google.longrunning.Operation.response field. 8134type GoogleCloudVisionV1p3beta1ImportProductSetsResponse struct { 8135 // ReferenceImages: The list of reference_images that are imported 8136 // successfully. 8137 ReferenceImages []*GoogleCloudVisionV1p3beta1ReferenceImage `json:"referenceImages,omitempty"` 8138 8139 // Statuses: The rpc status for each ImportProductSet request, including 8140 // both successes 8141 // and errors. 8142 // 8143 // The number of statuses here matches the number of lines in the csv 8144 // file, 8145 // and statuses[i] stores the success or failure status of processing 8146 // the i-th 8147 // line of the csv, starting from line 0. 8148 Statuses []*Status `json:"statuses,omitempty"` 8149 8150 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 8151 // unconditionally include in API requests. By default, fields with 8152 // empty values are omitted from API requests. However, any non-pointer, 8153 // non-interface field appearing in ForceSendFields will be sent to the 8154 // server regardless of whether the field is empty or not. This may be 8155 // used to include empty fields in Patch requests. 8156 ForceSendFields []string `json:"-"` 8157 8158 // NullFields is a list of field names (e.g. "ReferenceImages") to 8159 // include in API requests with the JSON null value. By default, fields 8160 // with empty values are omitted from API requests. However, any field 8161 // with an empty value appearing in NullFields will be sent to the 8162 // server as null. It is an error if a field in this list has a 8163 // non-empty value. This may be used to include null fields in Patch 8164 // requests. 8165 NullFields []string `json:"-"` 8166} 8167 8168func (s *GoogleCloudVisionV1p3beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 8169 type NoMethod GoogleCloudVisionV1p3beta1ImportProductSetsResponse 8170 raw := NoMethod(*s) 8171 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8172} 8173 8174// GoogleCloudVisionV1p3beta1InputConfig: The desired input location and 8175// metadata. 8176type GoogleCloudVisionV1p3beta1InputConfig struct { 8177 // Content: File content, represented as a stream of bytes. 8178 // Note: As with all `bytes` fields, protobuffers use a pure 8179 // binary 8180 // representation, whereas JSON representations use base64. 8181 // 8182 // Currently, this field only works for BatchAnnotateFiles requests. It 8183 // does 8184 // not work for AsyncBatchAnnotateFiles requests. 8185 Content string `json:"content,omitempty"` 8186 8187 // GcsSource: The Google Cloud Storage location to read the input from. 8188 GcsSource *GoogleCloudVisionV1p3beta1GcsSource `json:"gcsSource,omitempty"` 8189 8190 // MimeType: The type of the file. Currently only "application/pdf", 8191 // "image/tiff" and 8192 // "image/gif" are supported. Wildcards are not supported. 8193 MimeType string `json:"mimeType,omitempty"` 8194 8195 // ForceSendFields is a list of field names (e.g. "Content") to 8196 // unconditionally include in API requests. By default, fields with 8197 // empty values are omitted from API requests. However, any non-pointer, 8198 // non-interface field appearing in ForceSendFields will be sent to the 8199 // server regardless of whether the field is empty or not. This may be 8200 // used to include empty fields in Patch requests. 8201 ForceSendFields []string `json:"-"` 8202 8203 // NullFields is a list of field names (e.g. "Content") to include in 8204 // API requests with the JSON null value. By default, fields with empty 8205 // values are omitted from API requests. However, any field with an 8206 // empty value appearing in NullFields will be sent to the server as 8207 // null. It is an error if a field in this list has a non-empty value. 8208 // This may be used to include null fields in Patch requests. 8209 NullFields []string `json:"-"` 8210} 8211 8212func (s *GoogleCloudVisionV1p3beta1InputConfig) MarshalJSON() ([]byte, error) { 8213 type NoMethod GoogleCloudVisionV1p3beta1InputConfig 8214 raw := NoMethod(*s) 8215 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8216} 8217 8218// GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation: Set of detected 8219// objects with bounding boxes. 8220type GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation struct { 8221 // BoundingPoly: Image region to which this object belongs. This must be 8222 // populated. 8223 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 8224 8225 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 8226 // For more 8227 // information, 8228 // see 8229 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8230 LanguageCode string `json:"languageCode,omitempty"` 8231 8232 // Mid: Object ID that should align with EntityAnnotation mid. 8233 Mid string `json:"mid,omitempty"` 8234 8235 // Name: Object name, expressed in its `language_code` language. 8236 Name string `json:"name,omitempty"` 8237 8238 // Score: Score of the result. Range [0, 1]. 8239 Score float64 `json:"score,omitempty"` 8240 8241 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8242 // unconditionally include in API requests. By default, fields with 8243 // empty values are omitted from API requests. However, any non-pointer, 8244 // non-interface field appearing in ForceSendFields will be sent to the 8245 // server regardless of whether the field is empty or not. This may be 8246 // used to include empty fields in Patch requests. 8247 ForceSendFields []string `json:"-"` 8248 8249 // NullFields is a list of field names (e.g. "BoundingPoly") to include 8250 // in API requests with the JSON null value. By default, fields with 8251 // empty values are omitted from API requests. However, any field with 8252 // an empty value appearing in NullFields will be sent to the server as 8253 // null. It is an error if a field in this list has a non-empty value. 8254 // This may be used to include null fields in Patch requests. 8255 NullFields []string `json:"-"` 8256} 8257 8258func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 8259 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 8260 raw := NoMethod(*s) 8261 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8262} 8263 8264func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 8265 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 8266 var s1 struct { 8267 Score gensupport.JSONFloat64 `json:"score"` 8268 *NoMethod 8269 } 8270 s1.NoMethod = (*NoMethod)(s) 8271 if err := json.Unmarshal(data, &s1); err != nil { 8272 return err 8273 } 8274 s.Score = float64(s1.Score) 8275 return nil 8276} 8277 8278// GoogleCloudVisionV1p3beta1LocationInfo: Detected entity location 8279// information. 8280type GoogleCloudVisionV1p3beta1LocationInfo struct { 8281 // LatLng: lat/long location coordinates. 8282 LatLng *LatLng `json:"latLng,omitempty"` 8283 8284 // ForceSendFields is a list of field names (e.g. "LatLng") to 8285 // unconditionally include in API requests. By default, fields with 8286 // empty values are omitted from API requests. However, any non-pointer, 8287 // non-interface field appearing in ForceSendFields will be sent to the 8288 // server regardless of whether the field is empty or not. This may be 8289 // used to include empty fields in Patch requests. 8290 ForceSendFields []string `json:"-"` 8291 8292 // NullFields is a list of field names (e.g. "LatLng") to include in API 8293 // requests with the JSON null value. By default, fields with empty 8294 // values are omitted from API requests. However, any field with an 8295 // empty value appearing in NullFields will be sent to the server as 8296 // null. It is an error if a field in this list has a non-empty value. 8297 // This may be used to include null fields in Patch requests. 8298 NullFields []string `json:"-"` 8299} 8300 8301func (s *GoogleCloudVisionV1p3beta1LocationInfo) MarshalJSON() ([]byte, error) { 8302 type NoMethod GoogleCloudVisionV1p3beta1LocationInfo 8303 raw := NoMethod(*s) 8304 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8305} 8306 8307// GoogleCloudVisionV1p3beta1NormalizedVertex: A vertex represents a 2D 8308// point in the image. 8309// NOTE: the normalized vertex coordinates are relative to the original 8310// image 8311// and range from 0 to 1. 8312type GoogleCloudVisionV1p3beta1NormalizedVertex struct { 8313 // X: X coordinate. 8314 X float64 `json:"x,omitempty"` 8315 8316 // Y: Y coordinate. 8317 Y float64 `json:"y,omitempty"` 8318 8319 // ForceSendFields is a list of field names (e.g. "X") to 8320 // unconditionally include in API requests. By default, fields with 8321 // empty values are omitted from API requests. However, any non-pointer, 8322 // non-interface field appearing in ForceSendFields will be sent to the 8323 // server regardless of whether the field is empty or not. This may be 8324 // used to include empty fields in Patch requests. 8325 ForceSendFields []string `json:"-"` 8326 8327 // NullFields is a list of field names (e.g. "X") to include in API 8328 // requests with the JSON null value. By default, fields with empty 8329 // values are omitted from API requests. However, any field with an 8330 // empty value appearing in NullFields will be sent to the server as 8331 // null. It is an error if a field in this list has a non-empty value. 8332 // This may be used to include null fields in Patch requests. 8333 NullFields []string `json:"-"` 8334} 8335 8336func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 8337 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 8338 raw := NoMethod(*s) 8339 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8340} 8341 8342func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 8343 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 8344 var s1 struct { 8345 X gensupport.JSONFloat64 `json:"x"` 8346 Y gensupport.JSONFloat64 `json:"y"` 8347 *NoMethod 8348 } 8349 s1.NoMethod = (*NoMethod)(s) 8350 if err := json.Unmarshal(data, &s1); err != nil { 8351 return err 8352 } 8353 s.X = float64(s1.X) 8354 s.Y = float64(s1.Y) 8355 return nil 8356} 8357 8358// GoogleCloudVisionV1p3beta1OperationMetadata: Contains metadata for 8359// the BatchAnnotateImages operation. 8360type GoogleCloudVisionV1p3beta1OperationMetadata struct { 8361 // CreateTime: The time when the batch request was received. 8362 CreateTime string `json:"createTime,omitempty"` 8363 8364 // State: Current state of the batch operation. 8365 // 8366 // Possible values: 8367 // "STATE_UNSPECIFIED" - Invalid. 8368 // "CREATED" - Request is received. 8369 // "RUNNING" - Request is actively being processed. 8370 // "DONE" - The batch processing is done. 8371 // "CANCELLED" - The batch processing was cancelled. 8372 State string `json:"state,omitempty"` 8373 8374 // UpdateTime: The time when the operation result was last updated. 8375 UpdateTime string `json:"updateTime,omitempty"` 8376 8377 // ForceSendFields is a list of field names (e.g. "CreateTime") to 8378 // unconditionally include in API requests. By default, fields with 8379 // empty values are omitted from API requests. However, any non-pointer, 8380 // non-interface field appearing in ForceSendFields will be sent to the 8381 // server regardless of whether the field is empty or not. This may be 8382 // used to include empty fields in Patch requests. 8383 ForceSendFields []string `json:"-"` 8384 8385 // NullFields is a list of field names (e.g. "CreateTime") to include in 8386 // API requests with the JSON null value. By default, fields with empty 8387 // values are omitted from API requests. However, any field with an 8388 // empty value appearing in NullFields will be sent to the server as 8389 // null. It is an error if a field in this list has a non-empty value. 8390 // This may be used to include null fields in Patch requests. 8391 NullFields []string `json:"-"` 8392} 8393 8394func (s *GoogleCloudVisionV1p3beta1OperationMetadata) MarshalJSON() ([]byte, error) { 8395 type NoMethod GoogleCloudVisionV1p3beta1OperationMetadata 8396 raw := NoMethod(*s) 8397 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8398} 8399 8400// GoogleCloudVisionV1p3beta1OutputConfig: The desired output location 8401// and metadata. 8402type GoogleCloudVisionV1p3beta1OutputConfig struct { 8403 // BatchSize: The max number of response protos to put into each output 8404 // JSON file on 8405 // Google Cloud Storage. 8406 // The valid range is [1, 100]. If not specified, the default value is 8407 // 20. 8408 // 8409 // For example, for one pdf file with 100 pages, 100 response protos 8410 // will 8411 // be generated. If `batch_size` = 20, then 5 json files each 8412 // containing 20 response protos will be written under the 8413 // prefix 8414 // `gcs_destination`.`uri`. 8415 // 8416 // Currently, batch_size only applies to GcsDestination, with potential 8417 // future 8418 // support for other output configurations. 8419 BatchSize int64 `json:"batchSize,omitempty"` 8420 8421 // GcsDestination: The Google Cloud Storage location to write the 8422 // output(s) to. 8423 GcsDestination *GoogleCloudVisionV1p3beta1GcsDestination `json:"gcsDestination,omitempty"` 8424 8425 // ForceSendFields is a list of field names (e.g. "BatchSize") to 8426 // unconditionally include in API requests. By default, fields with 8427 // empty values are omitted from API requests. However, any non-pointer, 8428 // non-interface field appearing in ForceSendFields will be sent to the 8429 // server regardless of whether the field is empty or not. This may be 8430 // used to include empty fields in Patch requests. 8431 ForceSendFields []string `json:"-"` 8432 8433 // NullFields is a list of field names (e.g. "BatchSize") to include in 8434 // API requests with the JSON null value. By default, fields with empty 8435 // values are omitted from API requests. However, any field with an 8436 // empty value appearing in NullFields will be sent to the server as 8437 // null. It is an error if a field in this list has a non-empty value. 8438 // This may be used to include null fields in Patch requests. 8439 NullFields []string `json:"-"` 8440} 8441 8442func (s *GoogleCloudVisionV1p3beta1OutputConfig) MarshalJSON() ([]byte, error) { 8443 type NoMethod GoogleCloudVisionV1p3beta1OutputConfig 8444 raw := NoMethod(*s) 8445 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8446} 8447 8448// GoogleCloudVisionV1p3beta1Page: Detected page from OCR. 8449type GoogleCloudVisionV1p3beta1Page struct { 8450 // Blocks: List of blocks of text, images etc on this page. 8451 Blocks []*GoogleCloudVisionV1p3beta1Block `json:"blocks,omitempty"` 8452 8453 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 8454 Confidence float64 `json:"confidence,omitempty"` 8455 8456 // Height: Page height. For PDFs the unit is points. For images 8457 // (including 8458 // TIFFs) the unit is pixels. 8459 Height int64 `json:"height,omitempty"` 8460 8461 // Property: Additional information detected on the page. 8462 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8463 8464 // Width: Page width. For PDFs the unit is points. For images 8465 // (including 8466 // TIFFs) the unit is pixels. 8467 Width int64 `json:"width,omitempty"` 8468 8469 // ForceSendFields is a list of field names (e.g. "Blocks") to 8470 // unconditionally include in API requests. By default, fields with 8471 // empty values are omitted from API requests. However, any non-pointer, 8472 // non-interface field appearing in ForceSendFields will be sent to the 8473 // server regardless of whether the field is empty or not. This may be 8474 // used to include empty fields in Patch requests. 8475 ForceSendFields []string `json:"-"` 8476 8477 // NullFields is a list of field names (e.g. "Blocks") to include in API 8478 // requests with the JSON null value. By default, fields with empty 8479 // values are omitted from API requests. However, any field with an 8480 // empty value appearing in NullFields will be sent to the server as 8481 // null. It is an error if a field in this list has a non-empty value. 8482 // This may be used to include null fields in Patch requests. 8483 NullFields []string `json:"-"` 8484} 8485 8486func (s *GoogleCloudVisionV1p3beta1Page) MarshalJSON() ([]byte, error) { 8487 type NoMethod GoogleCloudVisionV1p3beta1Page 8488 raw := NoMethod(*s) 8489 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8490} 8491 8492func (s *GoogleCloudVisionV1p3beta1Page) UnmarshalJSON(data []byte) error { 8493 type NoMethod GoogleCloudVisionV1p3beta1Page 8494 var s1 struct { 8495 Confidence gensupport.JSONFloat64 `json:"confidence"` 8496 *NoMethod 8497 } 8498 s1.NoMethod = (*NoMethod)(s) 8499 if err := json.Unmarshal(data, &s1); err != nil { 8500 return err 8501 } 8502 s.Confidence = float64(s1.Confidence) 8503 return nil 8504} 8505 8506// GoogleCloudVisionV1p3beta1Paragraph: Structural unit of text 8507// representing a number of words in certain order. 8508type GoogleCloudVisionV1p3beta1Paragraph struct { 8509 // BoundingBox: The bounding box for the paragraph. 8510 // The vertices are in the order of top-left, top-right, 8511 // bottom-right, 8512 // bottom-left. When a rotation of the bounding box is detected the 8513 // rotation 8514 // is represented as around the top-left corner as defined when the text 8515 // is 8516 // read in the 'natural' orientation. 8517 // For example: 8518 // * when the text is horizontal it might look like: 8519 // 0----1 8520 // | | 8521 // 3----2 8522 // * when it's rotated 180 degrees around the top-left corner it 8523 // becomes: 8524 // 2----3 8525 // | | 8526 // 1----0 8527 // and the vertex order will still be (0, 1, 2, 3). 8528 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 8529 8530 // Confidence: Confidence of the OCR results for the paragraph. Range 8531 // [0, 1]. 8532 Confidence float64 `json:"confidence,omitempty"` 8533 8534 // Property: Additional information detected for the paragraph. 8535 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8536 8537 // Words: List of all words in this paragraph. 8538 Words []*GoogleCloudVisionV1p3beta1Word `json:"words,omitempty"` 8539 8540 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 8541 // unconditionally include in API requests. By default, fields with 8542 // empty values are omitted from API requests. However, any non-pointer, 8543 // non-interface field appearing in ForceSendFields will be sent to the 8544 // server regardless of whether the field is empty or not. This may be 8545 // used to include empty fields in Patch requests. 8546 ForceSendFields []string `json:"-"` 8547 8548 // NullFields is a list of field names (e.g. "BoundingBox") to include 8549 // in API requests with the JSON null value. By default, fields with 8550 // empty values are omitted from API requests. However, any field with 8551 // an empty value appearing in NullFields will be sent to the server as 8552 // null. It is an error if a field in this list has a non-empty value. 8553 // This may be used to include null fields in Patch requests. 8554 NullFields []string `json:"-"` 8555} 8556 8557func (s *GoogleCloudVisionV1p3beta1Paragraph) MarshalJSON() ([]byte, error) { 8558 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 8559 raw := NoMethod(*s) 8560 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8561} 8562 8563func (s *GoogleCloudVisionV1p3beta1Paragraph) UnmarshalJSON(data []byte) error { 8564 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 8565 var s1 struct { 8566 Confidence gensupport.JSONFloat64 `json:"confidence"` 8567 *NoMethod 8568 } 8569 s1.NoMethod = (*NoMethod)(s) 8570 if err := json.Unmarshal(data, &s1); err != nil { 8571 return err 8572 } 8573 s.Confidence = float64(s1.Confidence) 8574 return nil 8575} 8576 8577// GoogleCloudVisionV1p3beta1Position: A 3D position in the image, used 8578// primarily for Face detection landmarks. 8579// A valid Position must have both x and y coordinates. 8580// The position coordinates are in the same scale as the original image. 8581type GoogleCloudVisionV1p3beta1Position struct { 8582 // X: X coordinate. 8583 X float64 `json:"x,omitempty"` 8584 8585 // Y: Y coordinate. 8586 Y float64 `json:"y,omitempty"` 8587 8588 // Z: Z coordinate (or depth). 8589 Z float64 `json:"z,omitempty"` 8590 8591 // ForceSendFields is a list of field names (e.g. "X") to 8592 // unconditionally include in API requests. By default, fields with 8593 // empty values are omitted from API requests. However, any non-pointer, 8594 // non-interface field appearing in ForceSendFields will be sent to the 8595 // server regardless of whether the field is empty or not. This may be 8596 // used to include empty fields in Patch requests. 8597 ForceSendFields []string `json:"-"` 8598 8599 // NullFields is a list of field names (e.g. "X") to include in API 8600 // requests with the JSON null value. By default, fields with empty 8601 // values are omitted from API requests. However, any field with an 8602 // empty value appearing in NullFields will be sent to the server as 8603 // null. It is an error if a field in this list has a non-empty value. 8604 // This may be used to include null fields in Patch requests. 8605 NullFields []string `json:"-"` 8606} 8607 8608func (s *GoogleCloudVisionV1p3beta1Position) MarshalJSON() ([]byte, error) { 8609 type NoMethod GoogleCloudVisionV1p3beta1Position 8610 raw := NoMethod(*s) 8611 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8612} 8613 8614func (s *GoogleCloudVisionV1p3beta1Position) UnmarshalJSON(data []byte) error { 8615 type NoMethod GoogleCloudVisionV1p3beta1Position 8616 var s1 struct { 8617 X gensupport.JSONFloat64 `json:"x"` 8618 Y gensupport.JSONFloat64 `json:"y"` 8619 Z gensupport.JSONFloat64 `json:"z"` 8620 *NoMethod 8621 } 8622 s1.NoMethod = (*NoMethod)(s) 8623 if err := json.Unmarshal(data, &s1); err != nil { 8624 return err 8625 } 8626 s.X = float64(s1.X) 8627 s.Y = float64(s1.Y) 8628 s.Z = float64(s1.Z) 8629 return nil 8630} 8631 8632// GoogleCloudVisionV1p3beta1Product: A Product contains 8633// ReferenceImages. 8634type GoogleCloudVisionV1p3beta1Product struct { 8635 // Description: User-provided metadata to be stored with this product. 8636 // Must be at most 4096 8637 // characters long. 8638 Description string `json:"description,omitempty"` 8639 8640 // DisplayName: The user-provided name for this Product. Must not be 8641 // empty. Must be at most 8642 // 4096 characters long. 8643 DisplayName string `json:"displayName,omitempty"` 8644 8645 // Name: The resource name of the product. 8646 // 8647 // Format 8648 // is: 8649 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 8650 // 8651 // This field is ignored when creating a product. 8652 Name string `json:"name,omitempty"` 8653 8654 // ProductCategory: Immutable. The category for the product identified 8655 // by the reference image. This should 8656 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 8657 // categories 8658 // "homegoods", "apparel", and "toys" are still supported, but these 8659 // should 8660 // not be used for new products. 8661 ProductCategory string `json:"productCategory,omitempty"` 8662 8663 // ProductLabels: Key-value pairs that can be attached to a product. At 8664 // query time, 8665 // constraints can be specified based on the product_labels. 8666 // 8667 // Note that integer values can be provided as strings, e.g. "1199". 8668 // Only 8669 // strings with integer values can match a range-based restriction which 8670 // is 8671 // to be supported soon. 8672 // 8673 // Multiple values can be assigned to the same key. One product may have 8674 // up to 8675 // 500 product_labels. 8676 // 8677 // Notice that the total number of distinct product_labels over all 8678 // products 8679 // in one ProductSet cannot exceed 1M, otherwise the product search 8680 // pipeline 8681 // will refuse to work for that ProductSet. 8682 ProductLabels []*GoogleCloudVisionV1p3beta1ProductKeyValue `json:"productLabels,omitempty"` 8683 8684 // ForceSendFields is a list of field names (e.g. "Description") to 8685 // unconditionally include in API requests. By default, fields with 8686 // empty values are omitted from API requests. However, any non-pointer, 8687 // non-interface field appearing in ForceSendFields will be sent to the 8688 // server regardless of whether the field is empty or not. This may be 8689 // used to include empty fields in Patch requests. 8690 ForceSendFields []string `json:"-"` 8691 8692 // NullFields is a list of field names (e.g. "Description") to include 8693 // in API requests with the JSON null value. By default, fields with 8694 // empty values are omitted from API requests. However, any field with 8695 // an empty value appearing in NullFields will be sent to the server as 8696 // null. It is an error if a field in this list has a non-empty value. 8697 // This may be used to include null fields in Patch requests. 8698 NullFields []string `json:"-"` 8699} 8700 8701func (s *GoogleCloudVisionV1p3beta1Product) MarshalJSON() ([]byte, error) { 8702 type NoMethod GoogleCloudVisionV1p3beta1Product 8703 raw := NoMethod(*s) 8704 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8705} 8706 8707// GoogleCloudVisionV1p3beta1ProductKeyValue: A product label 8708// represented as a key-value pair. 8709type GoogleCloudVisionV1p3beta1ProductKeyValue struct { 8710 // Key: The key of the label attached to the product. Cannot be empty 8711 // and cannot 8712 // exceed 128 bytes. 8713 Key string `json:"key,omitempty"` 8714 8715 // Value: The value of the label attached to the product. Cannot be 8716 // empty and 8717 // cannot exceed 128 bytes. 8718 Value string `json:"value,omitempty"` 8719 8720 // ForceSendFields is a list of field names (e.g. "Key") to 8721 // unconditionally include in API requests. By default, fields with 8722 // empty values are omitted from API requests. However, any non-pointer, 8723 // non-interface field appearing in ForceSendFields will be sent to the 8724 // server regardless of whether the field is empty or not. This may be 8725 // used to include empty fields in Patch requests. 8726 ForceSendFields []string `json:"-"` 8727 8728 // NullFields is a list of field names (e.g. "Key") to include in API 8729 // requests with the JSON null value. By default, fields with empty 8730 // values are omitted from API requests. However, any field with an 8731 // empty value appearing in NullFields will be sent to the server as 8732 // null. It is an error if a field in this list has a non-empty value. 8733 // This may be used to include null fields in Patch requests. 8734 NullFields []string `json:"-"` 8735} 8736 8737func (s *GoogleCloudVisionV1p3beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 8738 type NoMethod GoogleCloudVisionV1p3beta1ProductKeyValue 8739 raw := NoMethod(*s) 8740 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8741} 8742 8743// GoogleCloudVisionV1p3beta1ProductSearchResults: Results for a product 8744// search request. 8745type GoogleCloudVisionV1p3beta1ProductSearchResults struct { 8746 // IndexTime: Timestamp of the index which provided these results. 8747 // Products added to the 8748 // product set and products removed from the product set after this time 8749 // are 8750 // not reflected in the current results. 8751 IndexTime string `json:"indexTime,omitempty"` 8752 8753 // ProductGroupedResults: List of results grouped by products detected 8754 // in the query image. Each entry 8755 // corresponds to one bounding polygon in the query image, and contains 8756 // the 8757 // matching products specific to that region. There may be duplicate 8758 // product 8759 // matches in the union of all the per-product results. 8760 ProductGroupedResults []*GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 8761 8762 // Results: List of results, one for each product match. 8763 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8764 8765 // ForceSendFields is a list of field names (e.g. "IndexTime") to 8766 // unconditionally include in API requests. By default, fields with 8767 // empty values are omitted from API requests. However, any non-pointer, 8768 // non-interface field appearing in ForceSendFields will be sent to the 8769 // server regardless of whether the field is empty or not. This may be 8770 // used to include empty fields in Patch requests. 8771 ForceSendFields []string `json:"-"` 8772 8773 // NullFields is a list of field names (e.g. "IndexTime") to include in 8774 // API requests with the JSON null value. By default, fields with empty 8775 // values are omitted from API requests. However, any field with an 8776 // empty value appearing in NullFields will be sent to the server as 8777 // null. It is an error if a field in this list has a non-empty value. 8778 // This may be used to include null fields in Patch requests. 8779 NullFields []string `json:"-"` 8780} 8781 8782func (s *GoogleCloudVisionV1p3beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 8783 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResults 8784 raw := NoMethod(*s) 8785 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8786} 8787 8788// GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult: 8789// Information about the products similar to a single product in a 8790// query 8791// image. 8792type GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult struct { 8793 // BoundingPoly: The bounding polygon around the product detected in the 8794 // query image. 8795 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 8796 8797 // ObjectAnnotations: List of generic predictions for the object in the 8798 // bounding box. 8799 ObjectAnnotations []*GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 8800 8801 // Results: List of results, one for each product match. 8802 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8803 8804 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8805 // unconditionally include in API requests. By default, fields with 8806 // empty values are omitted from API requests. However, any non-pointer, 8807 // non-interface field appearing in ForceSendFields will be sent to the 8808 // server regardless of whether the field is empty or not. This may be 8809 // used to include empty fields in Patch requests. 8810 ForceSendFields []string `json:"-"` 8811 8812 // NullFields is a list of field names (e.g. "BoundingPoly") to include 8813 // in API requests with the JSON null value. By default, fields with 8814 // empty values are omitted from API requests. However, any field with 8815 // an empty value appearing in NullFields will be sent to the server as 8816 // null. It is an error if a field in this list has a non-empty value. 8817 // This may be used to include null fields in Patch requests. 8818 NullFields []string `json:"-"` 8819} 8820 8821func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 8822 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult 8823 raw := NoMethod(*s) 8824 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8825} 8826 8827// GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation: 8828// Prediction for what the object in the bounding box is. 8829type GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation struct { 8830 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 8831 // For more 8832 // information, 8833 // see 8834 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8835 LanguageCode string `json:"languageCode,omitempty"` 8836 8837 // Mid: Object ID that should align with EntityAnnotation mid. 8838 Mid string `json:"mid,omitempty"` 8839 8840 // Name: Object name, expressed in its `language_code` language. 8841 Name string `json:"name,omitempty"` 8842 8843 // Score: Score of the result. Range [0, 1]. 8844 Score float64 `json:"score,omitempty"` 8845 8846 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 8847 // unconditionally include in API requests. By default, fields with 8848 // empty values are omitted from API requests. However, any non-pointer, 8849 // non-interface field appearing in ForceSendFields will be sent to the 8850 // server regardless of whether the field is empty or not. This may be 8851 // used to include empty fields in Patch requests. 8852 ForceSendFields []string `json:"-"` 8853 8854 // NullFields is a list of field names (e.g. "LanguageCode") to include 8855 // in API requests with the JSON null value. By default, fields with 8856 // empty values are omitted from API requests. However, any field with 8857 // an empty value appearing in NullFields will be sent to the server as 8858 // null. It is an error if a field in this list has a non-empty value. 8859 // This may be used to include null fields in Patch requests. 8860 NullFields []string `json:"-"` 8861} 8862 8863func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 8864 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 8865 raw := NoMethod(*s) 8866 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8867} 8868 8869func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 8870 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 8871 var s1 struct { 8872 Score gensupport.JSONFloat64 `json:"score"` 8873 *NoMethod 8874 } 8875 s1.NoMethod = (*NoMethod)(s) 8876 if err := json.Unmarshal(data, &s1); err != nil { 8877 return err 8878 } 8879 s.Score = float64(s1.Score) 8880 return nil 8881} 8882 8883// GoogleCloudVisionV1p3beta1ProductSearchResultsResult: Information 8884// about a product. 8885type GoogleCloudVisionV1p3beta1ProductSearchResultsResult struct { 8886 // Image: The resource name of the image from the product that is the 8887 // closest match 8888 // to the query. 8889 Image string `json:"image,omitempty"` 8890 8891 // Product: The Product. 8892 Product *GoogleCloudVisionV1p3beta1Product `json:"product,omitempty"` 8893 8894 // Score: A confidence level on the match, ranging from 0 (no 8895 // confidence) to 8896 // 1 (full confidence). 8897 Score float64 `json:"score,omitempty"` 8898 8899 // ForceSendFields is a list of field names (e.g. "Image") to 8900 // unconditionally include in API requests. By default, fields with 8901 // empty values are omitted from API requests. However, any non-pointer, 8902 // non-interface field appearing in ForceSendFields will be sent to the 8903 // server regardless of whether the field is empty or not. This may be 8904 // used to include empty fields in Patch requests. 8905 ForceSendFields []string `json:"-"` 8906 8907 // NullFields is a list of field names (e.g. "Image") to include in API 8908 // requests with the JSON null value. By default, fields with empty 8909 // values are omitted from API requests. However, any field with an 8910 // empty value appearing in NullFields will be sent to the server as 8911 // null. It is an error if a field in this list has a non-empty value. 8912 // This may be used to include null fields in Patch requests. 8913 NullFields []string `json:"-"` 8914} 8915 8916func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 8917 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8918 raw := NoMethod(*s) 8919 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8920} 8921 8922func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 8923 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8924 var s1 struct { 8925 Score gensupport.JSONFloat64 `json:"score"` 8926 *NoMethod 8927 } 8928 s1.NoMethod = (*NoMethod)(s) 8929 if err := json.Unmarshal(data, &s1); err != nil { 8930 return err 8931 } 8932 s.Score = float64(s1.Score) 8933 return nil 8934} 8935 8936// GoogleCloudVisionV1p3beta1Property: A `Property` consists of a 8937// user-supplied name/value pair. 8938type GoogleCloudVisionV1p3beta1Property struct { 8939 // Name: Name of the property. 8940 Name string `json:"name,omitempty"` 8941 8942 // Uint64Value: Value of numeric properties. 8943 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 8944 8945 // Value: Value of the property. 8946 Value string `json:"value,omitempty"` 8947 8948 // ForceSendFields is a list of field names (e.g. "Name") to 8949 // unconditionally include in API requests. By default, fields with 8950 // empty values are omitted from API requests. However, any non-pointer, 8951 // non-interface field appearing in ForceSendFields will be sent to the 8952 // server regardless of whether the field is empty or not. This may be 8953 // used to include empty fields in Patch requests. 8954 ForceSendFields []string `json:"-"` 8955 8956 // NullFields is a list of field names (e.g. "Name") to include in API 8957 // requests with the JSON null value. By default, fields with empty 8958 // values are omitted from API requests. However, any field with an 8959 // empty value appearing in NullFields will be sent to the server as 8960 // null. It is an error if a field in this list has a non-empty value. 8961 // This may be used to include null fields in Patch requests. 8962 NullFields []string `json:"-"` 8963} 8964 8965func (s *GoogleCloudVisionV1p3beta1Property) MarshalJSON() ([]byte, error) { 8966 type NoMethod GoogleCloudVisionV1p3beta1Property 8967 raw := NoMethod(*s) 8968 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8969} 8970 8971// GoogleCloudVisionV1p3beta1ReferenceImage: A `ReferenceImage` 8972// represents a product image and its associated metadata, 8973// such as bounding boxes. 8974type GoogleCloudVisionV1p3beta1ReferenceImage struct { 8975 // BoundingPolys: Optional. Bounding polygons around the areas of 8976 // interest in the reference image. 8977 // If this field is empty, the system will try to detect regions 8978 // of 8979 // interest. At most 10 bounding polygons will be used. 8980 // 8981 // The provided shape is converted into a non-rotated rectangle. 8982 // Once 8983 // converted, the small edge of the rectangle must be greater than or 8984 // equal 8985 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 8986 // 1:5 8987 // is not). 8988 BoundingPolys []*GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPolys,omitempty"` 8989 8990 // Name: The resource name of the reference image. 8991 // 8992 // Format 8993 // is: 8994 // 8995 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 8996 // ceImages/IMAGE_ID`. 8997 // 8998 // This field is ignored when creating a reference image. 8999 Name string `json:"name,omitempty"` 9000 9001 // Uri: Required. The Google Cloud Storage URI of the reference 9002 // image. 9003 // 9004 // The URI must start with `gs://`. 9005 Uri string `json:"uri,omitempty"` 9006 9007 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 9008 // unconditionally include in API requests. By default, fields with 9009 // empty values are omitted from API requests. However, any non-pointer, 9010 // non-interface field appearing in ForceSendFields will be sent to the 9011 // server regardless of whether the field is empty or not. This may be 9012 // used to include empty fields in Patch requests. 9013 ForceSendFields []string `json:"-"` 9014 9015 // NullFields is a list of field names (e.g. "BoundingPolys") to include 9016 // in API requests with the JSON null value. By default, fields with 9017 // empty values are omitted from API requests. However, any field with 9018 // an empty value appearing in NullFields will be sent to the server as 9019 // null. It is an error if a field in this list has a non-empty value. 9020 // This may be used to include null fields in Patch requests. 9021 NullFields []string `json:"-"` 9022} 9023 9024func (s *GoogleCloudVisionV1p3beta1ReferenceImage) MarshalJSON() ([]byte, error) { 9025 type NoMethod GoogleCloudVisionV1p3beta1ReferenceImage 9026 raw := NoMethod(*s) 9027 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9028} 9029 9030// GoogleCloudVisionV1p3beta1SafeSearchAnnotation: Set of features 9031// pertaining to the image, computed by computer vision 9032// methods over safe-search verticals (for example, adult, spoof, 9033// medical, 9034// violence). 9035type GoogleCloudVisionV1p3beta1SafeSearchAnnotation struct { 9036 // Adult: Represents the adult content likelihood for the image. Adult 9037 // content may 9038 // contain elements such as nudity, pornographic images or cartoons, 9039 // or 9040 // sexual activities. 9041 // 9042 // Possible values: 9043 // "UNKNOWN" - Unknown likelihood. 9044 // "VERY_UNLIKELY" - It is very unlikely. 9045 // "UNLIKELY" - It is unlikely. 9046 // "POSSIBLE" - It is possible. 9047 // "LIKELY" - It is likely. 9048 // "VERY_LIKELY" - It is very likely. 9049 Adult string `json:"adult,omitempty"` 9050 9051 // Medical: Likelihood that this is a medical image. 9052 // 9053 // Possible values: 9054 // "UNKNOWN" - Unknown likelihood. 9055 // "VERY_UNLIKELY" - It is very unlikely. 9056 // "UNLIKELY" - It is unlikely. 9057 // "POSSIBLE" - It is possible. 9058 // "LIKELY" - It is likely. 9059 // "VERY_LIKELY" - It is very likely. 9060 Medical string `json:"medical,omitempty"` 9061 9062 // Racy: Likelihood that the request image contains racy content. Racy 9063 // content may 9064 // include (but is not limited to) skimpy or sheer clothing, 9065 // strategically 9066 // covered nudity, lewd or provocative poses, or close-ups of 9067 // sensitive 9068 // body areas. 9069 // 9070 // Possible values: 9071 // "UNKNOWN" - Unknown likelihood. 9072 // "VERY_UNLIKELY" - It is very unlikely. 9073 // "UNLIKELY" - It is unlikely. 9074 // "POSSIBLE" - It is possible. 9075 // "LIKELY" - It is likely. 9076 // "VERY_LIKELY" - It is very likely. 9077 Racy string `json:"racy,omitempty"` 9078 9079 // Spoof: Spoof likelihood. The likelihood that an modification 9080 // was made to the image's canonical version to make it appear 9081 // funny or offensive. 9082 // 9083 // Possible values: 9084 // "UNKNOWN" - Unknown likelihood. 9085 // "VERY_UNLIKELY" - It is very unlikely. 9086 // "UNLIKELY" - It is unlikely. 9087 // "POSSIBLE" - It is possible. 9088 // "LIKELY" - It is likely. 9089 // "VERY_LIKELY" - It is very likely. 9090 Spoof string `json:"spoof,omitempty"` 9091 9092 // Violence: Likelihood that this image contains violent content. 9093 // 9094 // Possible values: 9095 // "UNKNOWN" - Unknown likelihood. 9096 // "VERY_UNLIKELY" - It is very unlikely. 9097 // "UNLIKELY" - It is unlikely. 9098 // "POSSIBLE" - It is possible. 9099 // "LIKELY" - It is likely. 9100 // "VERY_LIKELY" - It is very likely. 9101 Violence string `json:"violence,omitempty"` 9102 9103 // ForceSendFields is a list of field names (e.g. "Adult") to 9104 // unconditionally include in API requests. By default, fields with 9105 // empty values are omitted from API requests. However, any non-pointer, 9106 // non-interface field appearing in ForceSendFields will be sent to the 9107 // server regardless of whether the field is empty or not. This may be 9108 // used to include empty fields in Patch requests. 9109 ForceSendFields []string `json:"-"` 9110 9111 // NullFields is a list of field names (e.g. "Adult") to include in API 9112 // requests with the JSON null value. By default, fields with empty 9113 // values are omitted from API requests. However, any field with an 9114 // empty value appearing in NullFields will be sent to the server as 9115 // null. It is an error if a field in this list has a non-empty value. 9116 // This may be used to include null fields in Patch requests. 9117 NullFields []string `json:"-"` 9118} 9119 9120func (s *GoogleCloudVisionV1p3beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 9121 type NoMethod GoogleCloudVisionV1p3beta1SafeSearchAnnotation 9122 raw := NoMethod(*s) 9123 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9124} 9125 9126// GoogleCloudVisionV1p3beta1Symbol: A single symbol representation. 9127type GoogleCloudVisionV1p3beta1Symbol struct { 9128 // BoundingBox: The bounding box for the symbol. 9129 // The vertices are in the order of top-left, top-right, 9130 // bottom-right, 9131 // bottom-left. When a rotation of the bounding box is detected the 9132 // rotation 9133 // is represented as around the top-left corner as defined when the text 9134 // is 9135 // read in the 'natural' orientation. 9136 // For example: 9137 // * when the text is horizontal it might look like: 9138 // 0----1 9139 // | | 9140 // 3----2 9141 // * when it's rotated 180 degrees around the top-left corner it 9142 // becomes: 9143 // 2----3 9144 // | | 9145 // 1----0 9146 // and the vertex order will still be (0, 1, 2, 3). 9147 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 9148 9149 // Confidence: Confidence of the OCR results for the symbol. Range [0, 9150 // 1]. 9151 Confidence float64 `json:"confidence,omitempty"` 9152 9153 // Property: Additional information detected for the symbol. 9154 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 9155 9156 // Text: The actual UTF-8 representation of the symbol. 9157 Text string `json:"text,omitempty"` 9158 9159 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 9160 // unconditionally include in API requests. By default, fields with 9161 // empty values are omitted from API requests. However, any non-pointer, 9162 // non-interface field appearing in ForceSendFields will be sent to the 9163 // server regardless of whether the field is empty or not. This may be 9164 // used to include empty fields in Patch requests. 9165 ForceSendFields []string `json:"-"` 9166 9167 // NullFields is a list of field names (e.g. "BoundingBox") to include 9168 // in API requests with the JSON null value. By default, fields with 9169 // empty values are omitted from API requests. However, any field with 9170 // an empty value appearing in NullFields will be sent to the server as 9171 // null. It is an error if a field in this list has a non-empty value. 9172 // This may be used to include null fields in Patch requests. 9173 NullFields []string `json:"-"` 9174} 9175 9176func (s *GoogleCloudVisionV1p3beta1Symbol) MarshalJSON() ([]byte, error) { 9177 type NoMethod GoogleCloudVisionV1p3beta1Symbol 9178 raw := NoMethod(*s) 9179 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9180} 9181 9182func (s *GoogleCloudVisionV1p3beta1Symbol) UnmarshalJSON(data []byte) error { 9183 type NoMethod GoogleCloudVisionV1p3beta1Symbol 9184 var s1 struct { 9185 Confidence gensupport.JSONFloat64 `json:"confidence"` 9186 *NoMethod 9187 } 9188 s1.NoMethod = (*NoMethod)(s) 9189 if err := json.Unmarshal(data, &s1); err != nil { 9190 return err 9191 } 9192 s.Confidence = float64(s1.Confidence) 9193 return nil 9194} 9195 9196// GoogleCloudVisionV1p3beta1TextAnnotation: TextAnnotation contains a 9197// structured representation of OCR extracted text. 9198// The hierarchy of an OCR extracted text structure is like this: 9199// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 9200// Symbol 9201// Each structural component, starting from Page, may further have their 9202// own 9203// properties. Properties describe detected languages, breaks etc.. 9204// Please refer 9205// to the TextAnnotation.TextProperty message definition below for 9206// more 9207// detail. 9208type GoogleCloudVisionV1p3beta1TextAnnotation struct { 9209 // Pages: List of pages detected by OCR. 9210 Pages []*GoogleCloudVisionV1p3beta1Page `json:"pages,omitempty"` 9211 9212 // Text: UTF-8 text detected on the pages. 9213 Text string `json:"text,omitempty"` 9214 9215 // ForceSendFields is a list of field names (e.g. "Pages") to 9216 // unconditionally include in API requests. By default, fields with 9217 // empty values are omitted from API requests. However, any non-pointer, 9218 // non-interface field appearing in ForceSendFields will be sent to the 9219 // server regardless of whether the field is empty or not. This may be 9220 // used to include empty fields in Patch requests. 9221 ForceSendFields []string `json:"-"` 9222 9223 // NullFields is a list of field names (e.g. "Pages") to include in API 9224 // requests with the JSON null value. By default, fields with empty 9225 // values are omitted from API requests. However, any field with an 9226 // empty value appearing in NullFields will be sent to the server as 9227 // null. It is an error if a field in this list has a non-empty value. 9228 // This may be used to include null fields in Patch requests. 9229 NullFields []string `json:"-"` 9230} 9231 9232func (s *GoogleCloudVisionV1p3beta1TextAnnotation) MarshalJSON() ([]byte, error) { 9233 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotation 9234 raw := NoMethod(*s) 9235 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9236} 9237 9238// GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak: Detected start 9239// or end of a structural component. 9240type GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak struct { 9241 // IsPrefix: True if break prepends the element. 9242 IsPrefix bool `json:"isPrefix,omitempty"` 9243 9244 // Type: Detected break type. 9245 // 9246 // Possible values: 9247 // "UNKNOWN" - Unknown break label type. 9248 // "SPACE" - Regular space. 9249 // "SURE_SPACE" - Sure space (very wide). 9250 // "EOL_SURE_SPACE" - Line-wrapping break. 9251 // "HYPHEN" - End-line hyphen that is not present in text; does not 9252 // co-occur with 9253 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 9254 // "LINE_BREAK" - Line break that ends a paragraph. 9255 Type string `json:"type,omitempty"` 9256 9257 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 9258 // unconditionally include in API requests. By default, fields with 9259 // empty values are omitted from API requests. However, any non-pointer, 9260 // non-interface field appearing in ForceSendFields will be sent to the 9261 // server regardless of whether the field is empty or not. This may be 9262 // used to include empty fields in Patch requests. 9263 ForceSendFields []string `json:"-"` 9264 9265 // NullFields is a list of field names (e.g. "IsPrefix") to include in 9266 // API requests with the JSON null value. By default, fields with empty 9267 // values are omitted from API requests. However, any field with an 9268 // empty value appearing in NullFields will be sent to the server as 9269 // null. It is an error if a field in this list has a non-empty value. 9270 // This may be used to include null fields in Patch requests. 9271 NullFields []string `json:"-"` 9272} 9273 9274func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 9275 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak 9276 raw := NoMethod(*s) 9277 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9278} 9279 9280// GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage: Detected 9281// language for a structural component. 9282type GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage struct { 9283 // Confidence: Confidence of detected language. Range [0, 1]. 9284 Confidence float64 `json:"confidence,omitempty"` 9285 9286 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 9287 // For more 9288 // information, 9289 // see 9290 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 9291 LanguageCode string `json:"languageCode,omitempty"` 9292 9293 // ForceSendFields is a list of field names (e.g. "Confidence") to 9294 // unconditionally include in API requests. By default, fields with 9295 // empty values are omitted from API requests. However, any non-pointer, 9296 // non-interface field appearing in ForceSendFields will be sent to the 9297 // server regardless of whether the field is empty or not. This may be 9298 // used to include empty fields in Patch requests. 9299 ForceSendFields []string `json:"-"` 9300 9301 // NullFields is a list of field names (e.g. "Confidence") to include in 9302 // API requests with the JSON null value. By default, fields with empty 9303 // values are omitted from API requests. However, any field with an 9304 // empty value appearing in NullFields will be sent to the server as 9305 // null. It is an error if a field in this list has a non-empty value. 9306 // This may be used to include null fields in Patch requests. 9307 NullFields []string `json:"-"` 9308} 9309 9310func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 9311 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 9312 raw := NoMethod(*s) 9313 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9314} 9315 9316func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 9317 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 9318 var s1 struct { 9319 Confidence gensupport.JSONFloat64 `json:"confidence"` 9320 *NoMethod 9321 } 9322 s1.NoMethod = (*NoMethod)(s) 9323 if err := json.Unmarshal(data, &s1); err != nil { 9324 return err 9325 } 9326 s.Confidence = float64(s1.Confidence) 9327 return nil 9328} 9329 9330// GoogleCloudVisionV1p3beta1TextAnnotationTextProperty: Additional 9331// information detected on the structural component. 9332type GoogleCloudVisionV1p3beta1TextAnnotationTextProperty struct { 9333 // DetectedBreak: Detected start or end of a text segment. 9334 DetectedBreak *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 9335 9336 // DetectedLanguages: A list of detected languages together with 9337 // confidence. 9338 DetectedLanguages []*GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 9339 9340 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 9341 // unconditionally include in API requests. By default, fields with 9342 // empty values are omitted from API requests. However, any non-pointer, 9343 // non-interface field appearing in ForceSendFields will be sent to the 9344 // server regardless of whether the field is empty or not. This may be 9345 // used to include empty fields in Patch requests. 9346 ForceSendFields []string `json:"-"` 9347 9348 // NullFields is a list of field names (e.g. "DetectedBreak") to include 9349 // in API requests with the JSON null value. By default, fields with 9350 // empty values are omitted from API requests. However, any field with 9351 // an empty value appearing in NullFields will be sent to the server as 9352 // null. It is an error if a field in this list has a non-empty value. 9353 // This may be used to include null fields in Patch requests. 9354 NullFields []string `json:"-"` 9355} 9356 9357func (s *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 9358 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationTextProperty 9359 raw := NoMethod(*s) 9360 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9361} 9362 9363// GoogleCloudVisionV1p3beta1Vertex: A vertex represents a 2D point in 9364// the image. 9365// NOTE: the vertex coordinates are in the same scale as the original 9366// image. 9367type GoogleCloudVisionV1p3beta1Vertex struct { 9368 // X: X coordinate. 9369 X int64 `json:"x,omitempty"` 9370 9371 // Y: Y coordinate. 9372 Y int64 `json:"y,omitempty"` 9373 9374 // ForceSendFields is a list of field names (e.g. "X") to 9375 // unconditionally include in API requests. By default, fields with 9376 // empty values are omitted from API requests. However, any non-pointer, 9377 // non-interface field appearing in ForceSendFields will be sent to the 9378 // server regardless of whether the field is empty or not. This may be 9379 // used to include empty fields in Patch requests. 9380 ForceSendFields []string `json:"-"` 9381 9382 // NullFields is a list of field names (e.g. "X") to include in API 9383 // requests with the JSON null value. By default, fields with empty 9384 // values are omitted from API requests. However, any field with an 9385 // empty value appearing in NullFields will be sent to the server as 9386 // null. It is an error if a field in this list has a non-empty value. 9387 // This may be used to include null fields in Patch requests. 9388 NullFields []string `json:"-"` 9389} 9390 9391func (s *GoogleCloudVisionV1p3beta1Vertex) MarshalJSON() ([]byte, error) { 9392 type NoMethod GoogleCloudVisionV1p3beta1Vertex 9393 raw := NoMethod(*s) 9394 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9395} 9396 9397// GoogleCloudVisionV1p3beta1WebDetection: Relevant information for the 9398// image from the Internet. 9399type GoogleCloudVisionV1p3beta1WebDetection struct { 9400 // BestGuessLabels: The service's best guess as to the topic of the 9401 // request image. 9402 // Inferred from similar images on the open web. 9403 BestGuessLabels []*GoogleCloudVisionV1p3beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 9404 9405 // FullMatchingImages: Fully matching images from the Internet. 9406 // Can include resized copies of the query image. 9407 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 9408 9409 // PagesWithMatchingImages: Web pages containing the matching images 9410 // from the Internet. 9411 PagesWithMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 9412 9413 // PartialMatchingImages: Partial matching images from the 9414 // Internet. 9415 // Those images are similar enough to share some key-point features. 9416 // For 9417 // example an original image will likely have partial matching for its 9418 // crops. 9419 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 9420 9421 // VisuallySimilarImages: The visually similar image results. 9422 VisuallySimilarImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 9423 9424 // WebEntities: Deduced entities from similar images on the Internet. 9425 WebEntities []*GoogleCloudVisionV1p3beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 9426 9427 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 9428 // unconditionally include in API requests. By default, fields with 9429 // empty values are omitted from API requests. However, any non-pointer, 9430 // non-interface field appearing in ForceSendFields will be sent to the 9431 // server regardless of whether the field is empty or not. This may be 9432 // used to include empty fields in Patch requests. 9433 ForceSendFields []string `json:"-"` 9434 9435 // NullFields is a list of field names (e.g. "BestGuessLabels") to 9436 // include in API requests with the JSON null value. By default, fields 9437 // with empty values are omitted from API requests. However, any field 9438 // with an empty value appearing in NullFields will be sent to the 9439 // server as null. It is an error if a field in this list has a 9440 // non-empty value. This may be used to include null fields in Patch 9441 // requests. 9442 NullFields []string `json:"-"` 9443} 9444 9445func (s *GoogleCloudVisionV1p3beta1WebDetection) MarshalJSON() ([]byte, error) { 9446 type NoMethod GoogleCloudVisionV1p3beta1WebDetection 9447 raw := NoMethod(*s) 9448 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9449} 9450 9451// GoogleCloudVisionV1p3beta1WebDetectionWebEntity: Entity deduced from 9452// similar images on the Internet. 9453type GoogleCloudVisionV1p3beta1WebDetectionWebEntity struct { 9454 // Description: Canonical description of the entity, in English. 9455 Description string `json:"description,omitempty"` 9456 9457 // EntityId: Opaque entity ID. 9458 EntityId string `json:"entityId,omitempty"` 9459 9460 // Score: Overall relevancy score for the entity. 9461 // Not normalized and not comparable across different image queries. 9462 Score float64 `json:"score,omitempty"` 9463 9464 // ForceSendFields is a list of field names (e.g. "Description") to 9465 // unconditionally include in API requests. By default, fields with 9466 // empty values are omitted from API requests. However, any non-pointer, 9467 // non-interface field appearing in ForceSendFields will be sent to the 9468 // server regardless of whether the field is empty or not. This may be 9469 // used to include empty fields in Patch requests. 9470 ForceSendFields []string `json:"-"` 9471 9472 // NullFields is a list of field names (e.g. "Description") to include 9473 // in API requests with the JSON null value. By default, fields with 9474 // empty values are omitted from API requests. However, any field with 9475 // an empty value appearing in NullFields will be sent to the server as 9476 // null. It is an error if a field in this list has a non-empty value. 9477 // This may be used to include null fields in Patch requests. 9478 NullFields []string `json:"-"` 9479} 9480 9481func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 9482 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 9483 raw := NoMethod(*s) 9484 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9485} 9486 9487func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 9488 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 9489 var s1 struct { 9490 Score gensupport.JSONFloat64 `json:"score"` 9491 *NoMethod 9492 } 9493 s1.NoMethod = (*NoMethod)(s) 9494 if err := json.Unmarshal(data, &s1); err != nil { 9495 return err 9496 } 9497 s.Score = float64(s1.Score) 9498 return nil 9499} 9500 9501// GoogleCloudVisionV1p3beta1WebDetectionWebImage: Metadata for online 9502// images. 9503type GoogleCloudVisionV1p3beta1WebDetectionWebImage struct { 9504 // Score: (Deprecated) Overall relevancy score for the image. 9505 Score float64 `json:"score,omitempty"` 9506 9507 // Url: The result image URL. 9508 Url string `json:"url,omitempty"` 9509 9510 // ForceSendFields is a list of field names (e.g. "Score") to 9511 // unconditionally include in API requests. By default, fields with 9512 // empty values are omitted from API requests. However, any non-pointer, 9513 // non-interface field appearing in ForceSendFields will be sent to the 9514 // server regardless of whether the field is empty or not. This may be 9515 // used to include empty fields in Patch requests. 9516 ForceSendFields []string `json:"-"` 9517 9518 // NullFields is a list of field names (e.g. "Score") to include in API 9519 // requests with the JSON null value. By default, fields with empty 9520 // values are omitted from API requests. However, any field with an 9521 // empty value appearing in NullFields will be sent to the server as 9522 // null. It is an error if a field in this list has a non-empty value. 9523 // This may be used to include null fields in Patch requests. 9524 NullFields []string `json:"-"` 9525} 9526 9527func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 9528 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 9529 raw := NoMethod(*s) 9530 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9531} 9532 9533func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 9534 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 9535 var s1 struct { 9536 Score gensupport.JSONFloat64 `json:"score"` 9537 *NoMethod 9538 } 9539 s1.NoMethod = (*NoMethod)(s) 9540 if err := json.Unmarshal(data, &s1); err != nil { 9541 return err 9542 } 9543 s.Score = float64(s1.Score) 9544 return nil 9545} 9546 9547// GoogleCloudVisionV1p3beta1WebDetectionWebLabel: Label to provide 9548// extra metadata for the web detection. 9549type GoogleCloudVisionV1p3beta1WebDetectionWebLabel struct { 9550 // Label: Label for extra metadata. 9551 Label string `json:"label,omitempty"` 9552 9553 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 9554 // or "sr-Latn". 9555 // For more information, 9556 // see 9557 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 9558 LanguageCode string `json:"languageCode,omitempty"` 9559 9560 // ForceSendFields is a list of field names (e.g. "Label") to 9561 // unconditionally include in API requests. By default, fields with 9562 // empty values are omitted from API requests. However, any non-pointer, 9563 // non-interface field appearing in ForceSendFields will be sent to the 9564 // server regardless of whether the field is empty or not. This may be 9565 // used to include empty fields in Patch requests. 9566 ForceSendFields []string `json:"-"` 9567 9568 // NullFields is a list of field names (e.g. "Label") to include in API 9569 // requests with the JSON null value. By default, fields with empty 9570 // values are omitted from API requests. However, any field with an 9571 // empty value appearing in NullFields will be sent to the server as 9572 // null. It is an error if a field in this list has a non-empty value. 9573 // This may be used to include null fields in Patch requests. 9574 NullFields []string `json:"-"` 9575} 9576 9577func (s *GoogleCloudVisionV1p3beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 9578 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebLabel 9579 raw := NoMethod(*s) 9580 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9581} 9582 9583// GoogleCloudVisionV1p3beta1WebDetectionWebPage: Metadata for web 9584// pages. 9585type GoogleCloudVisionV1p3beta1WebDetectionWebPage struct { 9586 // FullMatchingImages: Fully matching images on the page. 9587 // Can include resized copies of the query image. 9588 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 9589 9590 // PageTitle: Title for the web page, may contain HTML markups. 9591 PageTitle string `json:"pageTitle,omitempty"` 9592 9593 // PartialMatchingImages: Partial matching images on the page. 9594 // Those images are similar enough to share some key-point features. 9595 // For 9596 // example an original image will likely have partial matching for 9597 // its 9598 // crops. 9599 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 9600 9601 // Score: (Deprecated) Overall relevancy score for the web page. 9602 Score float64 `json:"score,omitempty"` 9603 9604 // Url: The result web page URL. 9605 Url string `json:"url,omitempty"` 9606 9607 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 9608 // to unconditionally include in API requests. By default, fields with 9609 // empty values are omitted from API requests. However, any non-pointer, 9610 // non-interface field appearing in ForceSendFields will be sent to the 9611 // server regardless of whether the field is empty or not. This may be 9612 // used to include empty fields in Patch requests. 9613 ForceSendFields []string `json:"-"` 9614 9615 // NullFields is a list of field names (e.g. "FullMatchingImages") to 9616 // include in API requests with the JSON null value. By default, fields 9617 // with empty values are omitted from API requests. However, any field 9618 // with an empty value appearing in NullFields will be sent to the 9619 // server as null. It is an error if a field in this list has a 9620 // non-empty value. This may be used to include null fields in Patch 9621 // requests. 9622 NullFields []string `json:"-"` 9623} 9624 9625func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 9626 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 9627 raw := NoMethod(*s) 9628 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9629} 9630 9631func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 9632 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 9633 var s1 struct { 9634 Score gensupport.JSONFloat64 `json:"score"` 9635 *NoMethod 9636 } 9637 s1.NoMethod = (*NoMethod)(s) 9638 if err := json.Unmarshal(data, &s1); err != nil { 9639 return err 9640 } 9641 s.Score = float64(s1.Score) 9642 return nil 9643} 9644 9645// GoogleCloudVisionV1p3beta1Word: A word representation. 9646type GoogleCloudVisionV1p3beta1Word struct { 9647 // BoundingBox: The bounding box for the word. 9648 // The vertices are in the order of top-left, top-right, 9649 // bottom-right, 9650 // bottom-left. When a rotation of the bounding box is detected the 9651 // rotation 9652 // is represented as around the top-left corner as defined when the text 9653 // is 9654 // read in the 'natural' orientation. 9655 // For example: 9656 // * when the text is horizontal it might look like: 9657 // 0----1 9658 // | | 9659 // 3----2 9660 // * when it's rotated 180 degrees around the top-left corner it 9661 // becomes: 9662 // 2----3 9663 // | | 9664 // 1----0 9665 // and the vertex order will still be (0, 1, 2, 3). 9666 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 9667 9668 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 9669 Confidence float64 `json:"confidence,omitempty"` 9670 9671 // Property: Additional information detected for the word. 9672 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 9673 9674 // Symbols: List of symbols in the word. 9675 // The order of the symbols follows the natural reading order. 9676 Symbols []*GoogleCloudVisionV1p3beta1Symbol `json:"symbols,omitempty"` 9677 9678 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 9679 // unconditionally include in API requests. By default, fields with 9680 // empty values are omitted from API requests. However, any non-pointer, 9681 // non-interface field appearing in ForceSendFields will be sent to the 9682 // server regardless of whether the field is empty or not. This may be 9683 // used to include empty fields in Patch requests. 9684 ForceSendFields []string `json:"-"` 9685 9686 // NullFields is a list of field names (e.g. "BoundingBox") to include 9687 // in API requests with the JSON null value. By default, fields with 9688 // empty values are omitted from API requests. However, any field with 9689 // an empty value appearing in NullFields will be sent to the server as 9690 // null. It is an error if a field in this list has a non-empty value. 9691 // This may be used to include null fields in Patch requests. 9692 NullFields []string `json:"-"` 9693} 9694 9695func (s *GoogleCloudVisionV1p3beta1Word) MarshalJSON() ([]byte, error) { 9696 type NoMethod GoogleCloudVisionV1p3beta1Word 9697 raw := NoMethod(*s) 9698 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9699} 9700 9701func (s *GoogleCloudVisionV1p3beta1Word) UnmarshalJSON(data []byte) error { 9702 type NoMethod GoogleCloudVisionV1p3beta1Word 9703 var s1 struct { 9704 Confidence gensupport.JSONFloat64 `json:"confidence"` 9705 *NoMethod 9706 } 9707 s1.NoMethod = (*NoMethod)(s) 9708 if err := json.Unmarshal(data, &s1); err != nil { 9709 return err 9710 } 9711 s.Confidence = float64(s1.Confidence) 9712 return nil 9713} 9714 9715// GoogleCloudVisionV1p4beta1AnnotateFileResponse: Response to a single 9716// file annotation request. A file may contain one or more 9717// images, which individually have their own responses. 9718type GoogleCloudVisionV1p4beta1AnnotateFileResponse struct { 9719 // Error: If set, represents the error message for the failed request. 9720 // The 9721 // `responses` field will not be set in this case. 9722 Error *Status `json:"error,omitempty"` 9723 9724 // InputConfig: Information about the file for which this response is 9725 // generated. 9726 InputConfig *GoogleCloudVisionV1p4beta1InputConfig `json:"inputConfig,omitempty"` 9727 9728 // Responses: Individual responses to images found within the file. This 9729 // field will be 9730 // empty if the `error` field is set. 9731 Responses []*GoogleCloudVisionV1p4beta1AnnotateImageResponse `json:"responses,omitempty"` 9732 9733 // TotalPages: This field gives the total number of pages in the file. 9734 TotalPages int64 `json:"totalPages,omitempty"` 9735 9736 // ForceSendFields is a list of field names (e.g. "Error") to 9737 // unconditionally include in API requests. By default, fields with 9738 // empty values are omitted from API requests. However, any non-pointer, 9739 // non-interface field appearing in ForceSendFields will be sent to the 9740 // server regardless of whether the field is empty or not. This may be 9741 // used to include empty fields in Patch requests. 9742 ForceSendFields []string `json:"-"` 9743 9744 // NullFields is a list of field names (e.g. "Error") to include in API 9745 // requests with the JSON null value. By default, fields with empty 9746 // values are omitted from API requests. However, any field with an 9747 // empty value appearing in NullFields will be sent to the server as 9748 // null. It is an error if a field in this list has a non-empty value. 9749 // This may be used to include null fields in Patch requests. 9750 NullFields []string `json:"-"` 9751} 9752 9753func (s *GoogleCloudVisionV1p4beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 9754 type NoMethod GoogleCloudVisionV1p4beta1AnnotateFileResponse 9755 raw := NoMethod(*s) 9756 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9757} 9758 9759// GoogleCloudVisionV1p4beta1AnnotateImageResponse: Response to an image 9760// annotation request. 9761type GoogleCloudVisionV1p4beta1AnnotateImageResponse struct { 9762 // Context: If present, contextual information is needed to understand 9763 // where this image 9764 // comes from. 9765 Context *GoogleCloudVisionV1p4beta1ImageAnnotationContext `json:"context,omitempty"` 9766 9767 // CropHintsAnnotation: If present, crop hints have completed 9768 // successfully. 9769 CropHintsAnnotation *GoogleCloudVisionV1p4beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 9770 9771 // Error: If set, represents the error message for the operation. 9772 // Note that filled-in image annotations are guaranteed to be 9773 // correct, even when `error` is set. 9774 Error *Status `json:"error,omitempty"` 9775 9776 // FaceAnnotations: If present, face detection has completed 9777 // successfully. 9778 FaceAnnotations []*GoogleCloudVisionV1p4beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 9779 9780 // FullTextAnnotation: If present, text (OCR) detection or document 9781 // (OCR) text detection has 9782 // completed successfully. 9783 // This annotation provides the structural hierarchy for the OCR 9784 // detected 9785 // text. 9786 FullTextAnnotation *GoogleCloudVisionV1p4beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 9787 9788 // ImagePropertiesAnnotation: If present, image properties were 9789 // extracted successfully. 9790 ImagePropertiesAnnotation *GoogleCloudVisionV1p4beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 9791 9792 // LabelAnnotations: If present, label detection has completed 9793 // successfully. 9794 LabelAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 9795 9796 // LandmarkAnnotations: If present, landmark detection has completed 9797 // successfully. 9798 LandmarkAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 9799 9800 // LocalizedObjectAnnotations: If present, localized object detection 9801 // has completed successfully. 9802 // This will be sorted descending by confidence score. 9803 LocalizedObjectAnnotations []*GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 9804 9805 // LogoAnnotations: If present, logo detection has completed 9806 // successfully. 9807 LogoAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 9808 9809 // ProductSearchResults: If present, product search has completed 9810 // successfully. 9811 ProductSearchResults *GoogleCloudVisionV1p4beta1ProductSearchResults `json:"productSearchResults,omitempty"` 9812 9813 // SafeSearchAnnotation: If present, safe-search annotation has 9814 // completed successfully. 9815 SafeSearchAnnotation *GoogleCloudVisionV1p4beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 9816 9817 // TextAnnotations: If present, text (OCR) detection has completed 9818 // successfully. 9819 TextAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"textAnnotations,omitempty"` 9820 9821 // WebDetection: If present, web detection has completed successfully. 9822 WebDetection *GoogleCloudVisionV1p4beta1WebDetection `json:"webDetection,omitempty"` 9823 9824 // ForceSendFields is a list of field names (e.g. "Context") to 9825 // unconditionally include in API requests. By default, fields with 9826 // empty values are omitted from API requests. However, any non-pointer, 9827 // non-interface field appearing in ForceSendFields will be sent to the 9828 // server regardless of whether the field is empty or not. This may be 9829 // used to include empty fields in Patch requests. 9830 ForceSendFields []string `json:"-"` 9831 9832 // NullFields is a list of field names (e.g. "Context") to include in 9833 // API requests with the JSON null value. By default, fields with empty 9834 // values are omitted from API requests. However, any field with an 9835 // empty value appearing in NullFields will be sent to the server as 9836 // null. It is an error if a field in this list has a non-empty value. 9837 // This may be used to include null fields in Patch requests. 9838 NullFields []string `json:"-"` 9839} 9840 9841func (s *GoogleCloudVisionV1p4beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 9842 type NoMethod GoogleCloudVisionV1p4beta1AnnotateImageResponse 9843 raw := NoMethod(*s) 9844 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9845} 9846 9847// GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse: The response for 9848// a single offline file annotation request. 9849type GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse struct { 9850 // OutputConfig: The output location and metadata from 9851 // AsyncAnnotateFileRequest. 9852 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9853 9854 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9855 // unconditionally include in API requests. By default, fields with 9856 // empty values are omitted from API requests. However, any non-pointer, 9857 // non-interface field appearing in ForceSendFields will be sent to the 9858 // server regardless of whether the field is empty or not. This may be 9859 // used to include empty fields in Patch requests. 9860 ForceSendFields []string `json:"-"` 9861 9862 // NullFields is a list of field names (e.g. "OutputConfig") to include 9863 // in API requests with the JSON null value. By default, fields with 9864 // empty values are omitted from API requests. However, any field with 9865 // an empty value appearing in NullFields will be sent to the server as 9866 // null. It is an error if a field in this list has a non-empty value. 9867 // This may be used to include null fields in Patch requests. 9868 NullFields []string `json:"-"` 9869} 9870 9871func (s *GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 9872 type NoMethod GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse 9873 raw := NoMethod(*s) 9874 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9875} 9876 9877// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse: Response 9878// to an async batch file annotation request. 9879type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse struct { 9880 // Responses: The list of file annotation responses, one for each 9881 // request in 9882 // AsyncBatchAnnotateFilesRequest. 9883 Responses []*GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 9884 9885 // ForceSendFields is a list of field names (e.g. "Responses") to 9886 // unconditionally include in API requests. By default, fields with 9887 // empty values are omitted from API requests. However, any non-pointer, 9888 // non-interface field appearing in ForceSendFields will be sent to the 9889 // server regardless of whether the field is empty or not. This may be 9890 // used to include empty fields in Patch requests. 9891 ForceSendFields []string `json:"-"` 9892 9893 // NullFields is a list of field names (e.g. "Responses") to include in 9894 // API requests with the JSON null value. By default, fields with empty 9895 // values are omitted from API requests. However, any field with an 9896 // empty value appearing in NullFields will be sent to the server as 9897 // null. It is an error if a field in this list has a non-empty value. 9898 // This may be used to include null fields in Patch requests. 9899 NullFields []string `json:"-"` 9900} 9901 9902func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9903 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse 9904 raw := NoMethod(*s) 9905 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9906} 9907 9908// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse: Response 9909// to an async batch image annotation request. 9910type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse struct { 9911 // OutputConfig: The output location and metadata from 9912 // AsyncBatchAnnotateImagesRequest. 9913 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9914 9915 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9916 // unconditionally include in API requests. By default, fields with 9917 // empty values are omitted from API requests. However, any non-pointer, 9918 // non-interface field appearing in ForceSendFields will be sent to the 9919 // server regardless of whether the field is empty or not. This may be 9920 // used to include empty fields in Patch requests. 9921 ForceSendFields []string `json:"-"` 9922 9923 // NullFields is a list of field names (e.g. "OutputConfig") to include 9924 // in API requests with the JSON null value. By default, fields with 9925 // empty values are omitted from API requests. However, any field with 9926 // an empty value appearing in NullFields will be sent to the server as 9927 // null. It is an error if a field in this list has a non-empty value. 9928 // This may be used to include null fields in Patch requests. 9929 NullFields []string `json:"-"` 9930} 9931 9932func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 9933 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse 9934 raw := NoMethod(*s) 9935 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9936} 9937 9938// GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse: A list of file 9939// annotation responses. 9940type GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse struct { 9941 // Responses: The list of file annotation responses, each response 9942 // corresponding to each 9943 // AnnotateFileRequest in BatchAnnotateFilesRequest. 9944 Responses []*GoogleCloudVisionV1p4beta1AnnotateFileResponse `json:"responses,omitempty"` 9945 9946 // ForceSendFields is a list of field names (e.g. "Responses") to 9947 // unconditionally include in API requests. By default, fields with 9948 // empty values are omitted from API requests. However, any non-pointer, 9949 // non-interface field appearing in ForceSendFields will be sent to the 9950 // server regardless of whether the field is empty or not. This may be 9951 // used to include empty fields in Patch requests. 9952 ForceSendFields []string `json:"-"` 9953 9954 // NullFields is a list of field names (e.g. "Responses") to include in 9955 // API requests with the JSON null value. By default, fields with empty 9956 // values are omitted from API requests. However, any field with an 9957 // empty value appearing in NullFields will be sent to the server as 9958 // null. It is an error if a field in this list has a non-empty value. 9959 // This may be used to include null fields in Patch requests. 9960 NullFields []string `json:"-"` 9961} 9962 9963func (s *GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9964 type NoMethod GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse 9965 raw := NoMethod(*s) 9966 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9967} 9968 9969// GoogleCloudVisionV1p4beta1BatchOperationMetadata: Metadata for the 9970// batch operations such as the current state. 9971// 9972// This is included in the `metadata` field of the `Operation` returned 9973// by the 9974// `GetOperation` call of the `google::longrunning::Operations` service. 9975type GoogleCloudVisionV1p4beta1BatchOperationMetadata struct { 9976 // EndTime: The time when the batch request is finished 9977 // and 9978 // google.longrunning.Operation.done is set to true. 9979 EndTime string `json:"endTime,omitempty"` 9980 9981 // State: The current state of the batch operation. 9982 // 9983 // Possible values: 9984 // "STATE_UNSPECIFIED" - Invalid. 9985 // "PROCESSING" - Request is actively being processed. 9986 // "SUCCESSFUL" - The request is done and at least one item has been 9987 // successfully 9988 // processed. 9989 // "FAILED" - The request is done and no item has been successfully 9990 // processed. 9991 // "CANCELLED" - The request is done after the 9992 // longrunning.Operations.CancelOperation has 9993 // been called by the user. Any records that were processed before 9994 // the 9995 // cancel command are output as specified in the request. 9996 State string `json:"state,omitempty"` 9997 9998 // SubmitTime: The time when the batch request was submitted to the 9999 // server. 10000 SubmitTime string `json:"submitTime,omitempty"` 10001 10002 // ForceSendFields is a list of field names (e.g. "EndTime") to 10003 // unconditionally include in API requests. By default, fields with 10004 // empty values are omitted from API requests. However, any non-pointer, 10005 // non-interface field appearing in ForceSendFields will be sent to the 10006 // server regardless of whether the field is empty or not. This may be 10007 // used to include empty fields in Patch requests. 10008 ForceSendFields []string `json:"-"` 10009 10010 // NullFields is a list of field names (e.g. "EndTime") to include in 10011 // API requests with the JSON null value. By default, fields with empty 10012 // values are omitted from API requests. However, any field with an 10013 // empty value appearing in NullFields will be sent to the server as 10014 // null. It is an error if a field in this list has a non-empty value. 10015 // This may be used to include null fields in Patch requests. 10016 NullFields []string `json:"-"` 10017} 10018 10019func (s *GoogleCloudVisionV1p4beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 10020 type NoMethod GoogleCloudVisionV1p4beta1BatchOperationMetadata 10021 raw := NoMethod(*s) 10022 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10023} 10024 10025// GoogleCloudVisionV1p4beta1Block: Logical element on the page. 10026type GoogleCloudVisionV1p4beta1Block struct { 10027 // BlockType: Detected block type (text, image etc) for this block. 10028 // 10029 // Possible values: 10030 // "UNKNOWN" - Unknown block type. 10031 // "TEXT" - Regular text block. 10032 // "TABLE" - Table block. 10033 // "PICTURE" - Image block. 10034 // "RULER" - Horizontal/vertical line box. 10035 // "BARCODE" - Barcode block. 10036 BlockType string `json:"blockType,omitempty"` 10037 10038 // BoundingBox: The bounding box for the block. 10039 // The vertices are in the order of top-left, top-right, 10040 // bottom-right, 10041 // bottom-left. When a rotation of the bounding box is detected the 10042 // rotation 10043 // is represented as around the top-left corner as defined when the text 10044 // is 10045 // read in the 'natural' orientation. 10046 // For example: 10047 // 10048 // * when the text is horizontal it might look like: 10049 // 10050 // 0----1 10051 // | | 10052 // 3----2 10053 // 10054 // * when it's rotated 180 degrees around the top-left corner it 10055 // becomes: 10056 // 10057 // 2----3 10058 // | | 10059 // 1----0 10060 // 10061 // and the vertex order will still be (0, 1, 2, 3). 10062 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 10063 10064 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 10065 Confidence float64 `json:"confidence,omitempty"` 10066 10067 // Paragraphs: List of paragraphs in this block (if this blocks is of 10068 // type text). 10069 Paragraphs []*GoogleCloudVisionV1p4beta1Paragraph `json:"paragraphs,omitempty"` 10070 10071 // Property: Additional information detected for the block. 10072 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 10073 10074 // ForceSendFields is a list of field names (e.g. "BlockType") to 10075 // unconditionally include in API requests. By default, fields with 10076 // empty values are omitted from API requests. However, any non-pointer, 10077 // non-interface field appearing in ForceSendFields will be sent to the 10078 // server regardless of whether the field is empty or not. This may be 10079 // used to include empty fields in Patch requests. 10080 ForceSendFields []string `json:"-"` 10081 10082 // NullFields is a list of field names (e.g. "BlockType") to include in 10083 // API requests with the JSON null value. By default, fields with empty 10084 // values are omitted from API requests. However, any field with an 10085 // empty value appearing in NullFields will be sent to the server as 10086 // null. It is an error if a field in this list has a non-empty value. 10087 // This may be used to include null fields in Patch requests. 10088 NullFields []string `json:"-"` 10089} 10090 10091func (s *GoogleCloudVisionV1p4beta1Block) MarshalJSON() ([]byte, error) { 10092 type NoMethod GoogleCloudVisionV1p4beta1Block 10093 raw := NoMethod(*s) 10094 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10095} 10096 10097func (s *GoogleCloudVisionV1p4beta1Block) UnmarshalJSON(data []byte) error { 10098 type NoMethod GoogleCloudVisionV1p4beta1Block 10099 var s1 struct { 10100 Confidence gensupport.JSONFloat64 `json:"confidence"` 10101 *NoMethod 10102 } 10103 s1.NoMethod = (*NoMethod)(s) 10104 if err := json.Unmarshal(data, &s1); err != nil { 10105 return err 10106 } 10107 s.Confidence = float64(s1.Confidence) 10108 return nil 10109} 10110 10111// GoogleCloudVisionV1p4beta1BoundingPoly: A bounding polygon for the 10112// detected image annotation. 10113type GoogleCloudVisionV1p4beta1BoundingPoly struct { 10114 // NormalizedVertices: The bounding polygon normalized vertices. 10115 NormalizedVertices []*GoogleCloudVisionV1p4beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 10116 10117 // Vertices: The bounding polygon vertices. 10118 Vertices []*GoogleCloudVisionV1p4beta1Vertex `json:"vertices,omitempty"` 10119 10120 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 10121 // to unconditionally include in API requests. By default, fields with 10122 // empty values are omitted from API requests. However, any non-pointer, 10123 // non-interface field appearing in ForceSendFields will be sent to the 10124 // server regardless of whether the field is empty or not. This may be 10125 // used to include empty fields in Patch requests. 10126 ForceSendFields []string `json:"-"` 10127 10128 // NullFields is a list of field names (e.g. "NormalizedVertices") to 10129 // include in API requests with the JSON null value. By default, fields 10130 // with empty values are omitted from API requests. However, any field 10131 // with an empty value appearing in NullFields will be sent to the 10132 // server as null. It is an error if a field in this list has a 10133 // non-empty value. This may be used to include null fields in Patch 10134 // requests. 10135 NullFields []string `json:"-"` 10136} 10137 10138func (s *GoogleCloudVisionV1p4beta1BoundingPoly) MarshalJSON() ([]byte, error) { 10139 type NoMethod GoogleCloudVisionV1p4beta1BoundingPoly 10140 raw := NoMethod(*s) 10141 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10142} 10143 10144// GoogleCloudVisionV1p4beta1Celebrity: A Celebrity is a group of Faces 10145// with an identity. 10146type GoogleCloudVisionV1p4beta1Celebrity struct { 10147 // Description: The Celebrity's description. 10148 Description string `json:"description,omitempty"` 10149 10150 // DisplayName: The Celebrity's display name. 10151 DisplayName string `json:"displayName,omitempty"` 10152 10153 // Name: The resource name of the preloaded Celebrity. Has the 10154 // format 10155 // `builtin/{mid}`. 10156 Name string `json:"name,omitempty"` 10157 10158 // ForceSendFields is a list of field names (e.g. "Description") to 10159 // unconditionally include in API requests. By default, fields with 10160 // empty values are omitted from API requests. However, any non-pointer, 10161 // non-interface field appearing in ForceSendFields will be sent to the 10162 // server regardless of whether the field is empty or not. This may be 10163 // used to include empty fields in Patch requests. 10164 ForceSendFields []string `json:"-"` 10165 10166 // NullFields is a list of field names (e.g. "Description") to include 10167 // in API requests with the JSON null value. By default, fields with 10168 // empty values are omitted from API requests. However, any field with 10169 // an empty value appearing in NullFields will be sent to the server as 10170 // null. It is an error if a field in this list has a non-empty value. 10171 // This may be used to include null fields in Patch requests. 10172 NullFields []string `json:"-"` 10173} 10174 10175func (s *GoogleCloudVisionV1p4beta1Celebrity) MarshalJSON() ([]byte, error) { 10176 type NoMethod GoogleCloudVisionV1p4beta1Celebrity 10177 raw := NoMethod(*s) 10178 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10179} 10180 10181// GoogleCloudVisionV1p4beta1ColorInfo: Color information consists of 10182// RGB channels, score, and the fraction of 10183// the image that the color occupies in the image. 10184type GoogleCloudVisionV1p4beta1ColorInfo struct { 10185 // Color: RGB components of the color. 10186 Color *Color `json:"color,omitempty"` 10187 10188 // PixelFraction: The fraction of pixels the color occupies in the 10189 // image. 10190 // Value in range [0, 1]. 10191 PixelFraction float64 `json:"pixelFraction,omitempty"` 10192 10193 // Score: Image-specific score for this color. Value in range [0, 1]. 10194 Score float64 `json:"score,omitempty"` 10195 10196 // ForceSendFields is a list of field names (e.g. "Color") to 10197 // unconditionally include in API requests. By default, fields with 10198 // empty values are omitted from API requests. However, any non-pointer, 10199 // non-interface field appearing in ForceSendFields will be sent to the 10200 // server regardless of whether the field is empty or not. This may be 10201 // used to include empty fields in Patch requests. 10202 ForceSendFields []string `json:"-"` 10203 10204 // NullFields is a list of field names (e.g. "Color") to include in API 10205 // requests with the JSON null value. By default, fields with empty 10206 // values are omitted from API requests. However, any field with an 10207 // empty value appearing in NullFields will be sent to the server as 10208 // null. It is an error if a field in this list has a non-empty value. 10209 // This may be used to include null fields in Patch requests. 10210 NullFields []string `json:"-"` 10211} 10212 10213func (s *GoogleCloudVisionV1p4beta1ColorInfo) MarshalJSON() ([]byte, error) { 10214 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 10215 raw := NoMethod(*s) 10216 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10217} 10218 10219func (s *GoogleCloudVisionV1p4beta1ColorInfo) UnmarshalJSON(data []byte) error { 10220 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 10221 var s1 struct { 10222 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 10223 Score gensupport.JSONFloat64 `json:"score"` 10224 *NoMethod 10225 } 10226 s1.NoMethod = (*NoMethod)(s) 10227 if err := json.Unmarshal(data, &s1); err != nil { 10228 return err 10229 } 10230 s.PixelFraction = float64(s1.PixelFraction) 10231 s.Score = float64(s1.Score) 10232 return nil 10233} 10234 10235// GoogleCloudVisionV1p4beta1CropHint: Single crop hint that is used to 10236// generate a new crop when serving an image. 10237type GoogleCloudVisionV1p4beta1CropHint struct { 10238 // BoundingPoly: The bounding polygon for the crop region. The 10239 // coordinates of the bounding 10240 // box are in the original image's scale. 10241 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10242 10243 // Confidence: Confidence of this being a salient region. Range [0, 1]. 10244 Confidence float64 `json:"confidence,omitempty"` 10245 10246 // ImportanceFraction: Fraction of importance of this salient region 10247 // with respect to the original 10248 // image. 10249 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 10250 10251 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10252 // unconditionally include in API requests. By default, fields with 10253 // empty values are omitted from API requests. However, any non-pointer, 10254 // non-interface field appearing in ForceSendFields will be sent to the 10255 // server regardless of whether the field is empty or not. This may be 10256 // used to include empty fields in Patch requests. 10257 ForceSendFields []string `json:"-"` 10258 10259 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10260 // in API requests with the JSON null value. By default, fields with 10261 // empty values are omitted from API requests. However, any field with 10262 // an empty value appearing in NullFields will be sent to the server as 10263 // null. It is an error if a field in this list has a non-empty value. 10264 // This may be used to include null fields in Patch requests. 10265 NullFields []string `json:"-"` 10266} 10267 10268func (s *GoogleCloudVisionV1p4beta1CropHint) MarshalJSON() ([]byte, error) { 10269 type NoMethod GoogleCloudVisionV1p4beta1CropHint 10270 raw := NoMethod(*s) 10271 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10272} 10273 10274func (s *GoogleCloudVisionV1p4beta1CropHint) UnmarshalJSON(data []byte) error { 10275 type NoMethod GoogleCloudVisionV1p4beta1CropHint 10276 var s1 struct { 10277 Confidence gensupport.JSONFloat64 `json:"confidence"` 10278 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 10279 *NoMethod 10280 } 10281 s1.NoMethod = (*NoMethod)(s) 10282 if err := json.Unmarshal(data, &s1); err != nil { 10283 return err 10284 } 10285 s.Confidence = float64(s1.Confidence) 10286 s.ImportanceFraction = float64(s1.ImportanceFraction) 10287 return nil 10288} 10289 10290// GoogleCloudVisionV1p4beta1CropHintsAnnotation: Set of crop hints that 10291// are used to generate new crops when serving images. 10292type GoogleCloudVisionV1p4beta1CropHintsAnnotation struct { 10293 // CropHints: Crop hint results. 10294 CropHints []*GoogleCloudVisionV1p4beta1CropHint `json:"cropHints,omitempty"` 10295 10296 // ForceSendFields is a list of field names (e.g. "CropHints") to 10297 // unconditionally include in API requests. By default, fields with 10298 // empty values are omitted from API requests. However, any non-pointer, 10299 // non-interface field appearing in ForceSendFields will be sent to the 10300 // server regardless of whether the field is empty or not. This may be 10301 // used to include empty fields in Patch requests. 10302 ForceSendFields []string `json:"-"` 10303 10304 // NullFields is a list of field names (e.g. "CropHints") to include in 10305 // API requests with the JSON null value. By default, fields with empty 10306 // values are omitted from API requests. However, any field with an 10307 // empty value appearing in NullFields will be sent to the server as 10308 // null. It is an error if a field in this list has a non-empty value. 10309 // This may be used to include null fields in Patch requests. 10310 NullFields []string `json:"-"` 10311} 10312 10313func (s *GoogleCloudVisionV1p4beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 10314 type NoMethod GoogleCloudVisionV1p4beta1CropHintsAnnotation 10315 raw := NoMethod(*s) 10316 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10317} 10318 10319// GoogleCloudVisionV1p4beta1DominantColorsAnnotation: Set of dominant 10320// colors and their corresponding scores. 10321type GoogleCloudVisionV1p4beta1DominantColorsAnnotation struct { 10322 // Colors: RGB color values with their score and pixel fraction. 10323 Colors []*GoogleCloudVisionV1p4beta1ColorInfo `json:"colors,omitempty"` 10324 10325 // ForceSendFields is a list of field names (e.g. "Colors") to 10326 // unconditionally include in API requests. By default, fields with 10327 // empty values are omitted from API requests. However, any non-pointer, 10328 // non-interface field appearing in ForceSendFields will be sent to the 10329 // server regardless of whether the field is empty or not. This may be 10330 // used to include empty fields in Patch requests. 10331 ForceSendFields []string `json:"-"` 10332 10333 // NullFields is a list of field names (e.g. "Colors") to include in API 10334 // requests with the JSON null value. By default, fields with empty 10335 // values are omitted from API requests. However, any field with an 10336 // empty value appearing in NullFields will be sent to the server as 10337 // null. It is an error if a field in this list has a non-empty value. 10338 // This may be used to include null fields in Patch requests. 10339 NullFields []string `json:"-"` 10340} 10341 10342func (s *GoogleCloudVisionV1p4beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 10343 type NoMethod GoogleCloudVisionV1p4beta1DominantColorsAnnotation 10344 raw := NoMethod(*s) 10345 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10346} 10347 10348// GoogleCloudVisionV1p4beta1EntityAnnotation: Set of detected entity 10349// features. 10350type GoogleCloudVisionV1p4beta1EntityAnnotation struct { 10351 // BoundingPoly: Image region to which this entity belongs. Not 10352 // produced 10353 // for `LABEL_DETECTION` features. 10354 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10355 10356 // Confidence: **Deprecated. Use `score` instead.** 10357 // The accuracy of the entity detection in an image. 10358 // For example, for an image in which the "Eiffel Tower" entity is 10359 // detected, 10360 // this field represents the confidence that there is a tower in the 10361 // query 10362 // image. Range [0, 1]. 10363 Confidence float64 `json:"confidence,omitempty"` 10364 10365 // Description: Entity textual description, expressed in its `locale` 10366 // language. 10367 Description string `json:"description,omitempty"` 10368 10369 // Locale: The language code for the locale in which the entity 10370 // textual 10371 // `description` is expressed. 10372 Locale string `json:"locale,omitempty"` 10373 10374 // Locations: The location information for the detected entity. 10375 // Multiple 10376 // `LocationInfo` elements can be present because one location 10377 // may 10378 // indicate the location of the scene in the image, and another 10379 // location 10380 // may indicate the location of the place where the image was 10381 // taken. 10382 // Location information is usually present for landmarks. 10383 Locations []*GoogleCloudVisionV1p4beta1LocationInfo `json:"locations,omitempty"` 10384 10385 // Mid: Opaque entity ID. Some IDs may be available in 10386 // [Google Knowledge Graph 10387 // Search 10388 // API](https://developers.google.com/knowledge-graph/). 10389 Mid string `json:"mid,omitempty"` 10390 10391 // Properties: Some entities may have optional user-supplied `Property` 10392 // (name/value) 10393 // fields, such a score or string that qualifies the entity. 10394 Properties []*GoogleCloudVisionV1p4beta1Property `json:"properties,omitempty"` 10395 10396 // Score: Overall score of the result. Range [0, 1]. 10397 Score float64 `json:"score,omitempty"` 10398 10399 // Topicality: The relevancy of the ICA (Image Content Annotation) label 10400 // to the 10401 // image. For example, the relevancy of "tower" is likely higher to an 10402 // image 10403 // containing the detected "Eiffel Tower" than to an image containing 10404 // a 10405 // detected distant towering building, even though the confidence 10406 // that 10407 // there is a tower in each image may be the same. Range [0, 1]. 10408 Topicality float64 `json:"topicality,omitempty"` 10409 10410 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10411 // unconditionally include in API requests. By default, fields with 10412 // empty values are omitted from API requests. However, any non-pointer, 10413 // non-interface field appearing in ForceSendFields will be sent to the 10414 // server regardless of whether the field is empty or not. This may be 10415 // used to include empty fields in Patch requests. 10416 ForceSendFields []string `json:"-"` 10417 10418 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10419 // in API requests with the JSON null value. By default, fields with 10420 // empty values are omitted from API requests. However, any field with 10421 // an empty value appearing in NullFields will be sent to the server as 10422 // null. It is an error if a field in this list has a non-empty value. 10423 // This may be used to include null fields in Patch requests. 10424 NullFields []string `json:"-"` 10425} 10426 10427func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 10428 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 10429 raw := NoMethod(*s) 10430 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10431} 10432 10433func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 10434 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 10435 var s1 struct { 10436 Confidence gensupport.JSONFloat64 `json:"confidence"` 10437 Score gensupport.JSONFloat64 `json:"score"` 10438 Topicality gensupport.JSONFloat64 `json:"topicality"` 10439 *NoMethod 10440 } 10441 s1.NoMethod = (*NoMethod)(s) 10442 if err := json.Unmarshal(data, &s1); err != nil { 10443 return err 10444 } 10445 s.Confidence = float64(s1.Confidence) 10446 s.Score = float64(s1.Score) 10447 s.Topicality = float64(s1.Topicality) 10448 return nil 10449} 10450 10451// GoogleCloudVisionV1p4beta1FaceAnnotation: A face annotation object 10452// contains the results of face detection. 10453type GoogleCloudVisionV1p4beta1FaceAnnotation struct { 10454 // AngerLikelihood: Anger likelihood. 10455 // 10456 // Possible values: 10457 // "UNKNOWN" - Unknown likelihood. 10458 // "VERY_UNLIKELY" - It is very unlikely. 10459 // "UNLIKELY" - It is unlikely. 10460 // "POSSIBLE" - It is possible. 10461 // "LIKELY" - It is likely. 10462 // "VERY_LIKELY" - It is very likely. 10463 AngerLikelihood string `json:"angerLikelihood,omitempty"` 10464 10465 // BlurredLikelihood: Blurred likelihood. 10466 // 10467 // Possible values: 10468 // "UNKNOWN" - Unknown likelihood. 10469 // "VERY_UNLIKELY" - It is very unlikely. 10470 // "UNLIKELY" - It is unlikely. 10471 // "POSSIBLE" - It is possible. 10472 // "LIKELY" - It is likely. 10473 // "VERY_LIKELY" - It is very likely. 10474 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 10475 10476 // BoundingPoly: The bounding polygon around the face. The coordinates 10477 // of the bounding box 10478 // are in the original image's scale. 10479 // The bounding box is computed to "frame" the face in accordance with 10480 // human 10481 // expectations. It is based on the landmarker results. 10482 // Note that one or more x and/or y coordinates may not be generated in 10483 // the 10484 // `BoundingPoly` (the polygon will be unbounded) if only a partial 10485 // face 10486 // appears in the image to be annotated. 10487 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10488 10489 // DetectionConfidence: Detection confidence. Range [0, 1]. 10490 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 10491 10492 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 10493 // than the 10494 // `boundingPoly`, and encloses only the skin part of the face. 10495 // Typically, it 10496 // is used to eliminate the face from any image analysis that detects 10497 // the 10498 // "amount of skin" visible in an image. It is not based on 10499 // the 10500 // landmarker results, only on the initial face detection, hence 10501 // the <code>fd</code> (face detection) prefix. 10502 FdBoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 10503 10504 // HeadwearLikelihood: Headwear likelihood. 10505 // 10506 // Possible values: 10507 // "UNKNOWN" - Unknown likelihood. 10508 // "VERY_UNLIKELY" - It is very unlikely. 10509 // "UNLIKELY" - It is unlikely. 10510 // "POSSIBLE" - It is possible. 10511 // "LIKELY" - It is likely. 10512 // "VERY_LIKELY" - It is very likely. 10513 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 10514 10515 // JoyLikelihood: Joy likelihood. 10516 // 10517 // Possible values: 10518 // "UNKNOWN" - Unknown likelihood. 10519 // "VERY_UNLIKELY" - It is very unlikely. 10520 // "UNLIKELY" - It is unlikely. 10521 // "POSSIBLE" - It is possible. 10522 // "LIKELY" - It is likely. 10523 // "VERY_LIKELY" - It is very likely. 10524 JoyLikelihood string `json:"joyLikelihood,omitempty"` 10525 10526 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 10527 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 10528 10529 // Landmarks: Detected face landmarks. 10530 Landmarks []*GoogleCloudVisionV1p4beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 10531 10532 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 10533 // that the face is 10534 // pointing relative to the vertical plane perpendicular to the image. 10535 // Range 10536 // [-180,180]. 10537 PanAngle float64 `json:"panAngle,omitempty"` 10538 10539 // RecognitionResult: Additional recognition information. Only computed 10540 // if 10541 // image_context.face_recognition_params is provided, **and** a match is 10542 // found 10543 // to a Celebrity in the input CelebritySet. This field is 10544 // sorted in order of decreasing confidence values. 10545 RecognitionResult []*GoogleCloudVisionV1p4beta1FaceRecognitionResult `json:"recognitionResult,omitempty"` 10546 10547 // RollAngle: Roll angle, which indicates the amount of 10548 // clockwise/anti-clockwise rotation 10549 // of the face relative to the image vertical about the axis 10550 // perpendicular to 10551 // the face. Range [-180,180]. 10552 RollAngle float64 `json:"rollAngle,omitempty"` 10553 10554 // SorrowLikelihood: Sorrow likelihood. 10555 // 10556 // Possible values: 10557 // "UNKNOWN" - Unknown likelihood. 10558 // "VERY_UNLIKELY" - It is very unlikely. 10559 // "UNLIKELY" - It is unlikely. 10560 // "POSSIBLE" - It is possible. 10561 // "LIKELY" - It is likely. 10562 // "VERY_LIKELY" - It is very likely. 10563 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 10564 10565 // SurpriseLikelihood: Surprise likelihood. 10566 // 10567 // Possible values: 10568 // "UNKNOWN" - Unknown likelihood. 10569 // "VERY_UNLIKELY" - It is very unlikely. 10570 // "UNLIKELY" - It is unlikely. 10571 // "POSSIBLE" - It is possible. 10572 // "LIKELY" - It is likely. 10573 // "VERY_LIKELY" - It is very likely. 10574 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 10575 10576 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 10577 // that the face is 10578 // pointing relative to the image's horizontal plane. Range [-180,180]. 10579 TiltAngle float64 `json:"tiltAngle,omitempty"` 10580 10581 // UnderExposedLikelihood: Under-exposed likelihood. 10582 // 10583 // Possible values: 10584 // "UNKNOWN" - Unknown likelihood. 10585 // "VERY_UNLIKELY" - It is very unlikely. 10586 // "UNLIKELY" - It is unlikely. 10587 // "POSSIBLE" - It is possible. 10588 // "LIKELY" - It is likely. 10589 // "VERY_LIKELY" - It is very likely. 10590 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 10591 10592 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 10593 // unconditionally include in API requests. By default, fields with 10594 // empty values are omitted from API requests. However, any non-pointer, 10595 // non-interface field appearing in ForceSendFields will be sent to the 10596 // server regardless of whether the field is empty or not. This may be 10597 // used to include empty fields in Patch requests. 10598 ForceSendFields []string `json:"-"` 10599 10600 // NullFields is a list of field names (e.g. "AngerLikelihood") to 10601 // include in API requests with the JSON null value. By default, fields 10602 // with empty values are omitted from API requests. However, any field 10603 // with an empty value appearing in NullFields will be sent to the 10604 // server as null. It is an error if a field in this list has a 10605 // non-empty value. This may be used to include null fields in Patch 10606 // requests. 10607 NullFields []string `json:"-"` 10608} 10609 10610func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 10611 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 10612 raw := NoMethod(*s) 10613 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10614} 10615 10616func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 10617 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 10618 var s1 struct { 10619 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 10620 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 10621 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 10622 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 10623 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 10624 *NoMethod 10625 } 10626 s1.NoMethod = (*NoMethod)(s) 10627 if err := json.Unmarshal(data, &s1); err != nil { 10628 return err 10629 } 10630 s.DetectionConfidence = float64(s1.DetectionConfidence) 10631 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 10632 s.PanAngle = float64(s1.PanAngle) 10633 s.RollAngle = float64(s1.RollAngle) 10634 s.TiltAngle = float64(s1.TiltAngle) 10635 return nil 10636} 10637 10638// GoogleCloudVisionV1p4beta1FaceAnnotationLandmark: A face-specific 10639// landmark (for example, a face feature). 10640type GoogleCloudVisionV1p4beta1FaceAnnotationLandmark struct { 10641 // Position: Face landmark position. 10642 Position *GoogleCloudVisionV1p4beta1Position `json:"position,omitempty"` 10643 10644 // Type: Face landmark type. 10645 // 10646 // Possible values: 10647 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 10648 // filled. 10649 // "LEFT_EYE" - Left eye. 10650 // "RIGHT_EYE" - Right eye. 10651 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 10652 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 10653 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 10654 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 10655 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 10656 // "NOSE_TIP" - Nose tip. 10657 // "UPPER_LIP" - Upper lip. 10658 // "LOWER_LIP" - Lower lip. 10659 // "MOUTH_LEFT" - Mouth left. 10660 // "MOUTH_RIGHT" - Mouth right. 10661 // "MOUTH_CENTER" - Mouth center. 10662 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 10663 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 10664 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 10665 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 10666 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 10667 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 10668 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 10669 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 10670 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 10671 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 10672 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 10673 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 10674 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 10675 // "LEFT_EAR_TRAGION" - Left ear tragion. 10676 // "RIGHT_EAR_TRAGION" - Right ear tragion. 10677 // "LEFT_EYE_PUPIL" - Left eye pupil. 10678 // "RIGHT_EYE_PUPIL" - Right eye pupil. 10679 // "FOREHEAD_GLABELLA" - Forehead glabella. 10680 // "CHIN_GNATHION" - Chin gnathion. 10681 // "CHIN_LEFT_GONION" - Chin left gonion. 10682 // "CHIN_RIGHT_GONION" - Chin right gonion. 10683 Type string `json:"type,omitempty"` 10684 10685 // ForceSendFields is a list of field names (e.g. "Position") to 10686 // unconditionally include in API requests. By default, fields with 10687 // empty values are omitted from API requests. However, any non-pointer, 10688 // non-interface field appearing in ForceSendFields will be sent to the 10689 // server regardless of whether the field is empty or not. This may be 10690 // used to include empty fields in Patch requests. 10691 ForceSendFields []string `json:"-"` 10692 10693 // NullFields is a list of field names (e.g. "Position") to include in 10694 // API requests with the JSON null value. By default, fields with empty 10695 // values are omitted from API requests. However, any field with an 10696 // empty value appearing in NullFields will be sent to the server as 10697 // null. It is an error if a field in this list has a non-empty value. 10698 // This may be used to include null fields in Patch requests. 10699 NullFields []string `json:"-"` 10700} 10701 10702func (s *GoogleCloudVisionV1p4beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 10703 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotationLandmark 10704 raw := NoMethod(*s) 10705 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10706} 10707 10708// GoogleCloudVisionV1p4beta1FaceRecognitionResult: Information about a 10709// face's identity. 10710type GoogleCloudVisionV1p4beta1FaceRecognitionResult struct { 10711 // Celebrity: The Celebrity that this face was matched to. 10712 Celebrity *GoogleCloudVisionV1p4beta1Celebrity `json:"celebrity,omitempty"` 10713 10714 // Confidence: Recognition confidence. Range [0, 1]. 10715 Confidence float64 `json:"confidence,omitempty"` 10716 10717 // ForceSendFields is a list of field names (e.g. "Celebrity") to 10718 // unconditionally include in API requests. By default, fields with 10719 // empty values are omitted from API requests. However, any non-pointer, 10720 // non-interface field appearing in ForceSendFields will be sent to the 10721 // server regardless of whether the field is empty or not. This may be 10722 // used to include empty fields in Patch requests. 10723 ForceSendFields []string `json:"-"` 10724 10725 // NullFields is a list of field names (e.g. "Celebrity") to include in 10726 // API requests with the JSON null value. By default, fields with empty 10727 // values are omitted from API requests. However, any field with an 10728 // empty value appearing in NullFields will be sent to the server as 10729 // null. It is an error if a field in this list has a non-empty value. 10730 // This may be used to include null fields in Patch requests. 10731 NullFields []string `json:"-"` 10732} 10733 10734func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) MarshalJSON() ([]byte, error) { 10735 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 10736 raw := NoMethod(*s) 10737 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10738} 10739 10740func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) UnmarshalJSON(data []byte) error { 10741 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 10742 var s1 struct { 10743 Confidence gensupport.JSONFloat64 `json:"confidence"` 10744 *NoMethod 10745 } 10746 s1.NoMethod = (*NoMethod)(s) 10747 if err := json.Unmarshal(data, &s1); err != nil { 10748 return err 10749 } 10750 s.Confidence = float64(s1.Confidence) 10751 return nil 10752} 10753 10754// GoogleCloudVisionV1p4beta1GcsDestination: The Google Cloud Storage 10755// location where the output will be written to. 10756type GoogleCloudVisionV1p4beta1GcsDestination struct { 10757 // Uri: Google Cloud Storage URI prefix where the results will be 10758 // stored. Results 10759 // will be in JSON format and preceded by its corresponding input URI 10760 // prefix. 10761 // This field can either represent a gcs file prefix or gcs directory. 10762 // In 10763 // either case, the uri should be unique because in order to get all of 10764 // the 10765 // output files, you will need to do a wildcard gcs search on the uri 10766 // prefix 10767 // you provide. 10768 // 10769 // Examples: 10770 // 10771 // * File Prefix: gs://bucket-name/here/filenameprefix The output 10772 // files 10773 // will be created in gs://bucket-name/here/ and the names of the 10774 // output files will begin with "filenameprefix". 10775 // 10776 // * Directory Prefix: gs://bucket-name/some/location/ The output 10777 // files 10778 // will be created in gs://bucket-name/some/location/ and the names of 10779 // the 10780 // output files could be anything because there was no filename 10781 // prefix 10782 // specified. 10783 // 10784 // If multiple outputs, each response is still AnnotateFileResponse, 10785 // each of 10786 // which contains some subset of the full list of 10787 // AnnotateImageResponse. 10788 // Multiple outputs can happen if, for example, the output JSON is too 10789 // large 10790 // and overflows into multiple sharded files. 10791 Uri string `json:"uri,omitempty"` 10792 10793 // ForceSendFields is a list of field names (e.g. "Uri") to 10794 // unconditionally include in API requests. By default, fields with 10795 // empty values are omitted from API requests. However, any non-pointer, 10796 // non-interface field appearing in ForceSendFields will be sent to the 10797 // server regardless of whether the field is empty or not. This may be 10798 // used to include empty fields in Patch requests. 10799 ForceSendFields []string `json:"-"` 10800 10801 // NullFields is a list of field names (e.g. "Uri") to include in API 10802 // requests with the JSON null value. By default, fields with empty 10803 // values are omitted from API requests. However, any field with an 10804 // empty value appearing in NullFields will be sent to the server as 10805 // null. It is an error if a field in this list has a non-empty value. 10806 // This may be used to include null fields in Patch requests. 10807 NullFields []string `json:"-"` 10808} 10809 10810func (s *GoogleCloudVisionV1p4beta1GcsDestination) MarshalJSON() ([]byte, error) { 10811 type NoMethod GoogleCloudVisionV1p4beta1GcsDestination 10812 raw := NoMethod(*s) 10813 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10814} 10815 10816// GoogleCloudVisionV1p4beta1GcsSource: The Google Cloud Storage 10817// location where the input will be read from. 10818type GoogleCloudVisionV1p4beta1GcsSource struct { 10819 // Uri: Google Cloud Storage URI for the input file. This must only be 10820 // a 10821 // Google Cloud Storage object. Wildcards are not currently supported. 10822 Uri string `json:"uri,omitempty"` 10823 10824 // ForceSendFields is a list of field names (e.g. "Uri") to 10825 // unconditionally include in API requests. By default, fields with 10826 // empty values are omitted from API requests. However, any non-pointer, 10827 // non-interface field appearing in ForceSendFields will be sent to the 10828 // server regardless of whether the field is empty or not. This may be 10829 // used to include empty fields in Patch requests. 10830 ForceSendFields []string `json:"-"` 10831 10832 // NullFields is a list of field names (e.g. "Uri") to include in API 10833 // requests with the JSON null value. By default, fields with empty 10834 // values are omitted from API requests. However, any field with an 10835 // empty value appearing in NullFields will be sent to the server as 10836 // null. It is an error if a field in this list has a non-empty value. 10837 // This may be used to include null fields in Patch requests. 10838 NullFields []string `json:"-"` 10839} 10840 10841func (s *GoogleCloudVisionV1p4beta1GcsSource) MarshalJSON() ([]byte, error) { 10842 type NoMethod GoogleCloudVisionV1p4beta1GcsSource 10843 raw := NoMethod(*s) 10844 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10845} 10846 10847// GoogleCloudVisionV1p4beta1ImageAnnotationContext: If an image was 10848// produced from a file (e.g. a PDF), this message gives 10849// information about the source of that image. 10850type GoogleCloudVisionV1p4beta1ImageAnnotationContext struct { 10851 // PageNumber: If the file was a PDF or TIFF, this field gives the page 10852 // number within 10853 // the file used to produce the image. 10854 PageNumber int64 `json:"pageNumber,omitempty"` 10855 10856 // Uri: The URI of the file used to produce the image. 10857 Uri string `json:"uri,omitempty"` 10858 10859 // ForceSendFields is a list of field names (e.g. "PageNumber") to 10860 // unconditionally include in API requests. By default, fields with 10861 // empty values are omitted from API requests. However, any non-pointer, 10862 // non-interface field appearing in ForceSendFields will be sent to the 10863 // server regardless of whether the field is empty or not. This may be 10864 // used to include empty fields in Patch requests. 10865 ForceSendFields []string `json:"-"` 10866 10867 // NullFields is a list of field names (e.g. "PageNumber") to include in 10868 // API requests with the JSON null value. By default, fields with empty 10869 // values are omitted from API requests. However, any field with an 10870 // empty value appearing in NullFields will be sent to the server as 10871 // null. It is an error if a field in this list has a non-empty value. 10872 // This may be used to include null fields in Patch requests. 10873 NullFields []string `json:"-"` 10874} 10875 10876func (s *GoogleCloudVisionV1p4beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 10877 type NoMethod GoogleCloudVisionV1p4beta1ImageAnnotationContext 10878 raw := NoMethod(*s) 10879 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10880} 10881 10882// GoogleCloudVisionV1p4beta1ImageProperties: Stores image properties, 10883// such as dominant colors. 10884type GoogleCloudVisionV1p4beta1ImageProperties struct { 10885 // DominantColors: If present, dominant colors completed successfully. 10886 DominantColors *GoogleCloudVisionV1p4beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 10887 10888 // ForceSendFields is a list of field names (e.g. "DominantColors") to 10889 // unconditionally include in API requests. By default, fields with 10890 // empty values are omitted from API requests. However, any non-pointer, 10891 // non-interface field appearing in ForceSendFields will be sent to the 10892 // server regardless of whether the field is empty or not. This may be 10893 // used to include empty fields in Patch requests. 10894 ForceSendFields []string `json:"-"` 10895 10896 // NullFields is a list of field names (e.g. "DominantColors") to 10897 // include in API requests with the JSON null value. By default, fields 10898 // with empty values are omitted from API requests. However, any field 10899 // with an empty value appearing in NullFields will be sent to the 10900 // server as null. It is an error if a field in this list has a 10901 // non-empty value. This may be used to include null fields in Patch 10902 // requests. 10903 NullFields []string `json:"-"` 10904} 10905 10906func (s *GoogleCloudVisionV1p4beta1ImageProperties) MarshalJSON() ([]byte, error) { 10907 type NoMethod GoogleCloudVisionV1p4beta1ImageProperties 10908 raw := NoMethod(*s) 10909 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10910} 10911 10912// GoogleCloudVisionV1p4beta1ImportProductSetsResponse: Response message 10913// for the `ImportProductSets` method. 10914// 10915// This message is returned by 10916// the 10917// google.longrunning.Operations.GetOperation method in the 10918// returned 10919// google.longrunning.Operation.response field. 10920type GoogleCloudVisionV1p4beta1ImportProductSetsResponse struct { 10921 // ReferenceImages: The list of reference_images that are imported 10922 // successfully. 10923 ReferenceImages []*GoogleCloudVisionV1p4beta1ReferenceImage `json:"referenceImages,omitempty"` 10924 10925 // Statuses: The rpc status for each ImportProductSet request, including 10926 // both successes 10927 // and errors. 10928 // 10929 // The number of statuses here matches the number of lines in the csv 10930 // file, 10931 // and statuses[i] stores the success or failure status of processing 10932 // the i-th 10933 // line of the csv, starting from line 0. 10934 Statuses []*Status `json:"statuses,omitempty"` 10935 10936 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 10937 // unconditionally include in API requests. By default, fields with 10938 // empty values are omitted from API requests. However, any non-pointer, 10939 // non-interface field appearing in ForceSendFields will be sent to the 10940 // server regardless of whether the field is empty or not. This may be 10941 // used to include empty fields in Patch requests. 10942 ForceSendFields []string `json:"-"` 10943 10944 // NullFields is a list of field names (e.g. "ReferenceImages") to 10945 // include in API requests with the JSON null value. By default, fields 10946 // with empty values are omitted from API requests. However, any field 10947 // with an empty value appearing in NullFields will be sent to the 10948 // server as null. It is an error if a field in this list has a 10949 // non-empty value. This may be used to include null fields in Patch 10950 // requests. 10951 NullFields []string `json:"-"` 10952} 10953 10954func (s *GoogleCloudVisionV1p4beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 10955 type NoMethod GoogleCloudVisionV1p4beta1ImportProductSetsResponse 10956 raw := NoMethod(*s) 10957 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10958} 10959 10960// GoogleCloudVisionV1p4beta1InputConfig: The desired input location and 10961// metadata. 10962type GoogleCloudVisionV1p4beta1InputConfig struct { 10963 // Content: File content, represented as a stream of bytes. 10964 // Note: As with all `bytes` fields, protobuffers use a pure 10965 // binary 10966 // representation, whereas JSON representations use base64. 10967 // 10968 // Currently, this field only works for BatchAnnotateFiles requests. It 10969 // does 10970 // not work for AsyncBatchAnnotateFiles requests. 10971 Content string `json:"content,omitempty"` 10972 10973 // GcsSource: The Google Cloud Storage location to read the input from. 10974 GcsSource *GoogleCloudVisionV1p4beta1GcsSource `json:"gcsSource,omitempty"` 10975 10976 // MimeType: The type of the file. Currently only "application/pdf", 10977 // "image/tiff" and 10978 // "image/gif" are supported. Wildcards are not supported. 10979 MimeType string `json:"mimeType,omitempty"` 10980 10981 // ForceSendFields is a list of field names (e.g. "Content") to 10982 // unconditionally include in API requests. By default, fields with 10983 // empty values are omitted from API requests. However, any non-pointer, 10984 // non-interface field appearing in ForceSendFields will be sent to the 10985 // server regardless of whether the field is empty or not. This may be 10986 // used to include empty fields in Patch requests. 10987 ForceSendFields []string `json:"-"` 10988 10989 // NullFields is a list of field names (e.g. "Content") to include in 10990 // API requests with the JSON null value. By default, fields with empty 10991 // values are omitted from API requests. However, any field with an 10992 // empty value appearing in NullFields will be sent to the server as 10993 // null. It is an error if a field in this list has a non-empty value. 10994 // This may be used to include null fields in Patch requests. 10995 NullFields []string `json:"-"` 10996} 10997 10998func (s *GoogleCloudVisionV1p4beta1InputConfig) MarshalJSON() ([]byte, error) { 10999 type NoMethod GoogleCloudVisionV1p4beta1InputConfig 11000 raw := NoMethod(*s) 11001 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11002} 11003 11004// GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation: Set of detected 11005// objects with bounding boxes. 11006type GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation struct { 11007 // BoundingPoly: Image region to which this object belongs. This must be 11008 // populated. 11009 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 11010 11011 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 11012 // For more 11013 // information, 11014 // see 11015 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 11016 LanguageCode string `json:"languageCode,omitempty"` 11017 11018 // Mid: Object ID that should align with EntityAnnotation mid. 11019 Mid string `json:"mid,omitempty"` 11020 11021 // Name: Object name, expressed in its `language_code` language. 11022 Name string `json:"name,omitempty"` 11023 11024 // Score: Score of the result. Range [0, 1]. 11025 Score float64 `json:"score,omitempty"` 11026 11027 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 11028 // unconditionally include in API requests. By default, fields with 11029 // empty values are omitted from API requests. However, any non-pointer, 11030 // non-interface field appearing in ForceSendFields will be sent to the 11031 // server regardless of whether the field is empty or not. This may be 11032 // used to include empty fields in Patch requests. 11033 ForceSendFields []string `json:"-"` 11034 11035 // NullFields is a list of field names (e.g. "BoundingPoly") to include 11036 // in API requests with the JSON null value. By default, fields with 11037 // empty values are omitted from API requests. However, any field with 11038 // an empty value appearing in NullFields will be sent to the server as 11039 // null. It is an error if a field in this list has a non-empty value. 11040 // This may be used to include null fields in Patch requests. 11041 NullFields []string `json:"-"` 11042} 11043 11044func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 11045 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 11046 raw := NoMethod(*s) 11047 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11048} 11049 11050func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 11051 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 11052 var s1 struct { 11053 Score gensupport.JSONFloat64 `json:"score"` 11054 *NoMethod 11055 } 11056 s1.NoMethod = (*NoMethod)(s) 11057 if err := json.Unmarshal(data, &s1); err != nil { 11058 return err 11059 } 11060 s.Score = float64(s1.Score) 11061 return nil 11062} 11063 11064// GoogleCloudVisionV1p4beta1LocationInfo: Detected entity location 11065// information. 11066type GoogleCloudVisionV1p4beta1LocationInfo struct { 11067 // LatLng: lat/long location coordinates. 11068 LatLng *LatLng `json:"latLng,omitempty"` 11069 11070 // ForceSendFields is a list of field names (e.g. "LatLng") to 11071 // unconditionally include in API requests. By default, fields with 11072 // empty values are omitted from API requests. However, any non-pointer, 11073 // non-interface field appearing in ForceSendFields will be sent to the 11074 // server regardless of whether the field is empty or not. This may be 11075 // used to include empty fields in Patch requests. 11076 ForceSendFields []string `json:"-"` 11077 11078 // NullFields is a list of field names (e.g. "LatLng") to include in API 11079 // requests with the JSON null value. By default, fields with empty 11080 // values are omitted from API requests. However, any field with an 11081 // empty value appearing in NullFields will be sent to the server as 11082 // null. It is an error if a field in this list has a non-empty value. 11083 // This may be used to include null fields in Patch requests. 11084 NullFields []string `json:"-"` 11085} 11086 11087func (s *GoogleCloudVisionV1p4beta1LocationInfo) MarshalJSON() ([]byte, error) { 11088 type NoMethod GoogleCloudVisionV1p4beta1LocationInfo 11089 raw := NoMethod(*s) 11090 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11091} 11092 11093// GoogleCloudVisionV1p4beta1NormalizedVertex: A vertex represents a 2D 11094// point in the image. 11095// NOTE: the normalized vertex coordinates are relative to the original 11096// image 11097// and range from 0 to 1. 11098type GoogleCloudVisionV1p4beta1NormalizedVertex struct { 11099 // X: X coordinate. 11100 X float64 `json:"x,omitempty"` 11101 11102 // Y: Y coordinate. 11103 Y float64 `json:"y,omitempty"` 11104 11105 // ForceSendFields is a list of field names (e.g. "X") to 11106 // unconditionally include in API requests. By default, fields with 11107 // empty values are omitted from API requests. However, any non-pointer, 11108 // non-interface field appearing in ForceSendFields will be sent to the 11109 // server regardless of whether the field is empty or not. This may be 11110 // used to include empty fields in Patch requests. 11111 ForceSendFields []string `json:"-"` 11112 11113 // NullFields is a list of field names (e.g. "X") to include in API 11114 // requests with the JSON null value. By default, fields with empty 11115 // values are omitted from API requests. However, any field with an 11116 // empty value appearing in NullFields will be sent to the server as 11117 // null. It is an error if a field in this list has a non-empty value. 11118 // This may be used to include null fields in Patch requests. 11119 NullFields []string `json:"-"` 11120} 11121 11122func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 11123 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 11124 raw := NoMethod(*s) 11125 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11126} 11127 11128func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 11129 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 11130 var s1 struct { 11131 X gensupport.JSONFloat64 `json:"x"` 11132 Y gensupport.JSONFloat64 `json:"y"` 11133 *NoMethod 11134 } 11135 s1.NoMethod = (*NoMethod)(s) 11136 if err := json.Unmarshal(data, &s1); err != nil { 11137 return err 11138 } 11139 s.X = float64(s1.X) 11140 s.Y = float64(s1.Y) 11141 return nil 11142} 11143 11144// GoogleCloudVisionV1p4beta1OperationMetadata: Contains metadata for 11145// the BatchAnnotateImages operation. 11146type GoogleCloudVisionV1p4beta1OperationMetadata struct { 11147 // CreateTime: The time when the batch request was received. 11148 CreateTime string `json:"createTime,omitempty"` 11149 11150 // State: Current state of the batch operation. 11151 // 11152 // Possible values: 11153 // "STATE_UNSPECIFIED" - Invalid. 11154 // "CREATED" - Request is received. 11155 // "RUNNING" - Request is actively being processed. 11156 // "DONE" - The batch processing is done. 11157 // "CANCELLED" - The batch processing was cancelled. 11158 State string `json:"state,omitempty"` 11159 11160 // UpdateTime: The time when the operation result was last updated. 11161 UpdateTime string `json:"updateTime,omitempty"` 11162 11163 // ForceSendFields is a list of field names (e.g. "CreateTime") to 11164 // unconditionally include in API requests. By default, fields with 11165 // empty values are omitted from API requests. However, any non-pointer, 11166 // non-interface field appearing in ForceSendFields will be sent to the 11167 // server regardless of whether the field is empty or not. This may be 11168 // used to include empty fields in Patch requests. 11169 ForceSendFields []string `json:"-"` 11170 11171 // NullFields is a list of field names (e.g. "CreateTime") to include in 11172 // API requests with the JSON null value. By default, fields with empty 11173 // values are omitted from API requests. However, any field with an 11174 // empty value appearing in NullFields will be sent to the server as 11175 // null. It is an error if a field in this list has a non-empty value. 11176 // This may be used to include null fields in Patch requests. 11177 NullFields []string `json:"-"` 11178} 11179 11180func (s *GoogleCloudVisionV1p4beta1OperationMetadata) MarshalJSON() ([]byte, error) { 11181 type NoMethod GoogleCloudVisionV1p4beta1OperationMetadata 11182 raw := NoMethod(*s) 11183 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11184} 11185 11186// GoogleCloudVisionV1p4beta1OutputConfig: The desired output location 11187// and metadata. 11188type GoogleCloudVisionV1p4beta1OutputConfig struct { 11189 // BatchSize: The max number of response protos to put into each output 11190 // JSON file on 11191 // Google Cloud Storage. 11192 // The valid range is [1, 100]. If not specified, the default value is 11193 // 20. 11194 // 11195 // For example, for one pdf file with 100 pages, 100 response protos 11196 // will 11197 // be generated. If `batch_size` = 20, then 5 json files each 11198 // containing 20 response protos will be written under the 11199 // prefix 11200 // `gcs_destination`.`uri`. 11201 // 11202 // Currently, batch_size only applies to GcsDestination, with potential 11203 // future 11204 // support for other output configurations. 11205 BatchSize int64 `json:"batchSize,omitempty"` 11206 11207 // GcsDestination: The Google Cloud Storage location to write the 11208 // output(s) to. 11209 GcsDestination *GoogleCloudVisionV1p4beta1GcsDestination `json:"gcsDestination,omitempty"` 11210 11211 // ForceSendFields is a list of field names (e.g. "BatchSize") to 11212 // unconditionally include in API requests. By default, fields with 11213 // empty values are omitted from API requests. However, any non-pointer, 11214 // non-interface field appearing in ForceSendFields will be sent to the 11215 // server regardless of whether the field is empty or not. This may be 11216 // used to include empty fields in Patch requests. 11217 ForceSendFields []string `json:"-"` 11218 11219 // NullFields is a list of field names (e.g. "BatchSize") to include in 11220 // API requests with the JSON null value. By default, fields with empty 11221 // values are omitted from API requests. However, any field with an 11222 // empty value appearing in NullFields will be sent to the server as 11223 // null. It is an error if a field in this list has a non-empty value. 11224 // This may be used to include null fields in Patch requests. 11225 NullFields []string `json:"-"` 11226} 11227 11228func (s *GoogleCloudVisionV1p4beta1OutputConfig) MarshalJSON() ([]byte, error) { 11229 type NoMethod GoogleCloudVisionV1p4beta1OutputConfig 11230 raw := NoMethod(*s) 11231 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11232} 11233 11234// GoogleCloudVisionV1p4beta1Page: Detected page from OCR. 11235type GoogleCloudVisionV1p4beta1Page struct { 11236 // Blocks: List of blocks of text, images etc on this page. 11237 Blocks []*GoogleCloudVisionV1p4beta1Block `json:"blocks,omitempty"` 11238 11239 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 11240 Confidence float64 `json:"confidence,omitempty"` 11241 11242 // Height: Page height. For PDFs the unit is points. For images 11243 // (including 11244 // TIFFs) the unit is pixels. 11245 Height int64 `json:"height,omitempty"` 11246 11247 // Property: Additional information detected on the page. 11248 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11249 11250 // Width: Page width. For PDFs the unit is points. For images 11251 // (including 11252 // TIFFs) the unit is pixels. 11253 Width int64 `json:"width,omitempty"` 11254 11255 // ForceSendFields is a list of field names (e.g. "Blocks") to 11256 // unconditionally include in API requests. By default, fields with 11257 // empty values are omitted from API requests. However, any non-pointer, 11258 // non-interface field appearing in ForceSendFields will be sent to the 11259 // server regardless of whether the field is empty or not. This may be 11260 // used to include empty fields in Patch requests. 11261 ForceSendFields []string `json:"-"` 11262 11263 // NullFields is a list of field names (e.g. "Blocks") to include in API 11264 // requests with the JSON null value. By default, fields with empty 11265 // values are omitted from API requests. However, any field with an 11266 // empty value appearing in NullFields will be sent to the server as 11267 // null. It is an error if a field in this list has a non-empty value. 11268 // This may be used to include null fields in Patch requests. 11269 NullFields []string `json:"-"` 11270} 11271 11272func (s *GoogleCloudVisionV1p4beta1Page) MarshalJSON() ([]byte, error) { 11273 type NoMethod GoogleCloudVisionV1p4beta1Page 11274 raw := NoMethod(*s) 11275 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11276} 11277 11278func (s *GoogleCloudVisionV1p4beta1Page) UnmarshalJSON(data []byte) error { 11279 type NoMethod GoogleCloudVisionV1p4beta1Page 11280 var s1 struct { 11281 Confidence gensupport.JSONFloat64 `json:"confidence"` 11282 *NoMethod 11283 } 11284 s1.NoMethod = (*NoMethod)(s) 11285 if err := json.Unmarshal(data, &s1); err != nil { 11286 return err 11287 } 11288 s.Confidence = float64(s1.Confidence) 11289 return nil 11290} 11291 11292// GoogleCloudVisionV1p4beta1Paragraph: Structural unit of text 11293// representing a number of words in certain order. 11294type GoogleCloudVisionV1p4beta1Paragraph struct { 11295 // BoundingBox: The bounding box for the paragraph. 11296 // The vertices are in the order of top-left, top-right, 11297 // bottom-right, 11298 // bottom-left. When a rotation of the bounding box is detected the 11299 // rotation 11300 // is represented as around the top-left corner as defined when the text 11301 // is 11302 // read in the 'natural' orientation. 11303 // For example: 11304 // * when the text is horizontal it might look like: 11305 // 0----1 11306 // | | 11307 // 3----2 11308 // * when it's rotated 180 degrees around the top-left corner it 11309 // becomes: 11310 // 2----3 11311 // | | 11312 // 1----0 11313 // and the vertex order will still be (0, 1, 2, 3). 11314 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 11315 11316 // Confidence: Confidence of the OCR results for the paragraph. Range 11317 // [0, 1]. 11318 Confidence float64 `json:"confidence,omitempty"` 11319 11320 // Property: Additional information detected for the paragraph. 11321 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11322 11323 // Words: List of all words in this paragraph. 11324 Words []*GoogleCloudVisionV1p4beta1Word `json:"words,omitempty"` 11325 11326 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 11327 // unconditionally include in API requests. By default, fields with 11328 // empty values are omitted from API requests. However, any non-pointer, 11329 // non-interface field appearing in ForceSendFields will be sent to the 11330 // server regardless of whether the field is empty or not. This may be 11331 // used to include empty fields in Patch requests. 11332 ForceSendFields []string `json:"-"` 11333 11334 // NullFields is a list of field names (e.g. "BoundingBox") to include 11335 // in API requests with the JSON null value. By default, fields with 11336 // empty values are omitted from API requests. However, any field with 11337 // an empty value appearing in NullFields will be sent to the server as 11338 // null. It is an error if a field in this list has a non-empty value. 11339 // This may be used to include null fields in Patch requests. 11340 NullFields []string `json:"-"` 11341} 11342 11343func (s *GoogleCloudVisionV1p4beta1Paragraph) MarshalJSON() ([]byte, error) { 11344 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 11345 raw := NoMethod(*s) 11346 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11347} 11348 11349func (s *GoogleCloudVisionV1p4beta1Paragraph) UnmarshalJSON(data []byte) error { 11350 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 11351 var s1 struct { 11352 Confidence gensupport.JSONFloat64 `json:"confidence"` 11353 *NoMethod 11354 } 11355 s1.NoMethod = (*NoMethod)(s) 11356 if err := json.Unmarshal(data, &s1); err != nil { 11357 return err 11358 } 11359 s.Confidence = float64(s1.Confidence) 11360 return nil 11361} 11362 11363// GoogleCloudVisionV1p4beta1Position: A 3D position in the image, used 11364// primarily for Face detection landmarks. 11365// A valid Position must have both x and y coordinates. 11366// The position coordinates are in the same scale as the original image. 11367type GoogleCloudVisionV1p4beta1Position struct { 11368 // X: X coordinate. 11369 X float64 `json:"x,omitempty"` 11370 11371 // Y: Y coordinate. 11372 Y float64 `json:"y,omitempty"` 11373 11374 // Z: Z coordinate (or depth). 11375 Z float64 `json:"z,omitempty"` 11376 11377 // ForceSendFields is a list of field names (e.g. "X") to 11378 // unconditionally include in API requests. By default, fields with 11379 // empty values are omitted from API requests. However, any non-pointer, 11380 // non-interface field appearing in ForceSendFields will be sent to the 11381 // server regardless of whether the field is empty or not. This may be 11382 // used to include empty fields in Patch requests. 11383 ForceSendFields []string `json:"-"` 11384 11385 // NullFields is a list of field names (e.g. "X") to include in API 11386 // requests with the JSON null value. By default, fields with empty 11387 // values are omitted from API requests. However, any field with an 11388 // empty value appearing in NullFields will be sent to the server as 11389 // null. It is an error if a field in this list has a non-empty value. 11390 // This may be used to include null fields in Patch requests. 11391 NullFields []string `json:"-"` 11392} 11393 11394func (s *GoogleCloudVisionV1p4beta1Position) MarshalJSON() ([]byte, error) { 11395 type NoMethod GoogleCloudVisionV1p4beta1Position 11396 raw := NoMethod(*s) 11397 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11398} 11399 11400func (s *GoogleCloudVisionV1p4beta1Position) UnmarshalJSON(data []byte) error { 11401 type NoMethod GoogleCloudVisionV1p4beta1Position 11402 var s1 struct { 11403 X gensupport.JSONFloat64 `json:"x"` 11404 Y gensupport.JSONFloat64 `json:"y"` 11405 Z gensupport.JSONFloat64 `json:"z"` 11406 *NoMethod 11407 } 11408 s1.NoMethod = (*NoMethod)(s) 11409 if err := json.Unmarshal(data, &s1); err != nil { 11410 return err 11411 } 11412 s.X = float64(s1.X) 11413 s.Y = float64(s1.Y) 11414 s.Z = float64(s1.Z) 11415 return nil 11416} 11417 11418// GoogleCloudVisionV1p4beta1Product: A Product contains 11419// ReferenceImages. 11420type GoogleCloudVisionV1p4beta1Product struct { 11421 // Description: User-provided metadata to be stored with this product. 11422 // Must be at most 4096 11423 // characters long. 11424 Description string `json:"description,omitempty"` 11425 11426 // DisplayName: The user-provided name for this Product. Must not be 11427 // empty. Must be at most 11428 // 4096 characters long. 11429 DisplayName string `json:"displayName,omitempty"` 11430 11431 // Name: The resource name of the product. 11432 // 11433 // Format 11434 // is: 11435 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 11436 // 11437 // This field is ignored when creating a product. 11438 Name string `json:"name,omitempty"` 11439 11440 // ProductCategory: Immutable. The category for the product identified 11441 // by the reference image. This should 11442 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 11443 // categories 11444 // "homegoods", "apparel", and "toys" are still supported, but these 11445 // should 11446 // not be used for new products. 11447 ProductCategory string `json:"productCategory,omitempty"` 11448 11449 // ProductLabels: Key-value pairs that can be attached to a product. At 11450 // query time, 11451 // constraints can be specified based on the product_labels. 11452 // 11453 // Note that integer values can be provided as strings, e.g. "1199". 11454 // Only 11455 // strings with integer values can match a range-based restriction which 11456 // is 11457 // to be supported soon. 11458 // 11459 // Multiple values can be assigned to the same key. One product may have 11460 // up to 11461 // 500 product_labels. 11462 // 11463 // Notice that the total number of distinct product_labels over all 11464 // products 11465 // in one ProductSet cannot exceed 1M, otherwise the product search 11466 // pipeline 11467 // will refuse to work for that ProductSet. 11468 ProductLabels []*GoogleCloudVisionV1p4beta1ProductKeyValue `json:"productLabels,omitempty"` 11469 11470 // ForceSendFields is a list of field names (e.g. "Description") to 11471 // unconditionally include in API requests. By default, fields with 11472 // empty values are omitted from API requests. However, any non-pointer, 11473 // non-interface field appearing in ForceSendFields will be sent to the 11474 // server regardless of whether the field is empty or not. This may be 11475 // used to include empty fields in Patch requests. 11476 ForceSendFields []string `json:"-"` 11477 11478 // NullFields is a list of field names (e.g. "Description") to include 11479 // in API requests with the JSON null value. By default, fields with 11480 // empty values are omitted from API requests. However, any field with 11481 // an empty value appearing in NullFields will be sent to the server as 11482 // null. It is an error if a field in this list has a non-empty value. 11483 // This may be used to include null fields in Patch requests. 11484 NullFields []string `json:"-"` 11485} 11486 11487func (s *GoogleCloudVisionV1p4beta1Product) MarshalJSON() ([]byte, error) { 11488 type NoMethod GoogleCloudVisionV1p4beta1Product 11489 raw := NoMethod(*s) 11490 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11491} 11492 11493// GoogleCloudVisionV1p4beta1ProductKeyValue: A product label 11494// represented as a key-value pair. 11495type GoogleCloudVisionV1p4beta1ProductKeyValue struct { 11496 // Key: The key of the label attached to the product. Cannot be empty 11497 // and cannot 11498 // exceed 128 bytes. 11499 Key string `json:"key,omitempty"` 11500 11501 // Value: The value of the label attached to the product. Cannot be 11502 // empty and 11503 // cannot exceed 128 bytes. 11504 Value string `json:"value,omitempty"` 11505 11506 // ForceSendFields is a list of field names (e.g. "Key") to 11507 // unconditionally include in API requests. By default, fields with 11508 // empty values are omitted from API requests. However, any non-pointer, 11509 // non-interface field appearing in ForceSendFields will be sent to the 11510 // server regardless of whether the field is empty or not. This may be 11511 // used to include empty fields in Patch requests. 11512 ForceSendFields []string `json:"-"` 11513 11514 // NullFields is a list of field names (e.g. "Key") to include in API 11515 // requests with the JSON null value. By default, fields with empty 11516 // values are omitted from API requests. However, any field with an 11517 // empty value appearing in NullFields will be sent to the server as 11518 // null. It is an error if a field in this list has a non-empty value. 11519 // This may be used to include null fields in Patch requests. 11520 NullFields []string `json:"-"` 11521} 11522 11523func (s *GoogleCloudVisionV1p4beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 11524 type NoMethod GoogleCloudVisionV1p4beta1ProductKeyValue 11525 raw := NoMethod(*s) 11526 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11527} 11528 11529// GoogleCloudVisionV1p4beta1ProductSearchResults: Results for a product 11530// search request. 11531type GoogleCloudVisionV1p4beta1ProductSearchResults struct { 11532 // IndexTime: Timestamp of the index which provided these results. 11533 // Products added to the 11534 // product set and products removed from the product set after this time 11535 // are 11536 // not reflected in the current results. 11537 IndexTime string `json:"indexTime,omitempty"` 11538 11539 // ProductGroupedResults: List of results grouped by products detected 11540 // in the query image. Each entry 11541 // corresponds to one bounding polygon in the query image, and contains 11542 // the 11543 // matching products specific to that region. There may be duplicate 11544 // product 11545 // matches in the union of all the per-product results. 11546 ProductGroupedResults []*GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 11547 11548 // Results: List of results, one for each product match. 11549 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 11550 11551 // ForceSendFields is a list of field names (e.g. "IndexTime") to 11552 // unconditionally include in API requests. By default, fields with 11553 // empty values are omitted from API requests. However, any non-pointer, 11554 // non-interface field appearing in ForceSendFields will be sent to the 11555 // server regardless of whether the field is empty or not. This may be 11556 // used to include empty fields in Patch requests. 11557 ForceSendFields []string `json:"-"` 11558 11559 // NullFields is a list of field names (e.g. "IndexTime") to include in 11560 // API requests with the JSON null value. By default, fields with empty 11561 // values are omitted from API requests. However, any field with an 11562 // empty value appearing in NullFields will be sent to the server as 11563 // null. It is an error if a field in this list has a non-empty value. 11564 // This may be used to include null fields in Patch requests. 11565 NullFields []string `json:"-"` 11566} 11567 11568func (s *GoogleCloudVisionV1p4beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 11569 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResults 11570 raw := NoMethod(*s) 11571 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11572} 11573 11574// GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult: 11575// Information about the products similar to a single product in a 11576// query 11577// image. 11578type GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult struct { 11579 // BoundingPoly: The bounding polygon around the product detected in the 11580 // query image. 11581 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 11582 11583 // ObjectAnnotations: List of generic predictions for the object in the 11584 // bounding box. 11585 ObjectAnnotations []*GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 11586 11587 // Results: List of results, one for each product match. 11588 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 11589 11590 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 11591 // unconditionally include in API requests. By default, fields with 11592 // empty values are omitted from API requests. However, any non-pointer, 11593 // non-interface field appearing in ForceSendFields will be sent to the 11594 // server regardless of whether the field is empty or not. This may be 11595 // used to include empty fields in Patch requests. 11596 ForceSendFields []string `json:"-"` 11597 11598 // NullFields is a list of field names (e.g. "BoundingPoly") to include 11599 // in API requests with the JSON null value. By default, fields with 11600 // empty values are omitted from API requests. However, any field with 11601 // an empty value appearing in NullFields will be sent to the server as 11602 // null. It is an error if a field in this list has a non-empty value. 11603 // This may be used to include null fields in Patch requests. 11604 NullFields []string `json:"-"` 11605} 11606 11607func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 11608 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult 11609 raw := NoMethod(*s) 11610 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11611} 11612 11613// GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation: 11614// Prediction for what the object in the bounding box is. 11615type GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation struct { 11616 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 11617 // For more 11618 // information, 11619 // see 11620 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 11621 LanguageCode string `json:"languageCode,omitempty"` 11622 11623 // Mid: Object ID that should align with EntityAnnotation mid. 11624 Mid string `json:"mid,omitempty"` 11625 11626 // Name: Object name, expressed in its `language_code` language. 11627 Name string `json:"name,omitempty"` 11628 11629 // Score: Score of the result. Range [0, 1]. 11630 Score float64 `json:"score,omitempty"` 11631 11632 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 11633 // unconditionally include in API requests. By default, fields with 11634 // empty values are omitted from API requests. However, any non-pointer, 11635 // non-interface field appearing in ForceSendFields will be sent to the 11636 // server regardless of whether the field is empty or not. This may be 11637 // used to include empty fields in Patch requests. 11638 ForceSendFields []string `json:"-"` 11639 11640 // NullFields is a list of field names (e.g. "LanguageCode") to include 11641 // in API requests with the JSON null value. By default, fields with 11642 // empty values are omitted from API requests. However, any field with 11643 // an empty value appearing in NullFields will be sent to the server as 11644 // null. It is an error if a field in this list has a non-empty value. 11645 // This may be used to include null fields in Patch requests. 11646 NullFields []string `json:"-"` 11647} 11648 11649func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 11650 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 11651 raw := NoMethod(*s) 11652 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11653} 11654 11655func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 11656 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 11657 var s1 struct { 11658 Score gensupport.JSONFloat64 `json:"score"` 11659 *NoMethod 11660 } 11661 s1.NoMethod = (*NoMethod)(s) 11662 if err := json.Unmarshal(data, &s1); err != nil { 11663 return err 11664 } 11665 s.Score = float64(s1.Score) 11666 return nil 11667} 11668 11669// GoogleCloudVisionV1p4beta1ProductSearchResultsResult: Information 11670// about a product. 11671type GoogleCloudVisionV1p4beta1ProductSearchResultsResult struct { 11672 // Image: The resource name of the image from the product that is the 11673 // closest match 11674 // to the query. 11675 Image string `json:"image,omitempty"` 11676 11677 // Product: The Product. 11678 Product *GoogleCloudVisionV1p4beta1Product `json:"product,omitempty"` 11679 11680 // Score: A confidence level on the match, ranging from 0 (no 11681 // confidence) to 11682 // 1 (full confidence). 11683 Score float64 `json:"score,omitempty"` 11684 11685 // ForceSendFields is a list of field names (e.g. "Image") to 11686 // unconditionally include in API requests. By default, fields with 11687 // empty values are omitted from API requests. However, any non-pointer, 11688 // non-interface field appearing in ForceSendFields will be sent to the 11689 // server regardless of whether the field is empty or not. This may be 11690 // used to include empty fields in Patch requests. 11691 ForceSendFields []string `json:"-"` 11692 11693 // NullFields is a list of field names (e.g. "Image") to include in API 11694 // requests with the JSON null value. By default, fields with empty 11695 // values are omitted from API requests. However, any field with an 11696 // empty value appearing in NullFields will be sent to the server as 11697 // null. It is an error if a field in this list has a non-empty value. 11698 // This may be used to include null fields in Patch requests. 11699 NullFields []string `json:"-"` 11700} 11701 11702func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 11703 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 11704 raw := NoMethod(*s) 11705 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11706} 11707 11708func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 11709 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 11710 var s1 struct { 11711 Score gensupport.JSONFloat64 `json:"score"` 11712 *NoMethod 11713 } 11714 s1.NoMethod = (*NoMethod)(s) 11715 if err := json.Unmarshal(data, &s1); err != nil { 11716 return err 11717 } 11718 s.Score = float64(s1.Score) 11719 return nil 11720} 11721 11722// GoogleCloudVisionV1p4beta1Property: A `Property` consists of a 11723// user-supplied name/value pair. 11724type GoogleCloudVisionV1p4beta1Property struct { 11725 // Name: Name of the property. 11726 Name string `json:"name,omitempty"` 11727 11728 // Uint64Value: Value of numeric properties. 11729 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 11730 11731 // Value: Value of the property. 11732 Value string `json:"value,omitempty"` 11733 11734 // ForceSendFields is a list of field names (e.g. "Name") to 11735 // unconditionally include in API requests. By default, fields with 11736 // empty values are omitted from API requests. However, any non-pointer, 11737 // non-interface field appearing in ForceSendFields will be sent to the 11738 // server regardless of whether the field is empty or not. This may be 11739 // used to include empty fields in Patch requests. 11740 ForceSendFields []string `json:"-"` 11741 11742 // NullFields is a list of field names (e.g. "Name") to include in API 11743 // requests with the JSON null value. By default, fields with empty 11744 // values are omitted from API requests. However, any field with an 11745 // empty value appearing in NullFields will be sent to the server as 11746 // null. It is an error if a field in this list has a non-empty value. 11747 // This may be used to include null fields in Patch requests. 11748 NullFields []string `json:"-"` 11749} 11750 11751func (s *GoogleCloudVisionV1p4beta1Property) MarshalJSON() ([]byte, error) { 11752 type NoMethod GoogleCloudVisionV1p4beta1Property 11753 raw := NoMethod(*s) 11754 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11755} 11756 11757// GoogleCloudVisionV1p4beta1ReferenceImage: A `ReferenceImage` 11758// represents a product image and its associated metadata, 11759// such as bounding boxes. 11760type GoogleCloudVisionV1p4beta1ReferenceImage struct { 11761 // BoundingPolys: Optional. Bounding polygons around the areas of 11762 // interest in the reference image. 11763 // If this field is empty, the system will try to detect regions 11764 // of 11765 // interest. At most 10 bounding polygons will be used. 11766 // 11767 // The provided shape is converted into a non-rotated rectangle. 11768 // Once 11769 // converted, the small edge of the rectangle must be greater than or 11770 // equal 11771 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 11772 // 1:5 11773 // is not). 11774 BoundingPolys []*GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPolys,omitempty"` 11775 11776 // Name: The resource name of the reference image. 11777 // 11778 // Format 11779 // is: 11780 // 11781 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 11782 // ceImages/IMAGE_ID`. 11783 // 11784 // This field is ignored when creating a reference image. 11785 Name string `json:"name,omitempty"` 11786 11787 // Uri: Required. The Google Cloud Storage URI of the reference 11788 // image. 11789 // 11790 // The URI must start with `gs://`. 11791 Uri string `json:"uri,omitempty"` 11792 11793 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 11794 // unconditionally include in API requests. By default, fields with 11795 // empty values are omitted from API requests. However, any non-pointer, 11796 // non-interface field appearing in ForceSendFields will be sent to the 11797 // server regardless of whether the field is empty or not. This may be 11798 // used to include empty fields in Patch requests. 11799 ForceSendFields []string `json:"-"` 11800 11801 // NullFields is a list of field names (e.g. "BoundingPolys") to include 11802 // in API requests with the JSON null value. By default, fields with 11803 // empty values are omitted from API requests. However, any field with 11804 // an empty value appearing in NullFields will be sent to the server as 11805 // null. It is an error if a field in this list has a non-empty value. 11806 // This may be used to include null fields in Patch requests. 11807 NullFields []string `json:"-"` 11808} 11809 11810func (s *GoogleCloudVisionV1p4beta1ReferenceImage) MarshalJSON() ([]byte, error) { 11811 type NoMethod GoogleCloudVisionV1p4beta1ReferenceImage 11812 raw := NoMethod(*s) 11813 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11814} 11815 11816// GoogleCloudVisionV1p4beta1SafeSearchAnnotation: Set of features 11817// pertaining to the image, computed by computer vision 11818// methods over safe-search verticals (for example, adult, spoof, 11819// medical, 11820// violence). 11821type GoogleCloudVisionV1p4beta1SafeSearchAnnotation struct { 11822 // Adult: Represents the adult content likelihood for the image. Adult 11823 // content may 11824 // contain elements such as nudity, pornographic images or cartoons, 11825 // or 11826 // sexual activities. 11827 // 11828 // Possible values: 11829 // "UNKNOWN" - Unknown likelihood. 11830 // "VERY_UNLIKELY" - It is very unlikely. 11831 // "UNLIKELY" - It is unlikely. 11832 // "POSSIBLE" - It is possible. 11833 // "LIKELY" - It is likely. 11834 // "VERY_LIKELY" - It is very likely. 11835 Adult string `json:"adult,omitempty"` 11836 11837 // Medical: Likelihood that this is a medical image. 11838 // 11839 // Possible values: 11840 // "UNKNOWN" - Unknown likelihood. 11841 // "VERY_UNLIKELY" - It is very unlikely. 11842 // "UNLIKELY" - It is unlikely. 11843 // "POSSIBLE" - It is possible. 11844 // "LIKELY" - It is likely. 11845 // "VERY_LIKELY" - It is very likely. 11846 Medical string `json:"medical,omitempty"` 11847 11848 // Racy: Likelihood that the request image contains racy content. Racy 11849 // content may 11850 // include (but is not limited to) skimpy or sheer clothing, 11851 // strategically 11852 // covered nudity, lewd or provocative poses, or close-ups of 11853 // sensitive 11854 // body areas. 11855 // 11856 // Possible values: 11857 // "UNKNOWN" - Unknown likelihood. 11858 // "VERY_UNLIKELY" - It is very unlikely. 11859 // "UNLIKELY" - It is unlikely. 11860 // "POSSIBLE" - It is possible. 11861 // "LIKELY" - It is likely. 11862 // "VERY_LIKELY" - It is very likely. 11863 Racy string `json:"racy,omitempty"` 11864 11865 // Spoof: Spoof likelihood. The likelihood that an modification 11866 // was made to the image's canonical version to make it appear 11867 // funny or offensive. 11868 // 11869 // Possible values: 11870 // "UNKNOWN" - Unknown likelihood. 11871 // "VERY_UNLIKELY" - It is very unlikely. 11872 // "UNLIKELY" - It is unlikely. 11873 // "POSSIBLE" - It is possible. 11874 // "LIKELY" - It is likely. 11875 // "VERY_LIKELY" - It is very likely. 11876 Spoof string `json:"spoof,omitempty"` 11877 11878 // Violence: Likelihood that this image contains violent content. 11879 // 11880 // Possible values: 11881 // "UNKNOWN" - Unknown likelihood. 11882 // "VERY_UNLIKELY" - It is very unlikely. 11883 // "UNLIKELY" - It is unlikely. 11884 // "POSSIBLE" - It is possible. 11885 // "LIKELY" - It is likely. 11886 // "VERY_LIKELY" - It is very likely. 11887 Violence string `json:"violence,omitempty"` 11888 11889 // ForceSendFields is a list of field names (e.g. "Adult") to 11890 // unconditionally include in API requests. By default, fields with 11891 // empty values are omitted from API requests. However, any non-pointer, 11892 // non-interface field appearing in ForceSendFields will be sent to the 11893 // server regardless of whether the field is empty or not. This may be 11894 // used to include empty fields in Patch requests. 11895 ForceSendFields []string `json:"-"` 11896 11897 // NullFields is a list of field names (e.g. "Adult") to include in API 11898 // requests with the JSON null value. By default, fields with empty 11899 // values are omitted from API requests. However, any field with an 11900 // empty value appearing in NullFields will be sent to the server as 11901 // null. It is an error if a field in this list has a non-empty value. 11902 // This may be used to include null fields in Patch requests. 11903 NullFields []string `json:"-"` 11904} 11905 11906func (s *GoogleCloudVisionV1p4beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 11907 type NoMethod GoogleCloudVisionV1p4beta1SafeSearchAnnotation 11908 raw := NoMethod(*s) 11909 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11910} 11911 11912// GoogleCloudVisionV1p4beta1Symbol: A single symbol representation. 11913type GoogleCloudVisionV1p4beta1Symbol struct { 11914 // BoundingBox: The bounding box for the symbol. 11915 // The vertices are in the order of top-left, top-right, 11916 // bottom-right, 11917 // bottom-left. When a rotation of the bounding box is detected the 11918 // rotation 11919 // is represented as around the top-left corner as defined when the text 11920 // is 11921 // read in the 'natural' orientation. 11922 // For example: 11923 // * when the text is horizontal it might look like: 11924 // 0----1 11925 // | | 11926 // 3----2 11927 // * when it's rotated 180 degrees around the top-left corner it 11928 // becomes: 11929 // 2----3 11930 // | | 11931 // 1----0 11932 // and the vertex order will still be (0, 1, 2, 3). 11933 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 11934 11935 // Confidence: Confidence of the OCR results for the symbol. Range [0, 11936 // 1]. 11937 Confidence float64 `json:"confidence,omitempty"` 11938 11939 // Property: Additional information detected for the symbol. 11940 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11941 11942 // Text: The actual UTF-8 representation of the symbol. 11943 Text string `json:"text,omitempty"` 11944 11945 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 11946 // unconditionally include in API requests. By default, fields with 11947 // empty values are omitted from API requests. However, any non-pointer, 11948 // non-interface field appearing in ForceSendFields will be sent to the 11949 // server regardless of whether the field is empty or not. This may be 11950 // used to include empty fields in Patch requests. 11951 ForceSendFields []string `json:"-"` 11952 11953 // NullFields is a list of field names (e.g. "BoundingBox") to include 11954 // in API requests with the JSON null value. By default, fields with 11955 // empty values are omitted from API requests. However, any field with 11956 // an empty value appearing in NullFields will be sent to the server as 11957 // null. It is an error if a field in this list has a non-empty value. 11958 // This may be used to include null fields in Patch requests. 11959 NullFields []string `json:"-"` 11960} 11961 11962func (s *GoogleCloudVisionV1p4beta1Symbol) MarshalJSON() ([]byte, error) { 11963 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11964 raw := NoMethod(*s) 11965 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11966} 11967 11968func (s *GoogleCloudVisionV1p4beta1Symbol) UnmarshalJSON(data []byte) error { 11969 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11970 var s1 struct { 11971 Confidence gensupport.JSONFloat64 `json:"confidence"` 11972 *NoMethod 11973 } 11974 s1.NoMethod = (*NoMethod)(s) 11975 if err := json.Unmarshal(data, &s1); err != nil { 11976 return err 11977 } 11978 s.Confidence = float64(s1.Confidence) 11979 return nil 11980} 11981 11982// GoogleCloudVisionV1p4beta1TextAnnotation: TextAnnotation contains a 11983// structured representation of OCR extracted text. 11984// The hierarchy of an OCR extracted text structure is like this: 11985// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 11986// Symbol 11987// Each structural component, starting from Page, may further have their 11988// own 11989// properties. Properties describe detected languages, breaks etc.. 11990// Please refer 11991// to the TextAnnotation.TextProperty message definition below for 11992// more 11993// detail. 11994type GoogleCloudVisionV1p4beta1TextAnnotation struct { 11995 // Pages: List of pages detected by OCR. 11996 Pages []*GoogleCloudVisionV1p4beta1Page `json:"pages,omitempty"` 11997 11998 // Text: UTF-8 text detected on the pages. 11999 Text string `json:"text,omitempty"` 12000 12001 // ForceSendFields is a list of field names (e.g. "Pages") to 12002 // unconditionally include in API requests. By default, fields with 12003 // empty values are omitted from API requests. However, any non-pointer, 12004 // non-interface field appearing in ForceSendFields will be sent to the 12005 // server regardless of whether the field is empty or not. This may be 12006 // used to include empty fields in Patch requests. 12007 ForceSendFields []string `json:"-"` 12008 12009 // NullFields is a list of field names (e.g. "Pages") to include in API 12010 // requests with the JSON null value. By default, fields with empty 12011 // values are omitted from API requests. However, any field with an 12012 // empty value appearing in NullFields will be sent to the server as 12013 // null. It is an error if a field in this list has a non-empty value. 12014 // This may be used to include null fields in Patch requests. 12015 NullFields []string `json:"-"` 12016} 12017 12018func (s *GoogleCloudVisionV1p4beta1TextAnnotation) MarshalJSON() ([]byte, error) { 12019 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotation 12020 raw := NoMethod(*s) 12021 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12022} 12023 12024// GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak: Detected start 12025// or end of a structural component. 12026type GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak struct { 12027 // IsPrefix: True if break prepends the element. 12028 IsPrefix bool `json:"isPrefix,omitempty"` 12029 12030 // Type: Detected break type. 12031 // 12032 // Possible values: 12033 // "UNKNOWN" - Unknown break label type. 12034 // "SPACE" - Regular space. 12035 // "SURE_SPACE" - Sure space (very wide). 12036 // "EOL_SURE_SPACE" - Line-wrapping break. 12037 // "HYPHEN" - End-line hyphen that is not present in text; does not 12038 // co-occur with 12039 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 12040 // "LINE_BREAK" - Line break that ends a paragraph. 12041 Type string `json:"type,omitempty"` 12042 12043 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 12044 // unconditionally include in API requests. By default, fields with 12045 // empty values are omitted from API requests. However, any non-pointer, 12046 // non-interface field appearing in ForceSendFields will be sent to the 12047 // server regardless of whether the field is empty or not. This may be 12048 // used to include empty fields in Patch requests. 12049 ForceSendFields []string `json:"-"` 12050 12051 // NullFields is a list of field names (e.g. "IsPrefix") to include in 12052 // API requests with the JSON null value. By default, fields with empty 12053 // values are omitted from API requests. However, any field with an 12054 // empty value appearing in NullFields will be sent to the server as 12055 // null. It is an error if a field in this list has a non-empty value. 12056 // This may be used to include null fields in Patch requests. 12057 NullFields []string `json:"-"` 12058} 12059 12060func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 12061 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak 12062 raw := NoMethod(*s) 12063 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12064} 12065 12066// GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage: Detected 12067// language for a structural component. 12068type GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage struct { 12069 // Confidence: Confidence of detected language. Range [0, 1]. 12070 Confidence float64 `json:"confidence,omitempty"` 12071 12072 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 12073 // For more 12074 // information, 12075 // see 12076 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 12077 LanguageCode string `json:"languageCode,omitempty"` 12078 12079 // ForceSendFields is a list of field names (e.g. "Confidence") to 12080 // unconditionally include in API requests. By default, fields with 12081 // empty values are omitted from API requests. However, any non-pointer, 12082 // non-interface field appearing in ForceSendFields will be sent to the 12083 // server regardless of whether the field is empty or not. This may be 12084 // used to include empty fields in Patch requests. 12085 ForceSendFields []string `json:"-"` 12086 12087 // NullFields is a list of field names (e.g. "Confidence") to include in 12088 // API requests with the JSON null value. By default, fields with empty 12089 // values are omitted from API requests. However, any field with an 12090 // empty value appearing in NullFields will be sent to the server as 12091 // null. It is an error if a field in this list has a non-empty value. 12092 // This may be used to include null fields in Patch requests. 12093 NullFields []string `json:"-"` 12094} 12095 12096func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 12097 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 12098 raw := NoMethod(*s) 12099 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12100} 12101 12102func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 12103 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 12104 var s1 struct { 12105 Confidence gensupport.JSONFloat64 `json:"confidence"` 12106 *NoMethod 12107 } 12108 s1.NoMethod = (*NoMethod)(s) 12109 if err := json.Unmarshal(data, &s1); err != nil { 12110 return err 12111 } 12112 s.Confidence = float64(s1.Confidence) 12113 return nil 12114} 12115 12116// GoogleCloudVisionV1p4beta1TextAnnotationTextProperty: Additional 12117// information detected on the structural component. 12118type GoogleCloudVisionV1p4beta1TextAnnotationTextProperty struct { 12119 // DetectedBreak: Detected start or end of a text segment. 12120 DetectedBreak *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 12121 12122 // DetectedLanguages: A list of detected languages together with 12123 // confidence. 12124 DetectedLanguages []*GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 12125 12126 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 12127 // unconditionally include in API requests. By default, fields with 12128 // empty values are omitted from API requests. However, any non-pointer, 12129 // non-interface field appearing in ForceSendFields will be sent to the 12130 // server regardless of whether the field is empty or not. This may be 12131 // used to include empty fields in Patch requests. 12132 ForceSendFields []string `json:"-"` 12133 12134 // NullFields is a list of field names (e.g. "DetectedBreak") to include 12135 // in API requests with the JSON null value. By default, fields with 12136 // empty values are omitted from API requests. However, any field with 12137 // an empty value appearing in NullFields will be sent to the server as 12138 // null. It is an error if a field in this list has a non-empty value. 12139 // This may be used to include null fields in Patch requests. 12140 NullFields []string `json:"-"` 12141} 12142 12143func (s *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 12144 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationTextProperty 12145 raw := NoMethod(*s) 12146 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12147} 12148 12149// GoogleCloudVisionV1p4beta1Vertex: A vertex represents a 2D point in 12150// the image. 12151// NOTE: the vertex coordinates are in the same scale as the original 12152// image. 12153type GoogleCloudVisionV1p4beta1Vertex struct { 12154 // X: X coordinate. 12155 X int64 `json:"x,omitempty"` 12156 12157 // Y: Y coordinate. 12158 Y int64 `json:"y,omitempty"` 12159 12160 // ForceSendFields is a list of field names (e.g. "X") to 12161 // unconditionally include in API requests. By default, fields with 12162 // empty values are omitted from API requests. However, any non-pointer, 12163 // non-interface field appearing in ForceSendFields will be sent to the 12164 // server regardless of whether the field is empty or not. This may be 12165 // used to include empty fields in Patch requests. 12166 ForceSendFields []string `json:"-"` 12167 12168 // NullFields is a list of field names (e.g. "X") to include in API 12169 // requests with the JSON null value. By default, fields with empty 12170 // values are omitted from API requests. However, any field with an 12171 // empty value appearing in NullFields will be sent to the server as 12172 // null. It is an error if a field in this list has a non-empty value. 12173 // This may be used to include null fields in Patch requests. 12174 NullFields []string `json:"-"` 12175} 12176 12177func (s *GoogleCloudVisionV1p4beta1Vertex) MarshalJSON() ([]byte, error) { 12178 type NoMethod GoogleCloudVisionV1p4beta1Vertex 12179 raw := NoMethod(*s) 12180 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12181} 12182 12183// GoogleCloudVisionV1p4beta1WebDetection: Relevant information for the 12184// image from the Internet. 12185type GoogleCloudVisionV1p4beta1WebDetection struct { 12186 // BestGuessLabels: The service's best guess as to the topic of the 12187 // request image. 12188 // Inferred from similar images on the open web. 12189 BestGuessLabels []*GoogleCloudVisionV1p4beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 12190 12191 // FullMatchingImages: Fully matching images from the Internet. 12192 // Can include resized copies of the query image. 12193 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 12194 12195 // PagesWithMatchingImages: Web pages containing the matching images 12196 // from the Internet. 12197 PagesWithMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 12198 12199 // PartialMatchingImages: Partial matching images from the 12200 // Internet. 12201 // Those images are similar enough to share some key-point features. 12202 // For 12203 // example an original image will likely have partial matching for its 12204 // crops. 12205 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 12206 12207 // VisuallySimilarImages: The visually similar image results. 12208 VisuallySimilarImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 12209 12210 // WebEntities: Deduced entities from similar images on the Internet. 12211 WebEntities []*GoogleCloudVisionV1p4beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 12212 12213 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 12214 // unconditionally include in API requests. By default, fields with 12215 // empty values are omitted from API requests. However, any non-pointer, 12216 // non-interface field appearing in ForceSendFields will be sent to the 12217 // server regardless of whether the field is empty or not. This may be 12218 // used to include empty fields in Patch requests. 12219 ForceSendFields []string `json:"-"` 12220 12221 // NullFields is a list of field names (e.g. "BestGuessLabels") to 12222 // include in API requests with the JSON null value. By default, fields 12223 // with empty values are omitted from API requests. However, any field 12224 // with an empty value appearing in NullFields will be sent to the 12225 // server as null. It is an error if a field in this list has a 12226 // non-empty value. This may be used to include null fields in Patch 12227 // requests. 12228 NullFields []string `json:"-"` 12229} 12230 12231func (s *GoogleCloudVisionV1p4beta1WebDetection) MarshalJSON() ([]byte, error) { 12232 type NoMethod GoogleCloudVisionV1p4beta1WebDetection 12233 raw := NoMethod(*s) 12234 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12235} 12236 12237// GoogleCloudVisionV1p4beta1WebDetectionWebEntity: Entity deduced from 12238// similar images on the Internet. 12239type GoogleCloudVisionV1p4beta1WebDetectionWebEntity struct { 12240 // Description: Canonical description of the entity, in English. 12241 Description string `json:"description,omitempty"` 12242 12243 // EntityId: Opaque entity ID. 12244 EntityId string `json:"entityId,omitempty"` 12245 12246 // Score: Overall relevancy score for the entity. 12247 // Not normalized and not comparable across different image queries. 12248 Score float64 `json:"score,omitempty"` 12249 12250 // ForceSendFields is a list of field names (e.g. "Description") to 12251 // unconditionally include in API requests. By default, fields with 12252 // empty values are omitted from API requests. However, any non-pointer, 12253 // non-interface field appearing in ForceSendFields will be sent to the 12254 // server regardless of whether the field is empty or not. This may be 12255 // used to include empty fields in Patch requests. 12256 ForceSendFields []string `json:"-"` 12257 12258 // NullFields is a list of field names (e.g. "Description") to include 12259 // in API requests with the JSON null value. By default, fields with 12260 // empty values are omitted from API requests. However, any field with 12261 // an empty value appearing in NullFields will be sent to the server as 12262 // null. It is an error if a field in this list has a non-empty value. 12263 // This may be used to include null fields in Patch requests. 12264 NullFields []string `json:"-"` 12265} 12266 12267func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 12268 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 12269 raw := NoMethod(*s) 12270 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12271} 12272 12273func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 12274 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 12275 var s1 struct { 12276 Score gensupport.JSONFloat64 `json:"score"` 12277 *NoMethod 12278 } 12279 s1.NoMethod = (*NoMethod)(s) 12280 if err := json.Unmarshal(data, &s1); err != nil { 12281 return err 12282 } 12283 s.Score = float64(s1.Score) 12284 return nil 12285} 12286 12287// GoogleCloudVisionV1p4beta1WebDetectionWebImage: Metadata for online 12288// images. 12289type GoogleCloudVisionV1p4beta1WebDetectionWebImage struct { 12290 // Score: (Deprecated) Overall relevancy score for the image. 12291 Score float64 `json:"score,omitempty"` 12292 12293 // Url: The result image URL. 12294 Url string `json:"url,omitempty"` 12295 12296 // ForceSendFields is a list of field names (e.g. "Score") to 12297 // unconditionally include in API requests. By default, fields with 12298 // empty values are omitted from API requests. However, any non-pointer, 12299 // non-interface field appearing in ForceSendFields will be sent to the 12300 // server regardless of whether the field is empty or not. This may be 12301 // used to include empty fields in Patch requests. 12302 ForceSendFields []string `json:"-"` 12303 12304 // NullFields is a list of field names (e.g. "Score") to include in API 12305 // requests with the JSON null value. By default, fields with empty 12306 // values are omitted from API requests. However, any field with an 12307 // empty value appearing in NullFields will be sent to the server as 12308 // null. It is an error if a field in this list has a non-empty value. 12309 // This may be used to include null fields in Patch requests. 12310 NullFields []string `json:"-"` 12311} 12312 12313func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 12314 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 12315 raw := NoMethod(*s) 12316 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12317} 12318 12319func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 12320 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 12321 var s1 struct { 12322 Score gensupport.JSONFloat64 `json:"score"` 12323 *NoMethod 12324 } 12325 s1.NoMethod = (*NoMethod)(s) 12326 if err := json.Unmarshal(data, &s1); err != nil { 12327 return err 12328 } 12329 s.Score = float64(s1.Score) 12330 return nil 12331} 12332 12333// GoogleCloudVisionV1p4beta1WebDetectionWebLabel: Label to provide 12334// extra metadata for the web detection. 12335type GoogleCloudVisionV1p4beta1WebDetectionWebLabel struct { 12336 // Label: Label for extra metadata. 12337 Label string `json:"label,omitempty"` 12338 12339 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 12340 // or "sr-Latn". 12341 // For more information, 12342 // see 12343 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 12344 LanguageCode string `json:"languageCode,omitempty"` 12345 12346 // ForceSendFields is a list of field names (e.g. "Label") to 12347 // unconditionally include in API requests. By default, fields with 12348 // empty values are omitted from API requests. However, any non-pointer, 12349 // non-interface field appearing in ForceSendFields will be sent to the 12350 // server regardless of whether the field is empty or not. This may be 12351 // used to include empty fields in Patch requests. 12352 ForceSendFields []string `json:"-"` 12353 12354 // NullFields is a list of field names (e.g. "Label") to include in API 12355 // requests with the JSON null value. By default, fields with empty 12356 // values are omitted from API requests. However, any field with an 12357 // empty value appearing in NullFields will be sent to the server as 12358 // null. It is an error if a field in this list has a non-empty value. 12359 // This may be used to include null fields in Patch requests. 12360 NullFields []string `json:"-"` 12361} 12362 12363func (s *GoogleCloudVisionV1p4beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 12364 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebLabel 12365 raw := NoMethod(*s) 12366 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12367} 12368 12369// GoogleCloudVisionV1p4beta1WebDetectionWebPage: Metadata for web 12370// pages. 12371type GoogleCloudVisionV1p4beta1WebDetectionWebPage struct { 12372 // FullMatchingImages: Fully matching images on the page. 12373 // Can include resized copies of the query image. 12374 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 12375 12376 // PageTitle: Title for the web page, may contain HTML markups. 12377 PageTitle string `json:"pageTitle,omitempty"` 12378 12379 // PartialMatchingImages: Partial matching images on the page. 12380 // Those images are similar enough to share some key-point features. 12381 // For 12382 // example an original image will likely have partial matching for 12383 // its 12384 // crops. 12385 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 12386 12387 // Score: (Deprecated) Overall relevancy score for the web page. 12388 Score float64 `json:"score,omitempty"` 12389 12390 // Url: The result web page URL. 12391 Url string `json:"url,omitempty"` 12392 12393 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 12394 // to unconditionally include in API requests. By default, fields with 12395 // empty values are omitted from API requests. However, any non-pointer, 12396 // non-interface field appearing in ForceSendFields will be sent to the 12397 // server regardless of whether the field is empty or not. This may be 12398 // used to include empty fields in Patch requests. 12399 ForceSendFields []string `json:"-"` 12400 12401 // NullFields is a list of field names (e.g. "FullMatchingImages") to 12402 // include in API requests with the JSON null value. By default, fields 12403 // with empty values are omitted from API requests. However, any field 12404 // with an empty value appearing in NullFields will be sent to the 12405 // server as null. It is an error if a field in this list has a 12406 // non-empty value. This may be used to include null fields in Patch 12407 // requests. 12408 NullFields []string `json:"-"` 12409} 12410 12411func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 12412 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 12413 raw := NoMethod(*s) 12414 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12415} 12416 12417func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 12418 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 12419 var s1 struct { 12420 Score gensupport.JSONFloat64 `json:"score"` 12421 *NoMethod 12422 } 12423 s1.NoMethod = (*NoMethod)(s) 12424 if err := json.Unmarshal(data, &s1); err != nil { 12425 return err 12426 } 12427 s.Score = float64(s1.Score) 12428 return nil 12429} 12430 12431// GoogleCloudVisionV1p4beta1Word: A word representation. 12432type GoogleCloudVisionV1p4beta1Word struct { 12433 // BoundingBox: The bounding box for the word. 12434 // The vertices are in the order of top-left, top-right, 12435 // bottom-right, 12436 // bottom-left. When a rotation of the bounding box is detected the 12437 // rotation 12438 // is represented as around the top-left corner as defined when the text 12439 // is 12440 // read in the 'natural' orientation. 12441 // For example: 12442 // * when the text is horizontal it might look like: 12443 // 0----1 12444 // | | 12445 // 3----2 12446 // * when it's rotated 180 degrees around the top-left corner it 12447 // becomes: 12448 // 2----3 12449 // | | 12450 // 1----0 12451 // and the vertex order will still be (0, 1, 2, 3). 12452 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 12453 12454 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 12455 Confidence float64 `json:"confidence,omitempty"` 12456 12457 // Property: Additional information detected for the word. 12458 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 12459 12460 // Symbols: List of symbols in the word. 12461 // The order of the symbols follows the natural reading order. 12462 Symbols []*GoogleCloudVisionV1p4beta1Symbol `json:"symbols,omitempty"` 12463 12464 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 12465 // unconditionally include in API requests. By default, fields with 12466 // empty values are omitted from API requests. However, any non-pointer, 12467 // non-interface field appearing in ForceSendFields will be sent to the 12468 // server regardless of whether the field is empty or not. This may be 12469 // used to include empty fields in Patch requests. 12470 ForceSendFields []string `json:"-"` 12471 12472 // NullFields is a list of field names (e.g. "BoundingBox") to include 12473 // in API requests with the JSON null value. By default, fields with 12474 // empty values are omitted from API requests. However, any field with 12475 // an empty value appearing in NullFields will be sent to the server as 12476 // null. It is an error if a field in this list has a non-empty value. 12477 // This may be used to include null fields in Patch requests. 12478 NullFields []string `json:"-"` 12479} 12480 12481func (s *GoogleCloudVisionV1p4beta1Word) MarshalJSON() ([]byte, error) { 12482 type NoMethod GoogleCloudVisionV1p4beta1Word 12483 raw := NoMethod(*s) 12484 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12485} 12486 12487func (s *GoogleCloudVisionV1p4beta1Word) UnmarshalJSON(data []byte) error { 12488 type NoMethod GoogleCloudVisionV1p4beta1Word 12489 var s1 struct { 12490 Confidence gensupport.JSONFloat64 `json:"confidence"` 12491 *NoMethod 12492 } 12493 s1.NoMethod = (*NoMethod)(s) 12494 if err := json.Unmarshal(data, &s1); err != nil { 12495 return err 12496 } 12497 s.Confidence = float64(s1.Confidence) 12498 return nil 12499} 12500 12501// GroupedResult: Information about the products similar to a single 12502// product in a query 12503// image. 12504type GroupedResult struct { 12505 // BoundingPoly: The bounding polygon around the product detected in the 12506 // query image. 12507 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 12508 12509 // ObjectAnnotations: List of generic predictions for the object in the 12510 // bounding box. 12511 ObjectAnnotations []*ObjectAnnotation `json:"objectAnnotations,omitempty"` 12512 12513 // Results: List of results, one for each product match. 12514 Results []*Result `json:"results,omitempty"` 12515 12516 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 12517 // unconditionally include in API requests. By default, fields with 12518 // empty values are omitted from API requests. However, any non-pointer, 12519 // non-interface field appearing in ForceSendFields will be sent to the 12520 // server regardless of whether the field is empty or not. This may be 12521 // used to include empty fields in Patch requests. 12522 ForceSendFields []string `json:"-"` 12523 12524 // NullFields is a list of field names (e.g. "BoundingPoly") to include 12525 // in API requests with the JSON null value. By default, fields with 12526 // empty values are omitted from API requests. However, any field with 12527 // an empty value appearing in NullFields will be sent to the server as 12528 // null. It is an error if a field in this list has a non-empty value. 12529 // This may be used to include null fields in Patch requests. 12530 NullFields []string `json:"-"` 12531} 12532 12533func (s *GroupedResult) MarshalJSON() ([]byte, error) { 12534 type NoMethod GroupedResult 12535 raw := NoMethod(*s) 12536 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12537} 12538 12539// Image: Client image to perform Google Cloud Vision API tasks over. 12540type Image struct { 12541 // Content: Image content, represented as a stream of bytes. 12542 // Note: As with all `bytes` fields, protobuffers use a pure 12543 // binary 12544 // representation, whereas JSON representations use base64. 12545 Content string `json:"content,omitempty"` 12546 12547 // Source: Google Cloud Storage image location, or publicly-accessible 12548 // image 12549 // URL. If both `content` and `source` are provided for an image, 12550 // `content` 12551 // takes precedence and is used to perform the image annotation request. 12552 Source *ImageSource `json:"source,omitempty"` 12553 12554 // ForceSendFields is a list of field names (e.g. "Content") to 12555 // unconditionally include in API requests. By default, fields with 12556 // empty values are omitted from API requests. However, any non-pointer, 12557 // non-interface field appearing in ForceSendFields will be sent to the 12558 // server regardless of whether the field is empty or not. This may be 12559 // used to include empty fields in Patch requests. 12560 ForceSendFields []string `json:"-"` 12561 12562 // NullFields is a list of field names (e.g. "Content") to include in 12563 // API requests with the JSON null value. By default, fields with empty 12564 // values are omitted from API requests. However, any field with an 12565 // empty value appearing in NullFields will be sent to the server as 12566 // null. It is an error if a field in this list has a non-empty value. 12567 // This may be used to include null fields in Patch requests. 12568 NullFields []string `json:"-"` 12569} 12570 12571func (s *Image) MarshalJSON() ([]byte, error) { 12572 type NoMethod Image 12573 raw := NoMethod(*s) 12574 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12575} 12576 12577// ImageAnnotationContext: If an image was produced from a file (e.g. a 12578// PDF), this message gives 12579// information about the source of that image. 12580type ImageAnnotationContext struct { 12581 // PageNumber: If the file was a PDF or TIFF, this field gives the page 12582 // number within 12583 // the file used to produce the image. 12584 PageNumber int64 `json:"pageNumber,omitempty"` 12585 12586 // Uri: The URI of the file used to produce the image. 12587 Uri string `json:"uri,omitempty"` 12588 12589 // ForceSendFields is a list of field names (e.g. "PageNumber") to 12590 // unconditionally include in API requests. By default, fields with 12591 // empty values are omitted from API requests. However, any non-pointer, 12592 // non-interface field appearing in ForceSendFields will be sent to the 12593 // server regardless of whether the field is empty or not. This may be 12594 // used to include empty fields in Patch requests. 12595 ForceSendFields []string `json:"-"` 12596 12597 // NullFields is a list of field names (e.g. "PageNumber") to include in 12598 // API requests with the JSON null value. By default, fields with empty 12599 // values are omitted from API requests. However, any field with an 12600 // empty value appearing in NullFields will be sent to the server as 12601 // null. It is an error if a field in this list has a non-empty value. 12602 // This may be used to include null fields in Patch requests. 12603 NullFields []string `json:"-"` 12604} 12605 12606func (s *ImageAnnotationContext) MarshalJSON() ([]byte, error) { 12607 type NoMethod ImageAnnotationContext 12608 raw := NoMethod(*s) 12609 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12610} 12611 12612// ImageContext: Image context and/or feature-specific parameters. 12613type ImageContext struct { 12614 // CropHintsParams: Parameters for crop hints annotation request. 12615 CropHintsParams *CropHintsParams `json:"cropHintsParams,omitempty"` 12616 12617 // LanguageHints: List of languages to use for TEXT_DETECTION. In most 12618 // cases, an empty value 12619 // yields the best results since it enables automatic language 12620 // detection. For 12621 // languages based on the Latin alphabet, setting `language_hints` is 12622 // not 12623 // needed. In rare cases, when the language of the text in the image is 12624 // known, 12625 // setting a hint will help get better results (although it will be 12626 // a 12627 // significant hindrance if the hint is wrong). Text detection returns 12628 // an 12629 // error if one or more of the specified languages is not one of 12630 // the 12631 // [supported 12632 // languages](https://cloud.google.com/vision/docs/languages). 12633 LanguageHints []string `json:"languageHints,omitempty"` 12634 12635 // LatLongRect: Not used. 12636 LatLongRect *LatLongRect `json:"latLongRect,omitempty"` 12637 12638 // ProductSearchParams: Parameters for product search. 12639 ProductSearchParams *ProductSearchParams `json:"productSearchParams,omitempty"` 12640 12641 // WebDetectionParams: Parameters for web detection. 12642 WebDetectionParams *WebDetectionParams `json:"webDetectionParams,omitempty"` 12643 12644 // ForceSendFields is a list of field names (e.g. "CropHintsParams") to 12645 // unconditionally include in API requests. By default, fields with 12646 // empty values are omitted from API requests. However, any non-pointer, 12647 // non-interface field appearing in ForceSendFields will be sent to the 12648 // server regardless of whether the field is empty or not. This may be 12649 // used to include empty fields in Patch requests. 12650 ForceSendFields []string `json:"-"` 12651 12652 // NullFields is a list of field names (e.g. "CropHintsParams") to 12653 // include in API requests with the JSON null value. By default, fields 12654 // with empty values are omitted from API requests. However, any field 12655 // with an empty value appearing in NullFields will be sent to the 12656 // server as null. It is an error if a field in this list has a 12657 // non-empty value. This may be used to include null fields in Patch 12658 // requests. 12659 NullFields []string `json:"-"` 12660} 12661 12662func (s *ImageContext) MarshalJSON() ([]byte, error) { 12663 type NoMethod ImageContext 12664 raw := NoMethod(*s) 12665 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12666} 12667 12668// ImageProperties: Stores image properties, such as dominant colors. 12669type ImageProperties struct { 12670 // DominantColors: If present, dominant colors completed successfully. 12671 DominantColors *DominantColorsAnnotation `json:"dominantColors,omitempty"` 12672 12673 // ForceSendFields is a list of field names (e.g. "DominantColors") to 12674 // unconditionally include in API requests. By default, fields with 12675 // empty values are omitted from API requests. However, any non-pointer, 12676 // non-interface field appearing in ForceSendFields will be sent to the 12677 // server regardless of whether the field is empty or not. This may be 12678 // used to include empty fields in Patch requests. 12679 ForceSendFields []string `json:"-"` 12680 12681 // NullFields is a list of field names (e.g. "DominantColors") to 12682 // include in API requests with the JSON null value. By default, fields 12683 // with empty values are omitted from API requests. However, any field 12684 // with an empty value appearing in NullFields will be sent to the 12685 // server as null. It is an error if a field in this list has a 12686 // non-empty value. This may be used to include null fields in Patch 12687 // requests. 12688 NullFields []string `json:"-"` 12689} 12690 12691func (s *ImageProperties) MarshalJSON() ([]byte, error) { 12692 type NoMethod ImageProperties 12693 raw := NoMethod(*s) 12694 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12695} 12696 12697// ImageSource: External image source (Google Cloud Storage or web URL 12698// image location). 12699type ImageSource struct { 12700 // GcsImageUri: **Use `image_uri` instead.** 12701 // 12702 // The Google Cloud Storage URI of the 12703 // form 12704 // `gs://bucket_name/object_name`. Object versioning is not supported. 12705 // See 12706 // [Google Cloud Storage 12707 // Request 12708 // URIs](https://cloud.google.com/storage/docs/reference-uris) for more 12709 // info. 12710 GcsImageUri string `json:"gcsImageUri,omitempty"` 12711 12712 // ImageUri: The URI of the source image. Can be either: 12713 // 12714 // 1. A Google Cloud Storage URI of the form 12715 // `gs://bucket_name/object_name`. Object versioning is not 12716 // supported. See 12717 // [Google Cloud Storage Request 12718 // URIs](https://cloud.google.com/storage/docs/reference-uris) for 12719 // more 12720 // info. 12721 // 12722 // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images 12723 // from 12724 // HTTP/HTTPS URLs, Google cannot guarantee that the request will be 12725 // completed. Your request may fail if the specified host denies the 12726 // request (e.g. due to request throttling or DOS prevention), or if 12727 // Google 12728 // throttles requests to the site for abuse prevention. You should 12729 // not 12730 // depend on externally-hosted images for production 12731 // applications. 12732 // 12733 // When both `gcs_image_uri` and `image_uri` are specified, `image_uri` 12734 // takes 12735 // precedence. 12736 ImageUri string `json:"imageUri,omitempty"` 12737 12738 // ForceSendFields is a list of field names (e.g. "GcsImageUri") to 12739 // unconditionally include in API requests. By default, fields with 12740 // empty values are omitted from API requests. However, any non-pointer, 12741 // non-interface field appearing in ForceSendFields will be sent to the 12742 // server regardless of whether the field is empty or not. This may be 12743 // used to include empty fields in Patch requests. 12744 ForceSendFields []string `json:"-"` 12745 12746 // NullFields is a list of field names (e.g. "GcsImageUri") to include 12747 // in API requests with the JSON null value. By default, fields with 12748 // empty values are omitted from API requests. However, any field with 12749 // an empty value appearing in NullFields will be sent to the server as 12750 // null. It is an error if a field in this list has a non-empty value. 12751 // This may be used to include null fields in Patch requests. 12752 NullFields []string `json:"-"` 12753} 12754 12755func (s *ImageSource) MarshalJSON() ([]byte, error) { 12756 type NoMethod ImageSource 12757 raw := NoMethod(*s) 12758 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12759} 12760 12761// ImportProductSetsGcsSource: The Google Cloud Storage location for a 12762// csv file which preserves a list of 12763// ImportProductSetRequests in each line. 12764type ImportProductSetsGcsSource struct { 12765 // CsvFileUri: The Google Cloud Storage URI of the input csv file. 12766 // 12767 // The URI must start with `gs://`. 12768 // 12769 // The format of the input csv file should be one image per line. 12770 // In each line, there are 8 columns. 12771 // 12772 // 1. image-uri 12773 // 2. image-id 12774 // 3. product-set-id 12775 // 4. product-id 12776 // 5. product-category 12777 // 6. product-display-name 12778 // 7. labels 12779 // 8. bounding-poly 12780 // 12781 // The `image-uri`, `product-set-id`, `product-id`, and 12782 // `product-category` 12783 // columns are required. All other columns are optional. 12784 // 12785 // If the `ProductSet` or `Product` specified by the `product-set-id` 12786 // and 12787 // `product-id` values does not exist, then the system will create a 12788 // new 12789 // `ProductSet` or `Product` for the image. In this case, 12790 // the 12791 // `product-display-name` column refers to 12792 // display_name, the 12793 // `product-category` column refers to 12794 // product_category, and the 12795 // `labels` column refers to product_labels. 12796 // 12797 // The `image-id` column is optional but must be unique if provided. If 12798 // it is 12799 // empty, the system will automatically assign a unique id to the 12800 // image. 12801 // 12802 // The `product-display-name` column is optional. If it is empty, the 12803 // system 12804 // sets the display_name field for the product to a 12805 // space (" "). You can update the `display_name` later by using the 12806 // API. 12807 // 12808 // If a `Product` with the specified `product-id` already exists, then 12809 // the 12810 // system ignores the `product-display-name`, `product-category`, and 12811 // `labels` 12812 // columns. 12813 // 12814 // The `labels` column (optional) is a line containing a list 12815 // of 12816 // comma-separated key-value pairs, in the following format: 12817 // 12818 // "key_1=value_1,key_2=value_2,...,key_n=value_n" 12819 // 12820 // The `bounding-poly` column (optional) identifies one region 12821 // of 12822 // interest from the image in the same manner as `CreateReferenceImage`. 12823 // If 12824 // you do not specify the `bounding-poly` column, then the system will 12825 // try to 12826 // detect regions of interest automatically. 12827 // 12828 // At most one `bounding-poly` column is allowed per line. If the 12829 // image 12830 // contains multiple regions of interest, add a line to the CSV file 12831 // that 12832 // includes the same product information, and the `bounding-poly` values 12833 // for 12834 // each region of interest. 12835 // 12836 // The `bounding-poly` column must contain an even number of 12837 // comma-separated 12838 // numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". 12839 // Use 12840 // non-negative integers for absolute bounding polygons, and float 12841 // values 12842 // in [0, 1] for normalized bounding polygons. 12843 // 12844 // The system will resize the image if the image resolution is too 12845 // large to process (larger than 20MP). 12846 CsvFileUri string `json:"csvFileUri,omitempty"` 12847 12848 // ForceSendFields is a list of field names (e.g. "CsvFileUri") to 12849 // unconditionally include in API requests. By default, fields with 12850 // empty values are omitted from API requests. However, any non-pointer, 12851 // non-interface field appearing in ForceSendFields will be sent to the 12852 // server regardless of whether the field is empty or not. This may be 12853 // used to include empty fields in Patch requests. 12854 ForceSendFields []string `json:"-"` 12855 12856 // NullFields is a list of field names (e.g. "CsvFileUri") to include in 12857 // API requests with the JSON null value. By default, fields with empty 12858 // values are omitted from API requests. However, any field with an 12859 // empty value appearing in NullFields will be sent to the server as 12860 // null. It is an error if a field in this list has a non-empty value. 12861 // This may be used to include null fields in Patch requests. 12862 NullFields []string `json:"-"` 12863} 12864 12865func (s *ImportProductSetsGcsSource) MarshalJSON() ([]byte, error) { 12866 type NoMethod ImportProductSetsGcsSource 12867 raw := NoMethod(*s) 12868 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12869} 12870 12871// ImportProductSetsInputConfig: The input content for the 12872// `ImportProductSets` method. 12873type ImportProductSetsInputConfig struct { 12874 // GcsSource: The Google Cloud Storage location for a csv file which 12875 // preserves a list 12876 // of ImportProductSetRequests in each line. 12877 GcsSource *ImportProductSetsGcsSource `json:"gcsSource,omitempty"` 12878 12879 // ForceSendFields is a list of field names (e.g. "GcsSource") to 12880 // unconditionally include in API requests. By default, fields with 12881 // empty values are omitted from API requests. However, any non-pointer, 12882 // non-interface field appearing in ForceSendFields will be sent to the 12883 // server regardless of whether the field is empty or not. This may be 12884 // used to include empty fields in Patch requests. 12885 ForceSendFields []string `json:"-"` 12886 12887 // NullFields is a list of field names (e.g. "GcsSource") to include in 12888 // API requests with the JSON null value. By default, fields with empty 12889 // values are omitted from API requests. However, any field with an 12890 // empty value appearing in NullFields will be sent to the server as 12891 // null. It is an error if a field in this list has a non-empty value. 12892 // This may be used to include null fields in Patch requests. 12893 NullFields []string `json:"-"` 12894} 12895 12896func (s *ImportProductSetsInputConfig) MarshalJSON() ([]byte, error) { 12897 type NoMethod ImportProductSetsInputConfig 12898 raw := NoMethod(*s) 12899 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12900} 12901 12902// ImportProductSetsRequest: Request message for the `ImportProductSets` 12903// method. 12904type ImportProductSetsRequest struct { 12905 // InputConfig: Required. The input content for the list of requests. 12906 InputConfig *ImportProductSetsInputConfig `json:"inputConfig,omitempty"` 12907 12908 // ForceSendFields is a list of field names (e.g. "InputConfig") to 12909 // unconditionally include in API requests. By default, fields with 12910 // empty values are omitted from API requests. However, any non-pointer, 12911 // non-interface field appearing in ForceSendFields will be sent to the 12912 // server regardless of whether the field is empty or not. This may be 12913 // used to include empty fields in Patch requests. 12914 ForceSendFields []string `json:"-"` 12915 12916 // NullFields is a list of field names (e.g. "InputConfig") to include 12917 // in API requests with the JSON null value. By default, fields with 12918 // empty values are omitted from API requests. However, any field with 12919 // an empty value appearing in NullFields will be sent to the server as 12920 // null. It is an error if a field in this list has a non-empty value. 12921 // This may be used to include null fields in Patch requests. 12922 NullFields []string `json:"-"` 12923} 12924 12925func (s *ImportProductSetsRequest) MarshalJSON() ([]byte, error) { 12926 type NoMethod ImportProductSetsRequest 12927 raw := NoMethod(*s) 12928 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12929} 12930 12931// ImportProductSetsResponse: Response message for the 12932// `ImportProductSets` method. 12933// 12934// This message is returned by 12935// the 12936// google.longrunning.Operations.GetOperation method in the 12937// returned 12938// google.longrunning.Operation.response field. 12939type ImportProductSetsResponse struct { 12940 // ReferenceImages: The list of reference_images that are imported 12941 // successfully. 12942 ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"` 12943 12944 // Statuses: The rpc status for each ImportProductSet request, including 12945 // both successes 12946 // and errors. 12947 // 12948 // The number of statuses here matches the number of lines in the csv 12949 // file, 12950 // and statuses[i] stores the success or failure status of processing 12951 // the i-th 12952 // line of the csv, starting from line 0. 12953 Statuses []*Status `json:"statuses,omitempty"` 12954 12955 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 12956 // unconditionally include in API requests. By default, fields with 12957 // empty values are omitted from API requests. However, any non-pointer, 12958 // non-interface field appearing in ForceSendFields will be sent to the 12959 // server regardless of whether the field is empty or not. This may be 12960 // used to include empty fields in Patch requests. 12961 ForceSendFields []string `json:"-"` 12962 12963 // NullFields is a list of field names (e.g. "ReferenceImages") to 12964 // include in API requests with the JSON null value. By default, fields 12965 // with empty values are omitted from API requests. However, any field 12966 // with an empty value appearing in NullFields will be sent to the 12967 // server as null. It is an error if a field in this list has a 12968 // non-empty value. This may be used to include null fields in Patch 12969 // requests. 12970 NullFields []string `json:"-"` 12971} 12972 12973func (s *ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 12974 type NoMethod ImportProductSetsResponse 12975 raw := NoMethod(*s) 12976 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12977} 12978 12979// InputConfig: The desired input location and metadata. 12980type InputConfig struct { 12981 // Content: File content, represented as a stream of bytes. 12982 // Note: As with all `bytes` fields, protobuffers use a pure 12983 // binary 12984 // representation, whereas JSON representations use base64. 12985 // 12986 // Currently, this field only works for BatchAnnotateFiles requests. It 12987 // does 12988 // not work for AsyncBatchAnnotateFiles requests. 12989 Content string `json:"content,omitempty"` 12990 12991 // GcsSource: The Google Cloud Storage location to read the input from. 12992 GcsSource *GcsSource `json:"gcsSource,omitempty"` 12993 12994 // MimeType: The type of the file. Currently only "application/pdf", 12995 // "image/tiff" and 12996 // "image/gif" are supported. Wildcards are not supported. 12997 MimeType string `json:"mimeType,omitempty"` 12998 12999 // ForceSendFields is a list of field names (e.g. "Content") to 13000 // unconditionally include in API requests. By default, fields with 13001 // empty values are omitted from API requests. However, any non-pointer, 13002 // non-interface field appearing in ForceSendFields will be sent to the 13003 // server regardless of whether the field is empty or not. This may be 13004 // used to include empty fields in Patch requests. 13005 ForceSendFields []string `json:"-"` 13006 13007 // NullFields is a list of field names (e.g. "Content") to include in 13008 // API requests with the JSON null value. By default, fields with empty 13009 // values are omitted from API requests. However, any field with an 13010 // empty value appearing in NullFields will be sent to the server as 13011 // null. It is an error if a field in this list has a non-empty value. 13012 // This may be used to include null fields in Patch requests. 13013 NullFields []string `json:"-"` 13014} 13015 13016func (s *InputConfig) MarshalJSON() ([]byte, error) { 13017 type NoMethod InputConfig 13018 raw := NoMethod(*s) 13019 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13020} 13021 13022// KeyValue: A product label represented as a key-value pair. 13023type KeyValue struct { 13024 // Key: The key of the label attached to the product. Cannot be empty 13025 // and cannot 13026 // exceed 128 bytes. 13027 Key string `json:"key,omitempty"` 13028 13029 // Value: The value of the label attached to the product. Cannot be 13030 // empty and 13031 // cannot exceed 128 bytes. 13032 Value string `json:"value,omitempty"` 13033 13034 // ForceSendFields is a list of field names (e.g. "Key") to 13035 // unconditionally include in API requests. By default, fields with 13036 // empty values are omitted from API requests. However, any non-pointer, 13037 // non-interface field appearing in ForceSendFields will be sent to the 13038 // server regardless of whether the field is empty or not. This may be 13039 // used to include empty fields in Patch requests. 13040 ForceSendFields []string `json:"-"` 13041 13042 // NullFields is a list of field names (e.g. "Key") to include in API 13043 // requests with the JSON null value. By default, fields with empty 13044 // values are omitted from API requests. However, any field with an 13045 // empty value appearing in NullFields will be sent to the server as 13046 // null. It is an error if a field in this list has a non-empty value. 13047 // This may be used to include null fields in Patch requests. 13048 NullFields []string `json:"-"` 13049} 13050 13051func (s *KeyValue) MarshalJSON() ([]byte, error) { 13052 type NoMethod KeyValue 13053 raw := NoMethod(*s) 13054 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13055} 13056 13057// Landmark: A face-specific landmark (for example, a face feature). 13058type Landmark struct { 13059 // Position: Face landmark position. 13060 Position *Position `json:"position,omitempty"` 13061 13062 // Type: Face landmark type. 13063 // 13064 // Possible values: 13065 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 13066 // filled. 13067 // "LEFT_EYE" - Left eye. 13068 // "RIGHT_EYE" - Right eye. 13069 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 13070 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 13071 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 13072 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 13073 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 13074 // "NOSE_TIP" - Nose tip. 13075 // "UPPER_LIP" - Upper lip. 13076 // "LOWER_LIP" - Lower lip. 13077 // "MOUTH_LEFT" - Mouth left. 13078 // "MOUTH_RIGHT" - Mouth right. 13079 // "MOUTH_CENTER" - Mouth center. 13080 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 13081 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 13082 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 13083 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 13084 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 13085 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 13086 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 13087 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 13088 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 13089 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 13090 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 13091 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 13092 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 13093 // "LEFT_EAR_TRAGION" - Left ear tragion. 13094 // "RIGHT_EAR_TRAGION" - Right ear tragion. 13095 // "LEFT_EYE_PUPIL" - Left eye pupil. 13096 // "RIGHT_EYE_PUPIL" - Right eye pupil. 13097 // "FOREHEAD_GLABELLA" - Forehead glabella. 13098 // "CHIN_GNATHION" - Chin gnathion. 13099 // "CHIN_LEFT_GONION" - Chin left gonion. 13100 // "CHIN_RIGHT_GONION" - Chin right gonion. 13101 Type string `json:"type,omitempty"` 13102 13103 // ForceSendFields is a list of field names (e.g. "Position") to 13104 // unconditionally include in API requests. By default, fields with 13105 // empty values are omitted from API requests. However, any non-pointer, 13106 // non-interface field appearing in ForceSendFields will be sent to the 13107 // server regardless of whether the field is empty or not. This may be 13108 // used to include empty fields in Patch requests. 13109 ForceSendFields []string `json:"-"` 13110 13111 // NullFields is a list of field names (e.g. "Position") to include in 13112 // API requests with the JSON null value. By default, fields with empty 13113 // values are omitted from API requests. However, any field with an 13114 // empty value appearing in NullFields will be sent to the server as 13115 // null. It is an error if a field in this list has a non-empty value. 13116 // This may be used to include null fields in Patch requests. 13117 NullFields []string `json:"-"` 13118} 13119 13120func (s *Landmark) MarshalJSON() ([]byte, error) { 13121 type NoMethod Landmark 13122 raw := NoMethod(*s) 13123 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13124} 13125 13126// LatLng: An object representing a latitude/longitude pair. This is 13127// expressed as a pair 13128// of doubles representing degrees latitude and degrees longitude. 13129// Unless 13130// specified otherwise, this must conform to the 13131// <a 13132// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 13133// st 13134// andard</a>. Values must be within normalized ranges. 13135type LatLng struct { 13136 // Latitude: The latitude in degrees. It must be in the range [-90.0, 13137 // +90.0]. 13138 Latitude float64 `json:"latitude,omitempty"` 13139 13140 // Longitude: The longitude in degrees. It must be in the range [-180.0, 13141 // +180.0]. 13142 Longitude float64 `json:"longitude,omitempty"` 13143 13144 // ForceSendFields is a list of field names (e.g. "Latitude") to 13145 // unconditionally include in API requests. By default, fields with 13146 // empty values are omitted from API requests. However, any non-pointer, 13147 // non-interface field appearing in ForceSendFields will be sent to the 13148 // server regardless of whether the field is empty or not. This may be 13149 // used to include empty fields in Patch requests. 13150 ForceSendFields []string `json:"-"` 13151 13152 // NullFields is a list of field names (e.g. "Latitude") to include in 13153 // API requests with the JSON null value. By default, fields with empty 13154 // values are omitted from API requests. However, any field with an 13155 // empty value appearing in NullFields will be sent to the server as 13156 // null. It is an error if a field in this list has a non-empty value. 13157 // This may be used to include null fields in Patch requests. 13158 NullFields []string `json:"-"` 13159} 13160 13161func (s *LatLng) MarshalJSON() ([]byte, error) { 13162 type NoMethod LatLng 13163 raw := NoMethod(*s) 13164 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13165} 13166 13167func (s *LatLng) UnmarshalJSON(data []byte) error { 13168 type NoMethod LatLng 13169 var s1 struct { 13170 Latitude gensupport.JSONFloat64 `json:"latitude"` 13171 Longitude gensupport.JSONFloat64 `json:"longitude"` 13172 *NoMethod 13173 } 13174 s1.NoMethod = (*NoMethod)(s) 13175 if err := json.Unmarshal(data, &s1); err != nil { 13176 return err 13177 } 13178 s.Latitude = float64(s1.Latitude) 13179 s.Longitude = float64(s1.Longitude) 13180 return nil 13181} 13182 13183// LatLongRect: Rectangle determined by min and max `LatLng` pairs. 13184type LatLongRect struct { 13185 // MaxLatLng: Max lat/long pair. 13186 MaxLatLng *LatLng `json:"maxLatLng,omitempty"` 13187 13188 // MinLatLng: Min lat/long pair. 13189 MinLatLng *LatLng `json:"minLatLng,omitempty"` 13190 13191 // ForceSendFields is a list of field names (e.g. "MaxLatLng") to 13192 // unconditionally include in API requests. By default, fields with 13193 // empty values are omitted from API requests. However, any non-pointer, 13194 // non-interface field appearing in ForceSendFields will be sent to the 13195 // server regardless of whether the field is empty or not. This may be 13196 // used to include empty fields in Patch requests. 13197 ForceSendFields []string `json:"-"` 13198 13199 // NullFields is a list of field names (e.g. "MaxLatLng") to include in 13200 // API requests with the JSON null value. By default, fields with empty 13201 // values are omitted from API requests. However, any field with an 13202 // empty value appearing in NullFields will be sent to the server as 13203 // null. It is an error if a field in this list has a non-empty value. 13204 // This may be used to include null fields in Patch requests. 13205 NullFields []string `json:"-"` 13206} 13207 13208func (s *LatLongRect) MarshalJSON() ([]byte, error) { 13209 type NoMethod LatLongRect 13210 raw := NoMethod(*s) 13211 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13212} 13213 13214// ListOperationsResponse: The response message for 13215// Operations.ListOperations. 13216type ListOperationsResponse struct { 13217 // NextPageToken: The standard List next-page token. 13218 NextPageToken string `json:"nextPageToken,omitempty"` 13219 13220 // Operations: A list of operations that matches the specified filter in 13221 // the request. 13222 Operations []*Operation `json:"operations,omitempty"` 13223 13224 // ServerResponse contains the HTTP response code and headers from the 13225 // server. 13226 googleapi.ServerResponse `json:"-"` 13227 13228 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13229 // unconditionally include in API requests. By default, fields with 13230 // empty values are omitted from API requests. However, any non-pointer, 13231 // non-interface field appearing in ForceSendFields will be sent to the 13232 // server regardless of whether the field is empty or not. This may be 13233 // used to include empty fields in Patch requests. 13234 ForceSendFields []string `json:"-"` 13235 13236 // NullFields is a list of field names (e.g. "NextPageToken") to include 13237 // in API requests with the JSON null value. By default, fields with 13238 // empty values are omitted from API requests. However, any field with 13239 // an empty value appearing in NullFields will be sent to the server as 13240 // null. It is an error if a field in this list has a non-empty value. 13241 // This may be used to include null fields in Patch requests. 13242 NullFields []string `json:"-"` 13243} 13244 13245func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { 13246 type NoMethod ListOperationsResponse 13247 raw := NoMethod(*s) 13248 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13249} 13250 13251// ListProductSetsResponse: Response message for the `ListProductSets` 13252// method. 13253type ListProductSetsResponse struct { 13254 // NextPageToken: Token to retrieve the next page of results, or empty 13255 // if there are no more 13256 // results in the list. 13257 NextPageToken string `json:"nextPageToken,omitempty"` 13258 13259 // ProductSets: List of ProductSets. 13260 ProductSets []*ProductSet `json:"productSets,omitempty"` 13261 13262 // ServerResponse contains the HTTP response code and headers from the 13263 // server. 13264 googleapi.ServerResponse `json:"-"` 13265 13266 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13267 // unconditionally include in API requests. By default, fields with 13268 // empty values are omitted from API requests. However, any non-pointer, 13269 // non-interface field appearing in ForceSendFields will be sent to the 13270 // server regardless of whether the field is empty or not. This may be 13271 // used to include empty fields in Patch requests. 13272 ForceSendFields []string `json:"-"` 13273 13274 // NullFields is a list of field names (e.g. "NextPageToken") to include 13275 // in API requests with the JSON null value. By default, fields with 13276 // empty values are omitted from API requests. However, any field with 13277 // an empty value appearing in NullFields will be sent to the server as 13278 // null. It is an error if a field in this list has a non-empty value. 13279 // This may be used to include null fields in Patch requests. 13280 NullFields []string `json:"-"` 13281} 13282 13283func (s *ListProductSetsResponse) MarshalJSON() ([]byte, error) { 13284 type NoMethod ListProductSetsResponse 13285 raw := NoMethod(*s) 13286 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13287} 13288 13289// ListProductsInProductSetResponse: Response message for the 13290// `ListProductsInProductSet` method. 13291type ListProductsInProductSetResponse struct { 13292 // NextPageToken: Token to retrieve the next page of results, or empty 13293 // if there are no more 13294 // results in the list. 13295 NextPageToken string `json:"nextPageToken,omitempty"` 13296 13297 // Products: The list of Products. 13298 Products []*Product `json:"products,omitempty"` 13299 13300 // ServerResponse contains the HTTP response code and headers from the 13301 // server. 13302 googleapi.ServerResponse `json:"-"` 13303 13304 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13305 // unconditionally include in API requests. By default, fields with 13306 // empty values are omitted from API requests. However, any non-pointer, 13307 // non-interface field appearing in ForceSendFields will be sent to the 13308 // server regardless of whether the field is empty or not. This may be 13309 // used to include empty fields in Patch requests. 13310 ForceSendFields []string `json:"-"` 13311 13312 // NullFields is a list of field names (e.g. "NextPageToken") to include 13313 // in API requests with the JSON null value. By default, fields with 13314 // empty values are omitted from API requests. However, any field with 13315 // an empty value appearing in NullFields will be sent to the server as 13316 // null. It is an error if a field in this list has a non-empty value. 13317 // This may be used to include null fields in Patch requests. 13318 NullFields []string `json:"-"` 13319} 13320 13321func (s *ListProductsInProductSetResponse) MarshalJSON() ([]byte, error) { 13322 type NoMethod ListProductsInProductSetResponse 13323 raw := NoMethod(*s) 13324 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13325} 13326 13327// ListProductsResponse: Response message for the `ListProducts` method. 13328type ListProductsResponse struct { 13329 // NextPageToken: Token to retrieve the next page of results, or empty 13330 // if there are no more 13331 // results in the list. 13332 NextPageToken string `json:"nextPageToken,omitempty"` 13333 13334 // Products: List of products. 13335 Products []*Product `json:"products,omitempty"` 13336 13337 // ServerResponse contains the HTTP response code and headers from the 13338 // server. 13339 googleapi.ServerResponse `json:"-"` 13340 13341 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13342 // unconditionally include in API requests. By default, fields with 13343 // empty values are omitted from API requests. However, any non-pointer, 13344 // non-interface field appearing in ForceSendFields will be sent to the 13345 // server regardless of whether the field is empty or not. This may be 13346 // used to include empty fields in Patch requests. 13347 ForceSendFields []string `json:"-"` 13348 13349 // NullFields is a list of field names (e.g. "NextPageToken") to include 13350 // in API requests with the JSON null value. By default, fields with 13351 // empty values are omitted from API requests. However, any field with 13352 // an empty value appearing in NullFields will be sent to the server as 13353 // null. It is an error if a field in this list has a non-empty value. 13354 // This may be used to include null fields in Patch requests. 13355 NullFields []string `json:"-"` 13356} 13357 13358func (s *ListProductsResponse) MarshalJSON() ([]byte, error) { 13359 type NoMethod ListProductsResponse 13360 raw := NoMethod(*s) 13361 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13362} 13363 13364// ListReferenceImagesResponse: Response message for the 13365// `ListReferenceImages` method. 13366type ListReferenceImagesResponse struct { 13367 // NextPageToken: The next_page_token returned from a previous List 13368 // request, if any. 13369 NextPageToken string `json:"nextPageToken,omitempty"` 13370 13371 // PageSize: The maximum number of items to return. Default 10, maximum 13372 // 100. 13373 PageSize int64 `json:"pageSize,omitempty"` 13374 13375 // ReferenceImages: The list of reference images. 13376 ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"` 13377 13378 // ServerResponse contains the HTTP response code and headers from the 13379 // server. 13380 googleapi.ServerResponse `json:"-"` 13381 13382 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 13383 // unconditionally include in API requests. By default, fields with 13384 // empty values are omitted from API requests. However, any non-pointer, 13385 // non-interface field appearing in ForceSendFields will be sent to the 13386 // server regardless of whether the field is empty or not. This may be 13387 // used to include empty fields in Patch requests. 13388 ForceSendFields []string `json:"-"` 13389 13390 // NullFields is a list of field names (e.g. "NextPageToken") to include 13391 // in API requests with the JSON null value. By default, fields with 13392 // empty values are omitted from API requests. However, any field with 13393 // an empty value appearing in NullFields will be sent to the server as 13394 // null. It is an error if a field in this list has a non-empty value. 13395 // This may be used to include null fields in Patch requests. 13396 NullFields []string `json:"-"` 13397} 13398 13399func (s *ListReferenceImagesResponse) MarshalJSON() ([]byte, error) { 13400 type NoMethod ListReferenceImagesResponse 13401 raw := NoMethod(*s) 13402 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13403} 13404 13405// LocalizedObjectAnnotation: Set of detected objects with bounding 13406// boxes. 13407type LocalizedObjectAnnotation struct { 13408 // BoundingPoly: Image region to which this object belongs. This must be 13409 // populated. 13410 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 13411 13412 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 13413 // For more 13414 // information, 13415 // see 13416 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 13417 LanguageCode string `json:"languageCode,omitempty"` 13418 13419 // Mid: Object ID that should align with EntityAnnotation mid. 13420 Mid string `json:"mid,omitempty"` 13421 13422 // Name: Object name, expressed in its `language_code` language. 13423 Name string `json:"name,omitempty"` 13424 13425 // Score: Score of the result. Range [0, 1]. 13426 Score float64 `json:"score,omitempty"` 13427 13428 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 13429 // unconditionally include in API requests. By default, fields with 13430 // empty values are omitted from API requests. However, any non-pointer, 13431 // non-interface field appearing in ForceSendFields will be sent to the 13432 // server regardless of whether the field is empty or not. This may be 13433 // used to include empty fields in Patch requests. 13434 ForceSendFields []string `json:"-"` 13435 13436 // NullFields is a list of field names (e.g. "BoundingPoly") to include 13437 // in API requests with the JSON null value. By default, fields with 13438 // empty values are omitted from API requests. However, any field with 13439 // an empty value appearing in NullFields will be sent to the server as 13440 // null. It is an error if a field in this list has a non-empty value. 13441 // This may be used to include null fields in Patch requests. 13442 NullFields []string `json:"-"` 13443} 13444 13445func (s *LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 13446 type NoMethod LocalizedObjectAnnotation 13447 raw := NoMethod(*s) 13448 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13449} 13450 13451func (s *LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 13452 type NoMethod LocalizedObjectAnnotation 13453 var s1 struct { 13454 Score gensupport.JSONFloat64 `json:"score"` 13455 *NoMethod 13456 } 13457 s1.NoMethod = (*NoMethod)(s) 13458 if err := json.Unmarshal(data, &s1); err != nil { 13459 return err 13460 } 13461 s.Score = float64(s1.Score) 13462 return nil 13463} 13464 13465// LocationInfo: Detected entity location information. 13466type LocationInfo struct { 13467 // LatLng: lat/long location coordinates. 13468 LatLng *LatLng `json:"latLng,omitempty"` 13469 13470 // ForceSendFields is a list of field names (e.g. "LatLng") to 13471 // unconditionally include in API requests. By default, fields with 13472 // empty values are omitted from API requests. However, any non-pointer, 13473 // non-interface field appearing in ForceSendFields will be sent to the 13474 // server regardless of whether the field is empty or not. This may be 13475 // used to include empty fields in Patch requests. 13476 ForceSendFields []string `json:"-"` 13477 13478 // NullFields is a list of field names (e.g. "LatLng") to include in API 13479 // requests with the JSON null value. By default, fields with empty 13480 // values are omitted from API requests. However, any field with an 13481 // empty value appearing in NullFields will be sent to the server as 13482 // null. It is an error if a field in this list has a non-empty value. 13483 // This may be used to include null fields in Patch requests. 13484 NullFields []string `json:"-"` 13485} 13486 13487func (s *LocationInfo) MarshalJSON() ([]byte, error) { 13488 type NoMethod LocationInfo 13489 raw := NoMethod(*s) 13490 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13491} 13492 13493// NormalizedVertex: A vertex represents a 2D point in the image. 13494// NOTE: the normalized vertex coordinates are relative to the original 13495// image 13496// and range from 0 to 1. 13497type NormalizedVertex struct { 13498 // X: X coordinate. 13499 X float64 `json:"x,omitempty"` 13500 13501 // Y: Y coordinate. 13502 Y float64 `json:"y,omitempty"` 13503 13504 // ForceSendFields is a list of field names (e.g. "X") to 13505 // unconditionally include in API requests. By default, fields with 13506 // empty values are omitted from API requests. However, any non-pointer, 13507 // non-interface field appearing in ForceSendFields will be sent to the 13508 // server regardless of whether the field is empty or not. This may be 13509 // used to include empty fields in Patch requests. 13510 ForceSendFields []string `json:"-"` 13511 13512 // NullFields is a list of field names (e.g. "X") to include in API 13513 // requests with the JSON null value. By default, fields with empty 13514 // values are omitted from API requests. However, any field with an 13515 // empty value appearing in NullFields will be sent to the server as 13516 // null. It is an error if a field in this list has a non-empty value. 13517 // This may be used to include null fields in Patch requests. 13518 NullFields []string `json:"-"` 13519} 13520 13521func (s *NormalizedVertex) MarshalJSON() ([]byte, error) { 13522 type NoMethod NormalizedVertex 13523 raw := NoMethod(*s) 13524 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13525} 13526 13527func (s *NormalizedVertex) UnmarshalJSON(data []byte) error { 13528 type NoMethod NormalizedVertex 13529 var s1 struct { 13530 X gensupport.JSONFloat64 `json:"x"` 13531 Y gensupport.JSONFloat64 `json:"y"` 13532 *NoMethod 13533 } 13534 s1.NoMethod = (*NoMethod)(s) 13535 if err := json.Unmarshal(data, &s1); err != nil { 13536 return err 13537 } 13538 s.X = float64(s1.X) 13539 s.Y = float64(s1.Y) 13540 return nil 13541} 13542 13543// ObjectAnnotation: Prediction for what the object in the bounding box 13544// is. 13545type ObjectAnnotation struct { 13546 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 13547 // For more 13548 // information, 13549 // see 13550 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 13551 LanguageCode string `json:"languageCode,omitempty"` 13552 13553 // Mid: Object ID that should align with EntityAnnotation mid. 13554 Mid string `json:"mid,omitempty"` 13555 13556 // Name: Object name, expressed in its `language_code` language. 13557 Name string `json:"name,omitempty"` 13558 13559 // Score: Score of the result. Range [0, 1]. 13560 Score float64 `json:"score,omitempty"` 13561 13562 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 13563 // unconditionally include in API requests. By default, fields with 13564 // empty values are omitted from API requests. However, any non-pointer, 13565 // non-interface field appearing in ForceSendFields will be sent to the 13566 // server regardless of whether the field is empty or not. This may be 13567 // used to include empty fields in Patch requests. 13568 ForceSendFields []string `json:"-"` 13569 13570 // NullFields is a list of field names (e.g. "LanguageCode") to include 13571 // in API requests with the JSON null value. By default, fields with 13572 // empty values are omitted from API requests. However, any field with 13573 // an empty value appearing in NullFields will be sent to the server as 13574 // null. It is an error if a field in this list has a non-empty value. 13575 // This may be used to include null fields in Patch requests. 13576 NullFields []string `json:"-"` 13577} 13578 13579func (s *ObjectAnnotation) MarshalJSON() ([]byte, error) { 13580 type NoMethod ObjectAnnotation 13581 raw := NoMethod(*s) 13582 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13583} 13584 13585func (s *ObjectAnnotation) UnmarshalJSON(data []byte) error { 13586 type NoMethod ObjectAnnotation 13587 var s1 struct { 13588 Score gensupport.JSONFloat64 `json:"score"` 13589 *NoMethod 13590 } 13591 s1.NoMethod = (*NoMethod)(s) 13592 if err := json.Unmarshal(data, &s1); err != nil { 13593 return err 13594 } 13595 s.Score = float64(s1.Score) 13596 return nil 13597} 13598 13599// Operation: This resource represents a long-running operation that is 13600// the result of a 13601// network API call. 13602type Operation struct { 13603 // Done: If the value is `false`, it means the operation is still in 13604 // progress. 13605 // If `true`, the operation is completed, and either `error` or 13606 // `response` is 13607 // available. 13608 Done bool `json:"done,omitempty"` 13609 13610 // Error: The error result of the operation in case of failure or 13611 // cancellation. 13612 Error *Status `json:"error,omitempty"` 13613 13614 // Metadata: Service-specific metadata associated with the operation. 13615 // It typically 13616 // contains progress information and common metadata such as create 13617 // time. 13618 // Some services might not provide such metadata. Any method that 13619 // returns a 13620 // long-running operation should document the metadata type, if any. 13621 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 13622 13623 // Name: The server-assigned name, which is only unique within the same 13624 // service that 13625 // originally returns it. If you use the default HTTP mapping, 13626 // the 13627 // `name` should be a resource name ending with 13628 // `operations/{unique_id}`. 13629 Name string `json:"name,omitempty"` 13630 13631 // Response: The normal response of the operation in case of success. 13632 // If the original 13633 // method returns no data on success, such as `Delete`, the response 13634 // is 13635 // `google.protobuf.Empty`. If the original method is 13636 // standard 13637 // `Get`/`Create`/`Update`, the response should be the resource. For 13638 // other 13639 // methods, the response should have the type `XxxResponse`, where 13640 // `Xxx` 13641 // is the original method name. For example, if the original method 13642 // name 13643 // is `TakeSnapshot()`, the inferred response type 13644 // is 13645 // `TakeSnapshotResponse`. 13646 Response googleapi.RawMessage `json:"response,omitempty"` 13647 13648 // ServerResponse contains the HTTP response code and headers from the 13649 // server. 13650 googleapi.ServerResponse `json:"-"` 13651 13652 // ForceSendFields is a list of field names (e.g. "Done") to 13653 // unconditionally include in API requests. By default, fields with 13654 // empty values are omitted from API requests. However, any non-pointer, 13655 // non-interface field appearing in ForceSendFields will be sent to the 13656 // server regardless of whether the field is empty or not. This may be 13657 // used to include empty fields in Patch requests. 13658 ForceSendFields []string `json:"-"` 13659 13660 // NullFields is a list of field names (e.g. "Done") to include in API 13661 // requests with the JSON null value. By default, fields with empty 13662 // values are omitted from API requests. However, any field with an 13663 // empty value appearing in NullFields will be sent to the server as 13664 // null. It is an error if a field in this list has a non-empty value. 13665 // This may be used to include null fields in Patch requests. 13666 NullFields []string `json:"-"` 13667} 13668 13669func (s *Operation) MarshalJSON() ([]byte, error) { 13670 type NoMethod Operation 13671 raw := NoMethod(*s) 13672 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13673} 13674 13675// OperationMetadata: Contains metadata for the BatchAnnotateImages 13676// operation. 13677type OperationMetadata struct { 13678 // CreateTime: The time when the batch request was received. 13679 CreateTime string `json:"createTime,omitempty"` 13680 13681 // State: Current state of the batch operation. 13682 // 13683 // Possible values: 13684 // "STATE_UNSPECIFIED" - Invalid. 13685 // "CREATED" - Request is received. 13686 // "RUNNING" - Request is actively being processed. 13687 // "DONE" - The batch processing is done. 13688 // "CANCELLED" - The batch processing was cancelled. 13689 State string `json:"state,omitempty"` 13690 13691 // UpdateTime: The time when the operation result was last updated. 13692 UpdateTime string `json:"updateTime,omitempty"` 13693 13694 // ForceSendFields is a list of field names (e.g. "CreateTime") to 13695 // unconditionally include in API requests. By default, fields with 13696 // empty values are omitted from API requests. However, any non-pointer, 13697 // non-interface field appearing in ForceSendFields will be sent to the 13698 // server regardless of whether the field is empty or not. This may be 13699 // used to include empty fields in Patch requests. 13700 ForceSendFields []string `json:"-"` 13701 13702 // NullFields is a list of field names (e.g. "CreateTime") to include in 13703 // API requests with the JSON null value. By default, fields with empty 13704 // values are omitted from API requests. However, any field with an 13705 // empty value appearing in NullFields will be sent to the server as 13706 // null. It is an error if a field in this list has a non-empty value. 13707 // This may be used to include null fields in Patch requests. 13708 NullFields []string `json:"-"` 13709} 13710 13711func (s *OperationMetadata) MarshalJSON() ([]byte, error) { 13712 type NoMethod OperationMetadata 13713 raw := NoMethod(*s) 13714 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13715} 13716 13717// OutputConfig: The desired output location and metadata. 13718type OutputConfig struct { 13719 // BatchSize: The max number of response protos to put into each output 13720 // JSON file on 13721 // Google Cloud Storage. 13722 // The valid range is [1, 100]. If not specified, the default value is 13723 // 20. 13724 // 13725 // For example, for one pdf file with 100 pages, 100 response protos 13726 // will 13727 // be generated. If `batch_size` = 20, then 5 json files each 13728 // containing 20 response protos will be written under the 13729 // prefix 13730 // `gcs_destination`.`uri`. 13731 // 13732 // Currently, batch_size only applies to GcsDestination, with potential 13733 // future 13734 // support for other output configurations. 13735 BatchSize int64 `json:"batchSize,omitempty"` 13736 13737 // GcsDestination: The Google Cloud Storage location to write the 13738 // output(s) to. 13739 GcsDestination *GcsDestination `json:"gcsDestination,omitempty"` 13740 13741 // ForceSendFields is a list of field names (e.g. "BatchSize") to 13742 // unconditionally include in API requests. By default, fields with 13743 // empty values are omitted from API requests. However, any non-pointer, 13744 // non-interface field appearing in ForceSendFields will be sent to the 13745 // server regardless of whether the field is empty or not. This may be 13746 // used to include empty fields in Patch requests. 13747 ForceSendFields []string `json:"-"` 13748 13749 // NullFields is a list of field names (e.g. "BatchSize") to include in 13750 // API requests with the JSON null value. By default, fields with empty 13751 // values are omitted from API requests. However, any field with an 13752 // empty value appearing in NullFields will be sent to the server as 13753 // null. It is an error if a field in this list has a non-empty value. 13754 // This may be used to include null fields in Patch requests. 13755 NullFields []string `json:"-"` 13756} 13757 13758func (s *OutputConfig) MarshalJSON() ([]byte, error) { 13759 type NoMethod OutputConfig 13760 raw := NoMethod(*s) 13761 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13762} 13763 13764// Page: Detected page from OCR. 13765type Page struct { 13766 // Blocks: List of blocks of text, images etc on this page. 13767 Blocks []*Block `json:"blocks,omitempty"` 13768 13769 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 13770 Confidence float64 `json:"confidence,omitempty"` 13771 13772 // Height: Page height. For PDFs the unit is points. For images 13773 // (including 13774 // TIFFs) the unit is pixels. 13775 Height int64 `json:"height,omitempty"` 13776 13777 // Property: Additional information detected on the page. 13778 Property *TextProperty `json:"property,omitempty"` 13779 13780 // Width: Page width. For PDFs the unit is points. For images 13781 // (including 13782 // TIFFs) the unit is pixels. 13783 Width int64 `json:"width,omitempty"` 13784 13785 // ForceSendFields is a list of field names (e.g. "Blocks") to 13786 // unconditionally include in API requests. By default, fields with 13787 // empty values are omitted from API requests. However, any non-pointer, 13788 // non-interface field appearing in ForceSendFields will be sent to the 13789 // server regardless of whether the field is empty or not. This may be 13790 // used to include empty fields in Patch requests. 13791 ForceSendFields []string `json:"-"` 13792 13793 // NullFields is a list of field names (e.g. "Blocks") to include in API 13794 // requests with the JSON null value. By default, fields with empty 13795 // values are omitted from API requests. However, any field with an 13796 // empty value appearing in NullFields will be sent to the server as 13797 // null. It is an error if a field in this list has a non-empty value. 13798 // This may be used to include null fields in Patch requests. 13799 NullFields []string `json:"-"` 13800} 13801 13802func (s *Page) MarshalJSON() ([]byte, error) { 13803 type NoMethod Page 13804 raw := NoMethod(*s) 13805 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13806} 13807 13808func (s *Page) UnmarshalJSON(data []byte) error { 13809 type NoMethod Page 13810 var s1 struct { 13811 Confidence gensupport.JSONFloat64 `json:"confidence"` 13812 *NoMethod 13813 } 13814 s1.NoMethod = (*NoMethod)(s) 13815 if err := json.Unmarshal(data, &s1); err != nil { 13816 return err 13817 } 13818 s.Confidence = float64(s1.Confidence) 13819 return nil 13820} 13821 13822// Paragraph: Structural unit of text representing a number of words in 13823// certain order. 13824type Paragraph struct { 13825 // BoundingBox: The bounding box for the paragraph. 13826 // The vertices are in the order of top-left, top-right, 13827 // bottom-right, 13828 // bottom-left. When a rotation of the bounding box is detected the 13829 // rotation 13830 // is represented as around the top-left corner as defined when the text 13831 // is 13832 // read in the 'natural' orientation. 13833 // For example: 13834 // * when the text is horizontal it might look like: 13835 // 0----1 13836 // | | 13837 // 3----2 13838 // * when it's rotated 180 degrees around the top-left corner it 13839 // becomes: 13840 // 2----3 13841 // | | 13842 // 1----0 13843 // and the vertex order will still be (0, 1, 2, 3). 13844 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 13845 13846 // Confidence: Confidence of the OCR results for the paragraph. Range 13847 // [0, 1]. 13848 Confidence float64 `json:"confidence,omitempty"` 13849 13850 // Property: Additional information detected for the paragraph. 13851 Property *TextProperty `json:"property,omitempty"` 13852 13853 // Words: List of all words in this paragraph. 13854 Words []*Word `json:"words,omitempty"` 13855 13856 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 13857 // unconditionally include in API requests. By default, fields with 13858 // empty values are omitted from API requests. However, any non-pointer, 13859 // non-interface field appearing in ForceSendFields will be sent to the 13860 // server regardless of whether the field is empty or not. This may be 13861 // used to include empty fields in Patch requests. 13862 ForceSendFields []string `json:"-"` 13863 13864 // NullFields is a list of field names (e.g. "BoundingBox") to include 13865 // in API requests with the JSON null value. By default, fields with 13866 // empty values are omitted from API requests. However, any field with 13867 // an empty value appearing in NullFields will be sent to the server as 13868 // null. It is an error if a field in this list has a non-empty value. 13869 // This may be used to include null fields in Patch requests. 13870 NullFields []string `json:"-"` 13871} 13872 13873func (s *Paragraph) MarshalJSON() ([]byte, error) { 13874 type NoMethod Paragraph 13875 raw := NoMethod(*s) 13876 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13877} 13878 13879func (s *Paragraph) UnmarshalJSON(data []byte) error { 13880 type NoMethod Paragraph 13881 var s1 struct { 13882 Confidence gensupport.JSONFloat64 `json:"confidence"` 13883 *NoMethod 13884 } 13885 s1.NoMethod = (*NoMethod)(s) 13886 if err := json.Unmarshal(data, &s1); err != nil { 13887 return err 13888 } 13889 s.Confidence = float64(s1.Confidence) 13890 return nil 13891} 13892 13893// Position: A 3D position in the image, used primarily for Face 13894// detection landmarks. 13895// A valid Position must have both x and y coordinates. 13896// The position coordinates are in the same scale as the original image. 13897type Position struct { 13898 // X: X coordinate. 13899 X float64 `json:"x,omitempty"` 13900 13901 // Y: Y coordinate. 13902 Y float64 `json:"y,omitempty"` 13903 13904 // Z: Z coordinate (or depth). 13905 Z float64 `json:"z,omitempty"` 13906 13907 // ForceSendFields is a list of field names (e.g. "X") to 13908 // unconditionally include in API requests. By default, fields with 13909 // empty values are omitted from API requests. However, any non-pointer, 13910 // non-interface field appearing in ForceSendFields will be sent to the 13911 // server regardless of whether the field is empty or not. This may be 13912 // used to include empty fields in Patch requests. 13913 ForceSendFields []string `json:"-"` 13914 13915 // NullFields is a list of field names (e.g. "X") to include in API 13916 // requests with the JSON null value. By default, fields with empty 13917 // values are omitted from API requests. However, any field with an 13918 // empty value appearing in NullFields will be sent to the server as 13919 // null. It is an error if a field in this list has a non-empty value. 13920 // This may be used to include null fields in Patch requests. 13921 NullFields []string `json:"-"` 13922} 13923 13924func (s *Position) MarshalJSON() ([]byte, error) { 13925 type NoMethod Position 13926 raw := NoMethod(*s) 13927 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13928} 13929 13930func (s *Position) UnmarshalJSON(data []byte) error { 13931 type NoMethod Position 13932 var s1 struct { 13933 X gensupport.JSONFloat64 `json:"x"` 13934 Y gensupport.JSONFloat64 `json:"y"` 13935 Z gensupport.JSONFloat64 `json:"z"` 13936 *NoMethod 13937 } 13938 s1.NoMethod = (*NoMethod)(s) 13939 if err := json.Unmarshal(data, &s1); err != nil { 13940 return err 13941 } 13942 s.X = float64(s1.X) 13943 s.Y = float64(s1.Y) 13944 s.Z = float64(s1.Z) 13945 return nil 13946} 13947 13948// Product: A Product contains ReferenceImages. 13949type Product struct { 13950 // Description: User-provided metadata to be stored with this product. 13951 // Must be at most 4096 13952 // characters long. 13953 Description string `json:"description,omitempty"` 13954 13955 // DisplayName: The user-provided name for this Product. Must not be 13956 // empty. Must be at most 13957 // 4096 characters long. 13958 DisplayName string `json:"displayName,omitempty"` 13959 13960 // Name: The resource name of the product. 13961 // 13962 // Format 13963 // is: 13964 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 13965 // 13966 // This field is ignored when creating a product. 13967 Name string `json:"name,omitempty"` 13968 13969 // ProductCategory: Immutable. The category for the product identified 13970 // by the reference image. This should 13971 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 13972 // categories 13973 // "homegoods", "apparel", and "toys" are still supported, but these 13974 // should 13975 // not be used for new products. 13976 ProductCategory string `json:"productCategory,omitempty"` 13977 13978 // ProductLabels: Key-value pairs that can be attached to a product. At 13979 // query time, 13980 // constraints can be specified based on the product_labels. 13981 // 13982 // Note that integer values can be provided as strings, e.g. "1199". 13983 // Only 13984 // strings with integer values can match a range-based restriction which 13985 // is 13986 // to be supported soon. 13987 // 13988 // Multiple values can be assigned to the same key. One product may have 13989 // up to 13990 // 500 product_labels. 13991 // 13992 // Notice that the total number of distinct product_labels over all 13993 // products 13994 // in one ProductSet cannot exceed 1M, otherwise the product search 13995 // pipeline 13996 // will refuse to work for that ProductSet. 13997 ProductLabels []*KeyValue `json:"productLabels,omitempty"` 13998 13999 // ServerResponse contains the HTTP response code and headers from the 14000 // server. 14001 googleapi.ServerResponse `json:"-"` 14002 14003 // ForceSendFields is a list of field names (e.g. "Description") to 14004 // unconditionally include in API requests. By default, fields with 14005 // empty values are omitted from API requests. However, any non-pointer, 14006 // non-interface field appearing in ForceSendFields will be sent to the 14007 // server regardless of whether the field is empty or not. This may be 14008 // used to include empty fields in Patch requests. 14009 ForceSendFields []string `json:"-"` 14010 14011 // NullFields is a list of field names (e.g. "Description") to include 14012 // in API requests with the JSON null value. By default, fields with 14013 // empty values are omitted from API requests. However, any field with 14014 // an empty value appearing in NullFields will be sent to the server as 14015 // null. It is an error if a field in this list has a non-empty value. 14016 // This may be used to include null fields in Patch requests. 14017 NullFields []string `json:"-"` 14018} 14019 14020func (s *Product) MarshalJSON() ([]byte, error) { 14021 type NoMethod Product 14022 raw := NoMethod(*s) 14023 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14024} 14025 14026// ProductSearchParams: Parameters for a product search request. 14027type ProductSearchParams struct { 14028 // BoundingPoly: The bounding polygon around the area of interest in the 14029 // image. 14030 // If it is not specified, system discretion will be applied. 14031 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 14032 14033 // Filter: The filtering expression. This can be used to restrict search 14034 // results based 14035 // on Product labels. We currently support an AND of OR of 14036 // key-value 14037 // expressions, where each expression within an OR must have the same 14038 // key. An 14039 // '=' should be used to connect the key and value. 14040 // 14041 // For example, "(color = red OR color = blue) AND brand = Google" 14042 // is 14043 // acceptable, but "(color = red OR brand = Google)" is not 14044 // acceptable. 14045 // "color: red" is not acceptable because it uses a ':' instead of an 14046 // '='. 14047 Filter string `json:"filter,omitempty"` 14048 14049 // ProductCategories: The list of product categories to search in. 14050 // Currently, we only consider 14051 // the first category, and either "homegoods-v2", "apparel-v2", 14052 // "toys-v2", 14053 // "packagedgoods-v1", or "general-v1" should be specified. The 14054 // legacy 14055 // categories "homegoods", "apparel", and "toys" are still supported but 14056 // will 14057 // be deprecated. For new products, please use "homegoods-v2", 14058 // "apparel-v2", 14059 // or "toys-v2" for better product search accuracy. It is recommended 14060 // to 14061 // migrate existing products to these categories as well. 14062 ProductCategories []string `json:"productCategories,omitempty"` 14063 14064 // ProductSet: The resource name of a ProductSet to be searched for 14065 // similar images. 14066 // 14067 // Format 14068 // is: 14069 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 14070 ProductSet string `json:"productSet,omitempty"` 14071 14072 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 14073 // unconditionally include in API requests. By default, fields with 14074 // empty values are omitted from API requests. However, any non-pointer, 14075 // non-interface field appearing in ForceSendFields will be sent to the 14076 // server regardless of whether the field is empty or not. This may be 14077 // used to include empty fields in Patch requests. 14078 ForceSendFields []string `json:"-"` 14079 14080 // NullFields is a list of field names (e.g. "BoundingPoly") to include 14081 // in API requests with the JSON null value. By default, fields with 14082 // empty values are omitted from API requests. However, any field with 14083 // an empty value appearing in NullFields will be sent to the server as 14084 // null. It is an error if a field in this list has a non-empty value. 14085 // This may be used to include null fields in Patch requests. 14086 NullFields []string `json:"-"` 14087} 14088 14089func (s *ProductSearchParams) MarshalJSON() ([]byte, error) { 14090 type NoMethod ProductSearchParams 14091 raw := NoMethod(*s) 14092 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14093} 14094 14095// ProductSearchResults: Results for a product search request. 14096type ProductSearchResults struct { 14097 // IndexTime: Timestamp of the index which provided these results. 14098 // Products added to the 14099 // product set and products removed from the product set after this time 14100 // are 14101 // not reflected in the current results. 14102 IndexTime string `json:"indexTime,omitempty"` 14103 14104 // ProductGroupedResults: List of results grouped by products detected 14105 // in the query image. Each entry 14106 // corresponds to one bounding polygon in the query image, and contains 14107 // the 14108 // matching products specific to that region. There may be duplicate 14109 // product 14110 // matches in the union of all the per-product results. 14111 ProductGroupedResults []*GroupedResult `json:"productGroupedResults,omitempty"` 14112 14113 // Results: List of results, one for each product match. 14114 Results []*Result `json:"results,omitempty"` 14115 14116 // ForceSendFields is a list of field names (e.g. "IndexTime") to 14117 // unconditionally include in API requests. By default, fields with 14118 // empty values are omitted from API requests. However, any non-pointer, 14119 // non-interface field appearing in ForceSendFields will be sent to the 14120 // server regardless of whether the field is empty or not. This may be 14121 // used to include empty fields in Patch requests. 14122 ForceSendFields []string `json:"-"` 14123 14124 // NullFields is a list of field names (e.g. "IndexTime") to include in 14125 // API requests with the JSON null value. By default, fields with empty 14126 // values are omitted from API requests. However, any field with an 14127 // empty value appearing in NullFields will be sent to the server as 14128 // null. It is an error if a field in this list has a non-empty value. 14129 // This may be used to include null fields in Patch requests. 14130 NullFields []string `json:"-"` 14131} 14132 14133func (s *ProductSearchResults) MarshalJSON() ([]byte, error) { 14134 type NoMethod ProductSearchResults 14135 raw := NoMethod(*s) 14136 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14137} 14138 14139// ProductSet: A ProductSet contains Products. A ProductSet can contain 14140// a maximum of 1 14141// million reference images. If the limit is exceeded, periodic indexing 14142// will 14143// fail. 14144type ProductSet struct { 14145 // DisplayName: The user-provided name for this ProductSet. Must not be 14146 // empty. Must be at 14147 // most 4096 characters long. 14148 DisplayName string `json:"displayName,omitempty"` 14149 14150 // IndexError: Output only. If there was an error with indexing the 14151 // product set, the field 14152 // is populated. 14153 // 14154 // This field is ignored when creating a ProductSet. 14155 IndexError *Status `json:"indexError,omitempty"` 14156 14157 // IndexTime: Output only. The time at which this ProductSet was last 14158 // indexed. Query 14159 // results will reflect all updates before this time. If this ProductSet 14160 // has 14161 // never been indexed, this timestamp is the default 14162 // value 14163 // "1970-01-01T00:00:00Z". 14164 // 14165 // This field is ignored when creating a ProductSet. 14166 IndexTime string `json:"indexTime,omitempty"` 14167 14168 // Name: The resource name of the ProductSet. 14169 // 14170 // Format 14171 // is: 14172 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 14173 // 14174 // 14175 // This field is ignored when creating a ProductSet. 14176 Name string `json:"name,omitempty"` 14177 14178 // ServerResponse contains the HTTP response code and headers from the 14179 // server. 14180 googleapi.ServerResponse `json:"-"` 14181 14182 // ForceSendFields is a list of field names (e.g. "DisplayName") to 14183 // unconditionally include in API requests. By default, fields with 14184 // empty values are omitted from API requests. However, any non-pointer, 14185 // non-interface field appearing in ForceSendFields will be sent to the 14186 // server regardless of whether the field is empty or not. This may be 14187 // used to include empty fields in Patch requests. 14188 ForceSendFields []string `json:"-"` 14189 14190 // NullFields is a list of field names (e.g. "DisplayName") to include 14191 // in API requests with the JSON null value. By default, fields with 14192 // empty values are omitted from API requests. However, any field with 14193 // an empty value appearing in NullFields will be sent to the server as 14194 // null. It is an error if a field in this list has a non-empty value. 14195 // This may be used to include null fields in Patch requests. 14196 NullFields []string `json:"-"` 14197} 14198 14199func (s *ProductSet) MarshalJSON() ([]byte, error) { 14200 type NoMethod ProductSet 14201 raw := NoMethod(*s) 14202 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14203} 14204 14205// ProductSetPurgeConfig: Config to control which ProductSet contains 14206// the Products to be deleted. 14207type ProductSetPurgeConfig struct { 14208 // ProductSetId: The ProductSet that contains the Products to delete. If 14209 // a Product is a 14210 // member of product_set_id in addition to other ProductSets, the 14211 // Product will 14212 // still be deleted. 14213 ProductSetId string `json:"productSetId,omitempty"` 14214 14215 // ForceSendFields is a list of field names (e.g. "ProductSetId") to 14216 // unconditionally include in API requests. By default, fields with 14217 // empty values are omitted from API requests. However, any non-pointer, 14218 // non-interface field appearing in ForceSendFields will be sent to the 14219 // server regardless of whether the field is empty or not. This may be 14220 // used to include empty fields in Patch requests. 14221 ForceSendFields []string `json:"-"` 14222 14223 // NullFields is a list of field names (e.g. "ProductSetId") to include 14224 // in API requests with the JSON null value. By default, fields with 14225 // empty values are omitted from API requests. However, any field with 14226 // an empty value appearing in NullFields will be sent to the server as 14227 // null. It is an error if a field in this list has a non-empty value. 14228 // This may be used to include null fields in Patch requests. 14229 NullFields []string `json:"-"` 14230} 14231 14232func (s *ProductSetPurgeConfig) MarshalJSON() ([]byte, error) { 14233 type NoMethod ProductSetPurgeConfig 14234 raw := NoMethod(*s) 14235 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14236} 14237 14238// Property: A `Property` consists of a user-supplied name/value pair. 14239type Property struct { 14240 // Name: Name of the property. 14241 Name string `json:"name,omitempty"` 14242 14243 // Uint64Value: Value of numeric properties. 14244 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 14245 14246 // Value: Value of the property. 14247 Value string `json:"value,omitempty"` 14248 14249 // ForceSendFields is a list of field names (e.g. "Name") to 14250 // unconditionally include in API requests. By default, fields with 14251 // empty values are omitted from API requests. However, any non-pointer, 14252 // non-interface field appearing in ForceSendFields will be sent to the 14253 // server regardless of whether the field is empty or not. This may be 14254 // used to include empty fields in Patch requests. 14255 ForceSendFields []string `json:"-"` 14256 14257 // NullFields is a list of field names (e.g. "Name") to include in API 14258 // requests with the JSON null value. By default, fields with empty 14259 // values are omitted from API requests. However, any field with an 14260 // empty value appearing in NullFields will be sent to the server as 14261 // null. It is an error if a field in this list has a non-empty value. 14262 // This may be used to include null fields in Patch requests. 14263 NullFields []string `json:"-"` 14264} 14265 14266func (s *Property) MarshalJSON() ([]byte, error) { 14267 type NoMethod Property 14268 raw := NoMethod(*s) 14269 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14270} 14271 14272// PurgeProductsRequest: Request message for the `PurgeProducts` method. 14273type PurgeProductsRequest struct { 14274 // DeleteOrphanProducts: If delete_orphan_products is true, all Products 14275 // that are not in any 14276 // ProductSet will be deleted. 14277 DeleteOrphanProducts bool `json:"deleteOrphanProducts,omitempty"` 14278 14279 // Force: The default value is false. Override this value to true to 14280 // actually perform 14281 // the purge. 14282 Force bool `json:"force,omitempty"` 14283 14284 // ProductSetPurgeConfig: Specify which ProductSet contains the Products 14285 // to be deleted. 14286 ProductSetPurgeConfig *ProductSetPurgeConfig `json:"productSetPurgeConfig,omitempty"` 14287 14288 // ForceSendFields is a list of field names (e.g. 14289 // "DeleteOrphanProducts") to unconditionally include in API requests. 14290 // By default, fields with empty values are omitted from API requests. 14291 // However, any non-pointer, non-interface field appearing in 14292 // ForceSendFields will be sent to the server regardless of whether the 14293 // field is empty or not. This may be used to include empty fields in 14294 // Patch requests. 14295 ForceSendFields []string `json:"-"` 14296 14297 // NullFields is a list of field names (e.g. "DeleteOrphanProducts") to 14298 // include in API requests with the JSON null value. By default, fields 14299 // with empty values are omitted from API requests. However, any field 14300 // with an empty value appearing in NullFields will be sent to the 14301 // server as null. It is an error if a field in this list has a 14302 // non-empty value. This may be used to include null fields in Patch 14303 // requests. 14304 NullFields []string `json:"-"` 14305} 14306 14307func (s *PurgeProductsRequest) MarshalJSON() ([]byte, error) { 14308 type NoMethod PurgeProductsRequest 14309 raw := NoMethod(*s) 14310 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14311} 14312 14313// ReferenceImage: A `ReferenceImage` represents a product image and its 14314// associated metadata, 14315// such as bounding boxes. 14316type ReferenceImage struct { 14317 // BoundingPolys: Optional. Bounding polygons around the areas of 14318 // interest in the reference image. 14319 // If this field is empty, the system will try to detect regions 14320 // of 14321 // interest. At most 10 bounding polygons will be used. 14322 // 14323 // The provided shape is converted into a non-rotated rectangle. 14324 // Once 14325 // converted, the small edge of the rectangle must be greater than or 14326 // equal 14327 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 14328 // 1:5 14329 // is not). 14330 BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"` 14331 14332 // Name: The resource name of the reference image. 14333 // 14334 // Format 14335 // is: 14336 // 14337 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 14338 // ceImages/IMAGE_ID`. 14339 // 14340 // This field is ignored when creating a reference image. 14341 Name string `json:"name,omitempty"` 14342 14343 // Uri: Required. The Google Cloud Storage URI of the reference 14344 // image. 14345 // 14346 // The URI must start with `gs://`. 14347 Uri string `json:"uri,omitempty"` 14348 14349 // ServerResponse contains the HTTP response code and headers from the 14350 // server. 14351 googleapi.ServerResponse `json:"-"` 14352 14353 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 14354 // unconditionally include in API requests. By default, fields with 14355 // empty values are omitted from API requests. However, any non-pointer, 14356 // non-interface field appearing in ForceSendFields will be sent to the 14357 // server regardless of whether the field is empty or not. This may be 14358 // used to include empty fields in Patch requests. 14359 ForceSendFields []string `json:"-"` 14360 14361 // NullFields is a list of field names (e.g. "BoundingPolys") to include 14362 // in API requests with the JSON null value. By default, fields with 14363 // empty values are omitted from API requests. However, any field with 14364 // an empty value appearing in NullFields will be sent to the server as 14365 // null. It is an error if a field in this list has a non-empty value. 14366 // This may be used to include null fields in Patch requests. 14367 NullFields []string `json:"-"` 14368} 14369 14370func (s *ReferenceImage) MarshalJSON() ([]byte, error) { 14371 type NoMethod ReferenceImage 14372 raw := NoMethod(*s) 14373 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14374} 14375 14376// RemoveProductFromProductSetRequest: Request message for the 14377// `RemoveProductFromProductSet` method. 14378type RemoveProductFromProductSetRequest struct { 14379 // Product: Required. The resource name for the Product to be removed 14380 // from this ProductSet. 14381 // 14382 // Format is: 14383 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` 14384 Product string `json:"product,omitempty"` 14385 14386 // ForceSendFields is a list of field names (e.g. "Product") to 14387 // unconditionally include in API requests. By default, fields with 14388 // empty values are omitted from API requests. However, any non-pointer, 14389 // non-interface field appearing in ForceSendFields will be sent to the 14390 // server regardless of whether the field is empty or not. This may be 14391 // used to include empty fields in Patch requests. 14392 ForceSendFields []string `json:"-"` 14393 14394 // NullFields is a list of field names (e.g. "Product") to include in 14395 // API requests with the JSON null value. By default, fields with empty 14396 // values are omitted from API requests. However, any field with an 14397 // empty value appearing in NullFields will be sent to the server as 14398 // null. It is an error if a field in this list has a non-empty value. 14399 // This may be used to include null fields in Patch requests. 14400 NullFields []string `json:"-"` 14401} 14402 14403func (s *RemoveProductFromProductSetRequest) MarshalJSON() ([]byte, error) { 14404 type NoMethod RemoveProductFromProductSetRequest 14405 raw := NoMethod(*s) 14406 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14407} 14408 14409// Result: Information about a product. 14410type Result struct { 14411 // Image: The resource name of the image from the product that is the 14412 // closest match 14413 // to the query. 14414 Image string `json:"image,omitempty"` 14415 14416 // Product: The Product. 14417 Product *Product `json:"product,omitempty"` 14418 14419 // Score: A confidence level on the match, ranging from 0 (no 14420 // confidence) to 14421 // 1 (full confidence). 14422 Score float64 `json:"score,omitempty"` 14423 14424 // ForceSendFields is a list of field names (e.g. "Image") to 14425 // unconditionally include in API requests. By default, fields with 14426 // empty values are omitted from API requests. However, any non-pointer, 14427 // non-interface field appearing in ForceSendFields will be sent to the 14428 // server regardless of whether the field is empty or not. This may be 14429 // used to include empty fields in Patch requests. 14430 ForceSendFields []string `json:"-"` 14431 14432 // NullFields is a list of field names (e.g. "Image") to include in API 14433 // requests with the JSON null value. By default, fields with empty 14434 // values are omitted from API requests. However, any field with an 14435 // empty value appearing in NullFields will be sent to the server as 14436 // null. It is an error if a field in this list has a non-empty value. 14437 // This may be used to include null fields in Patch requests. 14438 NullFields []string `json:"-"` 14439} 14440 14441func (s *Result) MarshalJSON() ([]byte, error) { 14442 type NoMethod Result 14443 raw := NoMethod(*s) 14444 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14445} 14446 14447func (s *Result) UnmarshalJSON(data []byte) error { 14448 type NoMethod Result 14449 var s1 struct { 14450 Score gensupport.JSONFloat64 `json:"score"` 14451 *NoMethod 14452 } 14453 s1.NoMethod = (*NoMethod)(s) 14454 if err := json.Unmarshal(data, &s1); err != nil { 14455 return err 14456 } 14457 s.Score = float64(s1.Score) 14458 return nil 14459} 14460 14461// SafeSearchAnnotation: Set of features pertaining to the image, 14462// computed by computer vision 14463// methods over safe-search verticals (for example, adult, spoof, 14464// medical, 14465// violence). 14466type SafeSearchAnnotation struct { 14467 // Adult: Represents the adult content likelihood for the image. Adult 14468 // content may 14469 // contain elements such as nudity, pornographic images or cartoons, 14470 // or 14471 // sexual activities. 14472 // 14473 // Possible values: 14474 // "UNKNOWN" - Unknown likelihood. 14475 // "VERY_UNLIKELY" - It is very unlikely. 14476 // "UNLIKELY" - It is unlikely. 14477 // "POSSIBLE" - It is possible. 14478 // "LIKELY" - It is likely. 14479 // "VERY_LIKELY" - It is very likely. 14480 Adult string `json:"adult,omitempty"` 14481 14482 // Medical: Likelihood that this is a medical image. 14483 // 14484 // Possible values: 14485 // "UNKNOWN" - Unknown likelihood. 14486 // "VERY_UNLIKELY" - It is very unlikely. 14487 // "UNLIKELY" - It is unlikely. 14488 // "POSSIBLE" - It is possible. 14489 // "LIKELY" - It is likely. 14490 // "VERY_LIKELY" - It is very likely. 14491 Medical string `json:"medical,omitempty"` 14492 14493 // Racy: Likelihood that the request image contains racy content. Racy 14494 // content may 14495 // include (but is not limited to) skimpy or sheer clothing, 14496 // strategically 14497 // covered nudity, lewd or provocative poses, or close-ups of 14498 // sensitive 14499 // body areas. 14500 // 14501 // Possible values: 14502 // "UNKNOWN" - Unknown likelihood. 14503 // "VERY_UNLIKELY" - It is very unlikely. 14504 // "UNLIKELY" - It is unlikely. 14505 // "POSSIBLE" - It is possible. 14506 // "LIKELY" - It is likely. 14507 // "VERY_LIKELY" - It is very likely. 14508 Racy string `json:"racy,omitempty"` 14509 14510 // Spoof: Spoof likelihood. The likelihood that an modification 14511 // was made to the image's canonical version to make it appear 14512 // funny or offensive. 14513 // 14514 // Possible values: 14515 // "UNKNOWN" - Unknown likelihood. 14516 // "VERY_UNLIKELY" - It is very unlikely. 14517 // "UNLIKELY" - It is unlikely. 14518 // "POSSIBLE" - It is possible. 14519 // "LIKELY" - It is likely. 14520 // "VERY_LIKELY" - It is very likely. 14521 Spoof string `json:"spoof,omitempty"` 14522 14523 // Violence: Likelihood that this image contains violent content. 14524 // 14525 // Possible values: 14526 // "UNKNOWN" - Unknown likelihood. 14527 // "VERY_UNLIKELY" - It is very unlikely. 14528 // "UNLIKELY" - It is unlikely. 14529 // "POSSIBLE" - It is possible. 14530 // "LIKELY" - It is likely. 14531 // "VERY_LIKELY" - It is very likely. 14532 Violence string `json:"violence,omitempty"` 14533 14534 // ForceSendFields is a list of field names (e.g. "Adult") to 14535 // unconditionally include in API requests. By default, fields with 14536 // empty values are omitted from API requests. However, any non-pointer, 14537 // non-interface field appearing in ForceSendFields will be sent to the 14538 // server regardless of whether the field is empty or not. This may be 14539 // used to include empty fields in Patch requests. 14540 ForceSendFields []string `json:"-"` 14541 14542 // NullFields is a list of field names (e.g. "Adult") to include in API 14543 // requests with the JSON null value. By default, fields with empty 14544 // values are omitted from API requests. However, any field with an 14545 // empty value appearing in NullFields will be sent to the server as 14546 // null. It is an error if a field in this list has a non-empty value. 14547 // This may be used to include null fields in Patch requests. 14548 NullFields []string `json:"-"` 14549} 14550 14551func (s *SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 14552 type NoMethod SafeSearchAnnotation 14553 raw := NoMethod(*s) 14554 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14555} 14556 14557// Status: The `Status` type defines a logical error model that is 14558// suitable for 14559// different programming environments, including REST APIs and RPC APIs. 14560// It is 14561// used by [gRPC](https://github.com/grpc). Each `Status` message 14562// contains 14563// three pieces of data: error code, error message, and error 14564// details. 14565// 14566// You can find out more about this error model and how to work with it 14567// in the 14568// [API Design Guide](https://cloud.google.com/apis/design/errors). 14569type Status struct { 14570 // Code: The status code, which should be an enum value of 14571 // google.rpc.Code. 14572 Code int64 `json:"code,omitempty"` 14573 14574 // Details: A list of messages that carry the error details. There is a 14575 // common set of 14576 // message types for APIs to use. 14577 Details []googleapi.RawMessage `json:"details,omitempty"` 14578 14579 // Message: A developer-facing error message, which should be in 14580 // English. Any 14581 // user-facing error message should be localized and sent in 14582 // the 14583 // google.rpc.Status.details field, or localized by the client. 14584 Message string `json:"message,omitempty"` 14585 14586 // ForceSendFields is a list of field names (e.g. "Code") to 14587 // unconditionally include in API requests. By default, fields with 14588 // empty values are omitted from API requests. However, any non-pointer, 14589 // non-interface field appearing in ForceSendFields will be sent to the 14590 // server regardless of whether the field is empty or not. This may be 14591 // used to include empty fields in Patch requests. 14592 ForceSendFields []string `json:"-"` 14593 14594 // NullFields is a list of field names (e.g. "Code") to include in API 14595 // requests with the JSON null value. By default, fields with empty 14596 // values are omitted from API requests. However, any field with an 14597 // empty value appearing in NullFields will be sent to the server as 14598 // null. It is an error if a field in this list has a non-empty value. 14599 // This may be used to include null fields in Patch requests. 14600 NullFields []string `json:"-"` 14601} 14602 14603func (s *Status) MarshalJSON() ([]byte, error) { 14604 type NoMethod Status 14605 raw := NoMethod(*s) 14606 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14607} 14608 14609// Symbol: A single symbol representation. 14610type Symbol struct { 14611 // BoundingBox: The bounding box for the symbol. 14612 // The vertices are in the order of top-left, top-right, 14613 // bottom-right, 14614 // bottom-left. When a rotation of the bounding box is detected the 14615 // rotation 14616 // is represented as around the top-left corner as defined when the text 14617 // is 14618 // read in the 'natural' orientation. 14619 // For example: 14620 // * when the text is horizontal it might look like: 14621 // 0----1 14622 // | | 14623 // 3----2 14624 // * when it's rotated 180 degrees around the top-left corner it 14625 // becomes: 14626 // 2----3 14627 // | | 14628 // 1----0 14629 // and the vertex order will still be (0, 1, 2, 3). 14630 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 14631 14632 // Confidence: Confidence of the OCR results for the symbol. Range [0, 14633 // 1]. 14634 Confidence float64 `json:"confidence,omitempty"` 14635 14636 // Property: Additional information detected for the symbol. 14637 Property *TextProperty `json:"property,omitempty"` 14638 14639 // Text: The actual UTF-8 representation of the symbol. 14640 Text string `json:"text,omitempty"` 14641 14642 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 14643 // unconditionally include in API requests. By default, fields with 14644 // empty values are omitted from API requests. However, any non-pointer, 14645 // non-interface field appearing in ForceSendFields will be sent to the 14646 // server regardless of whether the field is empty or not. This may be 14647 // used to include empty fields in Patch requests. 14648 ForceSendFields []string `json:"-"` 14649 14650 // NullFields is a list of field names (e.g. "BoundingBox") to include 14651 // in API requests with the JSON null value. By default, fields with 14652 // empty values are omitted from API requests. However, any field with 14653 // an empty value appearing in NullFields will be sent to the server as 14654 // null. It is an error if a field in this list has a non-empty value. 14655 // This may be used to include null fields in Patch requests. 14656 NullFields []string `json:"-"` 14657} 14658 14659func (s *Symbol) MarshalJSON() ([]byte, error) { 14660 type NoMethod Symbol 14661 raw := NoMethod(*s) 14662 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14663} 14664 14665func (s *Symbol) UnmarshalJSON(data []byte) error { 14666 type NoMethod Symbol 14667 var s1 struct { 14668 Confidence gensupport.JSONFloat64 `json:"confidence"` 14669 *NoMethod 14670 } 14671 s1.NoMethod = (*NoMethod)(s) 14672 if err := json.Unmarshal(data, &s1); err != nil { 14673 return err 14674 } 14675 s.Confidence = float64(s1.Confidence) 14676 return nil 14677} 14678 14679// TextAnnotation: TextAnnotation contains a structured representation 14680// of OCR extracted text. 14681// The hierarchy of an OCR extracted text structure is like this: 14682// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 14683// Symbol 14684// Each structural component, starting from Page, may further have their 14685// own 14686// properties. Properties describe detected languages, breaks etc.. 14687// Please refer 14688// to the TextAnnotation.TextProperty message definition below for 14689// more 14690// detail. 14691type TextAnnotation struct { 14692 // Pages: List of pages detected by OCR. 14693 Pages []*Page `json:"pages,omitempty"` 14694 14695 // Text: UTF-8 text detected on the pages. 14696 Text string `json:"text,omitempty"` 14697 14698 // ForceSendFields is a list of field names (e.g. "Pages") to 14699 // unconditionally include in API requests. By default, fields with 14700 // empty values are omitted from API requests. However, any non-pointer, 14701 // non-interface field appearing in ForceSendFields will be sent to the 14702 // server regardless of whether the field is empty or not. This may be 14703 // used to include empty fields in Patch requests. 14704 ForceSendFields []string `json:"-"` 14705 14706 // NullFields is a list of field names (e.g. "Pages") to include in API 14707 // requests with the JSON null value. By default, fields with empty 14708 // values are omitted from API requests. However, any field with an 14709 // empty value appearing in NullFields will be sent to the server as 14710 // null. It is an error if a field in this list has a non-empty value. 14711 // This may be used to include null fields in Patch requests. 14712 NullFields []string `json:"-"` 14713} 14714 14715func (s *TextAnnotation) MarshalJSON() ([]byte, error) { 14716 type NoMethod TextAnnotation 14717 raw := NoMethod(*s) 14718 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14719} 14720 14721// TextProperty: Additional information detected on the structural 14722// component. 14723type TextProperty struct { 14724 // DetectedBreak: Detected start or end of a text segment. 14725 DetectedBreak *DetectedBreak `json:"detectedBreak,omitempty"` 14726 14727 // DetectedLanguages: A list of detected languages together with 14728 // confidence. 14729 DetectedLanguages []*DetectedLanguage `json:"detectedLanguages,omitempty"` 14730 14731 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 14732 // unconditionally include in API requests. By default, fields with 14733 // empty values are omitted from API requests. However, any non-pointer, 14734 // non-interface field appearing in ForceSendFields will be sent to the 14735 // server regardless of whether the field is empty or not. This may be 14736 // used to include empty fields in Patch requests. 14737 ForceSendFields []string `json:"-"` 14738 14739 // NullFields is a list of field names (e.g. "DetectedBreak") to include 14740 // in API requests with the JSON null value. By default, fields with 14741 // empty values are omitted from API requests. However, any field with 14742 // an empty value appearing in NullFields will be sent to the server as 14743 // null. It is an error if a field in this list has a non-empty value. 14744 // This may be used to include null fields in Patch requests. 14745 NullFields []string `json:"-"` 14746} 14747 14748func (s *TextProperty) MarshalJSON() ([]byte, error) { 14749 type NoMethod TextProperty 14750 raw := NoMethod(*s) 14751 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14752} 14753 14754// Vertex: A vertex represents a 2D point in the image. 14755// NOTE: the vertex coordinates are in the same scale as the original 14756// image. 14757type Vertex struct { 14758 // X: X coordinate. 14759 X int64 `json:"x,omitempty"` 14760 14761 // Y: Y coordinate. 14762 Y int64 `json:"y,omitempty"` 14763 14764 // ForceSendFields is a list of field names (e.g. "X") to 14765 // unconditionally include in API requests. By default, fields with 14766 // empty values are omitted from API requests. However, any non-pointer, 14767 // non-interface field appearing in ForceSendFields will be sent to the 14768 // server regardless of whether the field is empty or not. This may be 14769 // used to include empty fields in Patch requests. 14770 ForceSendFields []string `json:"-"` 14771 14772 // NullFields is a list of field names (e.g. "X") to include in API 14773 // requests with the JSON null value. By default, fields with empty 14774 // values are omitted from API requests. However, any field with an 14775 // empty value appearing in NullFields will be sent to the server as 14776 // null. It is an error if a field in this list has a non-empty value. 14777 // This may be used to include null fields in Patch requests. 14778 NullFields []string `json:"-"` 14779} 14780 14781func (s *Vertex) MarshalJSON() ([]byte, error) { 14782 type NoMethod Vertex 14783 raw := NoMethod(*s) 14784 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14785} 14786 14787// WebDetection: Relevant information for the image from the Internet. 14788type WebDetection struct { 14789 // BestGuessLabels: The service's best guess as to the topic of the 14790 // request image. 14791 // Inferred from similar images on the open web. 14792 BestGuessLabels []*WebLabel `json:"bestGuessLabels,omitempty"` 14793 14794 // FullMatchingImages: Fully matching images from the Internet. 14795 // Can include resized copies of the query image. 14796 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 14797 14798 // PagesWithMatchingImages: Web pages containing the matching images 14799 // from the Internet. 14800 PagesWithMatchingImages []*WebPage `json:"pagesWithMatchingImages,omitempty"` 14801 14802 // PartialMatchingImages: Partial matching images from the 14803 // Internet. 14804 // Those images are similar enough to share some key-point features. 14805 // For 14806 // example an original image will likely have partial matching for its 14807 // crops. 14808 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 14809 14810 // VisuallySimilarImages: The visually similar image results. 14811 VisuallySimilarImages []*WebImage `json:"visuallySimilarImages,omitempty"` 14812 14813 // WebEntities: Deduced entities from similar images on the Internet. 14814 WebEntities []*WebEntity `json:"webEntities,omitempty"` 14815 14816 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 14817 // unconditionally include in API requests. By default, fields with 14818 // empty values are omitted from API requests. However, any non-pointer, 14819 // non-interface field appearing in ForceSendFields will be sent to the 14820 // server regardless of whether the field is empty or not. This may be 14821 // used to include empty fields in Patch requests. 14822 ForceSendFields []string `json:"-"` 14823 14824 // NullFields is a list of field names (e.g. "BestGuessLabels") to 14825 // include in API requests with the JSON null value. By default, fields 14826 // with empty values are omitted from API requests. However, any field 14827 // with an empty value appearing in NullFields will be sent to the 14828 // server as null. It is an error if a field in this list has a 14829 // non-empty value. This may be used to include null fields in Patch 14830 // requests. 14831 NullFields []string `json:"-"` 14832} 14833 14834func (s *WebDetection) MarshalJSON() ([]byte, error) { 14835 type NoMethod WebDetection 14836 raw := NoMethod(*s) 14837 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14838} 14839 14840// WebDetectionParams: Parameters for web detection request. 14841type WebDetectionParams struct { 14842 // IncludeGeoResults: Whether to include results derived from the geo 14843 // information in the image. 14844 IncludeGeoResults bool `json:"includeGeoResults,omitempty"` 14845 14846 // ForceSendFields is a list of field names (e.g. "IncludeGeoResults") 14847 // to unconditionally include in API requests. By default, fields with 14848 // empty values are omitted from API requests. However, any non-pointer, 14849 // non-interface field appearing in ForceSendFields will be sent to the 14850 // server regardless of whether the field is empty or not. This may be 14851 // used to include empty fields in Patch requests. 14852 ForceSendFields []string `json:"-"` 14853 14854 // NullFields is a list of field names (e.g. "IncludeGeoResults") to 14855 // include in API requests with the JSON null value. By default, fields 14856 // with empty values are omitted from API requests. However, any field 14857 // with an empty value appearing in NullFields will be sent to the 14858 // server as null. It is an error if a field in this list has a 14859 // non-empty value. This may be used to include null fields in Patch 14860 // requests. 14861 NullFields []string `json:"-"` 14862} 14863 14864func (s *WebDetectionParams) MarshalJSON() ([]byte, error) { 14865 type NoMethod WebDetectionParams 14866 raw := NoMethod(*s) 14867 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14868} 14869 14870// WebEntity: Entity deduced from similar images on the Internet. 14871type WebEntity struct { 14872 // Description: Canonical description of the entity, in English. 14873 Description string `json:"description,omitempty"` 14874 14875 // EntityId: Opaque entity ID. 14876 EntityId string `json:"entityId,omitempty"` 14877 14878 // Score: Overall relevancy score for the entity. 14879 // Not normalized and not comparable across different image queries. 14880 Score float64 `json:"score,omitempty"` 14881 14882 // ForceSendFields is a list of field names (e.g. "Description") to 14883 // unconditionally include in API requests. By default, fields with 14884 // empty values are omitted from API requests. However, any non-pointer, 14885 // non-interface field appearing in ForceSendFields will be sent to the 14886 // server regardless of whether the field is empty or not. This may be 14887 // used to include empty fields in Patch requests. 14888 ForceSendFields []string `json:"-"` 14889 14890 // NullFields is a list of field names (e.g. "Description") to include 14891 // in API requests with the JSON null value. By default, fields with 14892 // empty values are omitted from API requests. However, any field with 14893 // an empty value appearing in NullFields will be sent to the server as 14894 // null. It is an error if a field in this list has a non-empty value. 14895 // This may be used to include null fields in Patch requests. 14896 NullFields []string `json:"-"` 14897} 14898 14899func (s *WebEntity) MarshalJSON() ([]byte, error) { 14900 type NoMethod WebEntity 14901 raw := NoMethod(*s) 14902 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14903} 14904 14905func (s *WebEntity) UnmarshalJSON(data []byte) error { 14906 type NoMethod WebEntity 14907 var s1 struct { 14908 Score gensupport.JSONFloat64 `json:"score"` 14909 *NoMethod 14910 } 14911 s1.NoMethod = (*NoMethod)(s) 14912 if err := json.Unmarshal(data, &s1); err != nil { 14913 return err 14914 } 14915 s.Score = float64(s1.Score) 14916 return nil 14917} 14918 14919// WebImage: Metadata for online images. 14920type WebImage struct { 14921 // Score: (Deprecated) Overall relevancy score for the image. 14922 Score float64 `json:"score,omitempty"` 14923 14924 // Url: The result image URL. 14925 Url string `json:"url,omitempty"` 14926 14927 // ForceSendFields is a list of field names (e.g. "Score") to 14928 // unconditionally include in API requests. By default, fields with 14929 // empty values are omitted from API requests. However, any non-pointer, 14930 // non-interface field appearing in ForceSendFields will be sent to the 14931 // server regardless of whether the field is empty or not. This may be 14932 // used to include empty fields in Patch requests. 14933 ForceSendFields []string `json:"-"` 14934 14935 // NullFields is a list of field names (e.g. "Score") to include in API 14936 // requests with the JSON null value. By default, fields with empty 14937 // values are omitted from API requests. However, any field with an 14938 // empty value appearing in NullFields will be sent to the server as 14939 // null. It is an error if a field in this list has a non-empty value. 14940 // This may be used to include null fields in Patch requests. 14941 NullFields []string `json:"-"` 14942} 14943 14944func (s *WebImage) MarshalJSON() ([]byte, error) { 14945 type NoMethod WebImage 14946 raw := NoMethod(*s) 14947 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14948} 14949 14950func (s *WebImage) UnmarshalJSON(data []byte) error { 14951 type NoMethod WebImage 14952 var s1 struct { 14953 Score gensupport.JSONFloat64 `json:"score"` 14954 *NoMethod 14955 } 14956 s1.NoMethod = (*NoMethod)(s) 14957 if err := json.Unmarshal(data, &s1); err != nil { 14958 return err 14959 } 14960 s.Score = float64(s1.Score) 14961 return nil 14962} 14963 14964// WebLabel: Label to provide extra metadata for the web detection. 14965type WebLabel struct { 14966 // Label: Label for extra metadata. 14967 Label string `json:"label,omitempty"` 14968 14969 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 14970 // or "sr-Latn". 14971 // For more information, 14972 // see 14973 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 14974 LanguageCode string `json:"languageCode,omitempty"` 14975 14976 // ForceSendFields is a list of field names (e.g. "Label") to 14977 // unconditionally include in API requests. By default, fields with 14978 // empty values are omitted from API requests. However, any non-pointer, 14979 // non-interface field appearing in ForceSendFields will be sent to the 14980 // server regardless of whether the field is empty or not. This may be 14981 // used to include empty fields in Patch requests. 14982 ForceSendFields []string `json:"-"` 14983 14984 // NullFields is a list of field names (e.g. "Label") to include in API 14985 // requests with the JSON null value. By default, fields with empty 14986 // values are omitted from API requests. However, any field with an 14987 // empty value appearing in NullFields will be sent to the server as 14988 // null. It is an error if a field in this list has a non-empty value. 14989 // This may be used to include null fields in Patch requests. 14990 NullFields []string `json:"-"` 14991} 14992 14993func (s *WebLabel) MarshalJSON() ([]byte, error) { 14994 type NoMethod WebLabel 14995 raw := NoMethod(*s) 14996 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14997} 14998 14999// WebPage: Metadata for web pages. 15000type WebPage struct { 15001 // FullMatchingImages: Fully matching images on the page. 15002 // Can include resized copies of the query image. 15003 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 15004 15005 // PageTitle: Title for the web page, may contain HTML markups. 15006 PageTitle string `json:"pageTitle,omitempty"` 15007 15008 // PartialMatchingImages: Partial matching images on the page. 15009 // Those images are similar enough to share some key-point features. 15010 // For 15011 // example an original image will likely have partial matching for 15012 // its 15013 // crops. 15014 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 15015 15016 // Score: (Deprecated) Overall relevancy score for the web page. 15017 Score float64 `json:"score,omitempty"` 15018 15019 // Url: The result web page URL. 15020 Url string `json:"url,omitempty"` 15021 15022 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 15023 // to unconditionally include in API requests. By default, fields with 15024 // empty values are omitted from API requests. However, any non-pointer, 15025 // non-interface field appearing in ForceSendFields will be sent to the 15026 // server regardless of whether the field is empty or not. This may be 15027 // used to include empty fields in Patch requests. 15028 ForceSendFields []string `json:"-"` 15029 15030 // NullFields is a list of field names (e.g. "FullMatchingImages") to 15031 // include in API requests with the JSON null value. By default, fields 15032 // with empty values are omitted from API requests. However, any field 15033 // with an empty value appearing in NullFields will be sent to the 15034 // server as null. It is an error if a field in this list has a 15035 // non-empty value. This may be used to include null fields in Patch 15036 // requests. 15037 NullFields []string `json:"-"` 15038} 15039 15040func (s *WebPage) MarshalJSON() ([]byte, error) { 15041 type NoMethod WebPage 15042 raw := NoMethod(*s) 15043 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15044} 15045 15046func (s *WebPage) UnmarshalJSON(data []byte) error { 15047 type NoMethod WebPage 15048 var s1 struct { 15049 Score gensupport.JSONFloat64 `json:"score"` 15050 *NoMethod 15051 } 15052 s1.NoMethod = (*NoMethod)(s) 15053 if err := json.Unmarshal(data, &s1); err != nil { 15054 return err 15055 } 15056 s.Score = float64(s1.Score) 15057 return nil 15058} 15059 15060// Word: A word representation. 15061type Word struct { 15062 // BoundingBox: The bounding box for the word. 15063 // The vertices are in the order of top-left, top-right, 15064 // bottom-right, 15065 // bottom-left. When a rotation of the bounding box is detected the 15066 // rotation 15067 // is represented as around the top-left corner as defined when the text 15068 // is 15069 // read in the 'natural' orientation. 15070 // For example: 15071 // * when the text is horizontal it might look like: 15072 // 0----1 15073 // | | 15074 // 3----2 15075 // * when it's rotated 180 degrees around the top-left corner it 15076 // becomes: 15077 // 2----3 15078 // | | 15079 // 1----0 15080 // and the vertex order will still be (0, 1, 2, 3). 15081 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 15082 15083 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 15084 Confidence float64 `json:"confidence,omitempty"` 15085 15086 // Property: Additional information detected for the word. 15087 Property *TextProperty `json:"property,omitempty"` 15088 15089 // Symbols: List of symbols in the word. 15090 // The order of the symbols follows the natural reading order. 15091 Symbols []*Symbol `json:"symbols,omitempty"` 15092 15093 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 15094 // unconditionally include in API requests. By default, fields with 15095 // empty values are omitted from API requests. However, any non-pointer, 15096 // non-interface field appearing in ForceSendFields will be sent to the 15097 // server regardless of whether the field is empty or not. This may be 15098 // used to include empty fields in Patch requests. 15099 ForceSendFields []string `json:"-"` 15100 15101 // NullFields is a list of field names (e.g. "BoundingBox") to include 15102 // in API requests with the JSON null value. By default, fields with 15103 // empty values are omitted from API requests. However, any field with 15104 // an empty value appearing in NullFields will be sent to the server as 15105 // null. It is an error if a field in this list has a non-empty value. 15106 // This may be used to include null fields in Patch requests. 15107 NullFields []string `json:"-"` 15108} 15109 15110func (s *Word) MarshalJSON() ([]byte, error) { 15111 type NoMethod Word 15112 raw := NoMethod(*s) 15113 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15114} 15115 15116func (s *Word) UnmarshalJSON(data []byte) error { 15117 type NoMethod Word 15118 var s1 struct { 15119 Confidence gensupport.JSONFloat64 `json:"confidence"` 15120 *NoMethod 15121 } 15122 s1.NoMethod = (*NoMethod)(s) 15123 if err := json.Unmarshal(data, &s1); err != nil { 15124 return err 15125 } 15126 s.Confidence = float64(s1.Confidence) 15127 return nil 15128} 15129 15130// method id "vision.files.annotate": 15131 15132type FilesAnnotateCall struct { 15133 s *Service 15134 batchannotatefilesrequest *BatchAnnotateFilesRequest 15135 urlParams_ gensupport.URLParams 15136 ctx_ context.Context 15137 header_ http.Header 15138} 15139 15140// Annotate: Service that performs image detection and annotation for a 15141// batch of files. 15142// Now only "application/pdf", "image/tiff" and "image/gif" are 15143// supported. 15144// 15145// This service will extract at most 5 (customers can specify which 5 15146// in 15147// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 15148// each 15149// file provided and perform detection and annotation for each 15150// image 15151// extracted. 15152func (r *FilesService) Annotate(batchannotatefilesrequest *BatchAnnotateFilesRequest) *FilesAnnotateCall { 15153 c := &FilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15154 c.batchannotatefilesrequest = batchannotatefilesrequest 15155 return c 15156} 15157 15158// Fields allows partial responses to be retrieved. See 15159// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15160// for more information. 15161func (c *FilesAnnotateCall) Fields(s ...googleapi.Field) *FilesAnnotateCall { 15162 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15163 return c 15164} 15165 15166// Context sets the context to be used in this call's Do method. Any 15167// pending HTTP request will be aborted if the provided context is 15168// canceled. 15169func (c *FilesAnnotateCall) Context(ctx context.Context) *FilesAnnotateCall { 15170 c.ctx_ = ctx 15171 return c 15172} 15173 15174// Header returns an http.Header that can be modified by the caller to 15175// add HTTP headers to the request. 15176func (c *FilesAnnotateCall) Header() http.Header { 15177 if c.header_ == nil { 15178 c.header_ = make(http.Header) 15179 } 15180 return c.header_ 15181} 15182 15183func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 15184 reqHeaders := make(http.Header) 15185 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 15186 for k, v := range c.header_ { 15187 reqHeaders[k] = v 15188 } 15189 reqHeaders.Set("User-Agent", c.s.userAgent()) 15190 var body io.Reader = nil 15191 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotatefilesrequest) 15192 if err != nil { 15193 return nil, err 15194 } 15195 reqHeaders.Set("Content-Type", "application/json") 15196 c.urlParams_.Set("alt", alt) 15197 c.urlParams_.Set("prettyPrint", "false") 15198 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/files:annotate") 15199 urls += "?" + c.urlParams_.Encode() 15200 req, err := http.NewRequest("POST", urls, body) 15201 if err != nil { 15202 return nil, err 15203 } 15204 req.Header = reqHeaders 15205 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15206} 15207 15208// Do executes the "vision.files.annotate" call. 15209// Exactly one of *BatchAnnotateFilesResponse or error will be non-nil. 15210// Any non-2xx status code is an error. Response headers are in either 15211// *BatchAnnotateFilesResponse.ServerResponse.Header or (if a response 15212// was returned at all) in error.(*googleapi.Error).Header. Use 15213// googleapi.IsNotModified to check whether the returned error was 15214// because http.StatusNotModified was returned. 15215func (c *FilesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateFilesResponse, error) { 15216 gensupport.SetOptions(c.urlParams_, opts...) 15217 res, err := c.doRequest("json") 15218 if res != nil && res.StatusCode == http.StatusNotModified { 15219 if res.Body != nil { 15220 res.Body.Close() 15221 } 15222 return nil, &googleapi.Error{ 15223 Code: res.StatusCode, 15224 Header: res.Header, 15225 } 15226 } 15227 if err != nil { 15228 return nil, err 15229 } 15230 defer googleapi.CloseBody(res) 15231 if err := googleapi.CheckResponse(res); err != nil { 15232 return nil, err 15233 } 15234 ret := &BatchAnnotateFilesResponse{ 15235 ServerResponse: googleapi.ServerResponse{ 15236 Header: res.Header, 15237 HTTPStatusCode: res.StatusCode, 15238 }, 15239 } 15240 target := &ret 15241 if err := gensupport.DecodeResponse(target, res); err != nil { 15242 return nil, err 15243 } 15244 return ret, nil 15245 // { 15246 // "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.", 15247 // "flatPath": "v1/files:annotate", 15248 // "httpMethod": "POST", 15249 // "id": "vision.files.annotate", 15250 // "parameterOrder": [], 15251 // "parameters": {}, 15252 // "path": "v1/files:annotate", 15253 // "request": { 15254 // "$ref": "BatchAnnotateFilesRequest" 15255 // }, 15256 // "response": { 15257 // "$ref": "BatchAnnotateFilesResponse" 15258 // }, 15259 // "scopes": [ 15260 // "https://www.googleapis.com/auth/cloud-platform", 15261 // "https://www.googleapis.com/auth/cloud-vision" 15262 // ] 15263 // } 15264 15265} 15266 15267// method id "vision.files.asyncBatchAnnotate": 15268 15269type FilesAsyncBatchAnnotateCall struct { 15270 s *Service 15271 asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest 15272 urlParams_ gensupport.URLParams 15273 ctx_ context.Context 15274 header_ http.Header 15275} 15276 15277// AsyncBatchAnnotate: Run asynchronous image detection and annotation 15278// for a list of generic 15279// files, such as PDF files, which may contain multiple pages and 15280// multiple 15281// images per page. Progress and results can be retrieved through 15282// the 15283// `google.longrunning.Operations` interface. 15284// `Operation.metadata` contains `OperationMetadata` 15285// (metadata). 15286// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 15287// (results). 15288func (r *FilesService) AsyncBatchAnnotate(asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest) *FilesAsyncBatchAnnotateCall { 15289 c := &FilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15290 c.asyncbatchannotatefilesrequest = asyncbatchannotatefilesrequest 15291 return c 15292} 15293 15294// Fields allows partial responses to be retrieved. See 15295// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15296// for more information. 15297func (c *FilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *FilesAsyncBatchAnnotateCall { 15298 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15299 return c 15300} 15301 15302// Context sets the context to be used in this call's Do method. Any 15303// pending HTTP request will be aborted if the provided context is 15304// canceled. 15305func (c *FilesAsyncBatchAnnotateCall) Context(ctx context.Context) *FilesAsyncBatchAnnotateCall { 15306 c.ctx_ = ctx 15307 return c 15308} 15309 15310// Header returns an http.Header that can be modified by the caller to 15311// add HTTP headers to the request. 15312func (c *FilesAsyncBatchAnnotateCall) Header() http.Header { 15313 if c.header_ == nil { 15314 c.header_ = make(http.Header) 15315 } 15316 return c.header_ 15317} 15318 15319func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 15320 reqHeaders := make(http.Header) 15321 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 15322 for k, v := range c.header_ { 15323 reqHeaders[k] = v 15324 } 15325 reqHeaders.Set("User-Agent", c.s.userAgent()) 15326 var body io.Reader = nil 15327 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotatefilesrequest) 15328 if err != nil { 15329 return nil, err 15330 } 15331 reqHeaders.Set("Content-Type", "application/json") 15332 c.urlParams_.Set("alt", alt) 15333 c.urlParams_.Set("prettyPrint", "false") 15334 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/files:asyncBatchAnnotate") 15335 urls += "?" + c.urlParams_.Encode() 15336 req, err := http.NewRequest("POST", urls, body) 15337 if err != nil { 15338 return nil, err 15339 } 15340 req.Header = reqHeaders 15341 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15342} 15343 15344// Do executes the "vision.files.asyncBatchAnnotate" call. 15345// Exactly one of *Operation or error will be non-nil. Any non-2xx 15346// status code is an error. Response headers are in either 15347// *Operation.ServerResponse.Header or (if a response was returned at 15348// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 15349// to check whether the returned error was because 15350// http.StatusNotModified was returned. 15351func (c *FilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 15352 gensupport.SetOptions(c.urlParams_, opts...) 15353 res, err := c.doRequest("json") 15354 if res != nil && res.StatusCode == http.StatusNotModified { 15355 if res.Body != nil { 15356 res.Body.Close() 15357 } 15358 return nil, &googleapi.Error{ 15359 Code: res.StatusCode, 15360 Header: res.Header, 15361 } 15362 } 15363 if err != nil { 15364 return nil, err 15365 } 15366 defer googleapi.CloseBody(res) 15367 if err := googleapi.CheckResponse(res); err != nil { 15368 return nil, err 15369 } 15370 ret := &Operation{ 15371 ServerResponse: googleapi.ServerResponse{ 15372 Header: res.Header, 15373 HTTPStatusCode: res.StatusCode, 15374 }, 15375 } 15376 target := &ret 15377 if err := gensupport.DecodeResponse(target, res); err != nil { 15378 return nil, err 15379 } 15380 return ret, nil 15381 // { 15382 // "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).", 15383 // "flatPath": "v1/files:asyncBatchAnnotate", 15384 // "httpMethod": "POST", 15385 // "id": "vision.files.asyncBatchAnnotate", 15386 // "parameterOrder": [], 15387 // "parameters": {}, 15388 // "path": "v1/files:asyncBatchAnnotate", 15389 // "request": { 15390 // "$ref": "AsyncBatchAnnotateFilesRequest" 15391 // }, 15392 // "response": { 15393 // "$ref": "Operation" 15394 // }, 15395 // "scopes": [ 15396 // "https://www.googleapis.com/auth/cloud-platform", 15397 // "https://www.googleapis.com/auth/cloud-vision" 15398 // ] 15399 // } 15400 15401} 15402 15403// method id "vision.images.annotate": 15404 15405type ImagesAnnotateCall struct { 15406 s *Service 15407 batchannotateimagesrequest *BatchAnnotateImagesRequest 15408 urlParams_ gensupport.URLParams 15409 ctx_ context.Context 15410 header_ http.Header 15411} 15412 15413// Annotate: Run image detection and annotation for a batch of images. 15414func (r *ImagesService) Annotate(batchannotateimagesrequest *BatchAnnotateImagesRequest) *ImagesAnnotateCall { 15415 c := &ImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15416 c.batchannotateimagesrequest = batchannotateimagesrequest 15417 return c 15418} 15419 15420// Fields allows partial responses to be retrieved. See 15421// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15422// for more information. 15423func (c *ImagesAnnotateCall) Fields(s ...googleapi.Field) *ImagesAnnotateCall { 15424 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15425 return c 15426} 15427 15428// Context sets the context to be used in this call's Do method. Any 15429// pending HTTP request will be aborted if the provided context is 15430// canceled. 15431func (c *ImagesAnnotateCall) Context(ctx context.Context) *ImagesAnnotateCall { 15432 c.ctx_ = ctx 15433 return c 15434} 15435 15436// Header returns an http.Header that can be modified by the caller to 15437// add HTTP headers to the request. 15438func (c *ImagesAnnotateCall) Header() http.Header { 15439 if c.header_ == nil { 15440 c.header_ = make(http.Header) 15441 } 15442 return c.header_ 15443} 15444 15445func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 15446 reqHeaders := make(http.Header) 15447 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 15448 for k, v := range c.header_ { 15449 reqHeaders[k] = v 15450 } 15451 reqHeaders.Set("User-Agent", c.s.userAgent()) 15452 var body io.Reader = nil 15453 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotateimagesrequest) 15454 if err != nil { 15455 return nil, err 15456 } 15457 reqHeaders.Set("Content-Type", "application/json") 15458 c.urlParams_.Set("alt", alt) 15459 c.urlParams_.Set("prettyPrint", "false") 15460 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/images:annotate") 15461 urls += "?" + c.urlParams_.Encode() 15462 req, err := http.NewRequest("POST", urls, body) 15463 if err != nil { 15464 return nil, err 15465 } 15466 req.Header = reqHeaders 15467 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15468} 15469 15470// Do executes the "vision.images.annotate" call. 15471// Exactly one of *BatchAnnotateImagesResponse or error will be non-nil. 15472// Any non-2xx status code is an error. Response headers are in either 15473// *BatchAnnotateImagesResponse.ServerResponse.Header or (if a response 15474// was returned at all) in error.(*googleapi.Error).Header. Use 15475// googleapi.IsNotModified to check whether the returned error was 15476// because http.StatusNotModified was returned. 15477func (c *ImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateImagesResponse, error) { 15478 gensupport.SetOptions(c.urlParams_, opts...) 15479 res, err := c.doRequest("json") 15480 if res != nil && res.StatusCode == http.StatusNotModified { 15481 if res.Body != nil { 15482 res.Body.Close() 15483 } 15484 return nil, &googleapi.Error{ 15485 Code: res.StatusCode, 15486 Header: res.Header, 15487 } 15488 } 15489 if err != nil { 15490 return nil, err 15491 } 15492 defer googleapi.CloseBody(res) 15493 if err := googleapi.CheckResponse(res); err != nil { 15494 return nil, err 15495 } 15496 ret := &BatchAnnotateImagesResponse{ 15497 ServerResponse: googleapi.ServerResponse{ 15498 Header: res.Header, 15499 HTTPStatusCode: res.StatusCode, 15500 }, 15501 } 15502 target := &ret 15503 if err := gensupport.DecodeResponse(target, res); err != nil { 15504 return nil, err 15505 } 15506 return ret, nil 15507 // { 15508 // "description": "Run image detection and annotation for a batch of images.", 15509 // "flatPath": "v1/images:annotate", 15510 // "httpMethod": "POST", 15511 // "id": "vision.images.annotate", 15512 // "parameterOrder": [], 15513 // "parameters": {}, 15514 // "path": "v1/images:annotate", 15515 // "request": { 15516 // "$ref": "BatchAnnotateImagesRequest" 15517 // }, 15518 // "response": { 15519 // "$ref": "BatchAnnotateImagesResponse" 15520 // }, 15521 // "scopes": [ 15522 // "https://www.googleapis.com/auth/cloud-platform", 15523 // "https://www.googleapis.com/auth/cloud-vision" 15524 // ] 15525 // } 15526 15527} 15528 15529// method id "vision.images.asyncBatchAnnotate": 15530 15531type ImagesAsyncBatchAnnotateCall struct { 15532 s *Service 15533 asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest 15534 urlParams_ gensupport.URLParams 15535 ctx_ context.Context 15536 header_ http.Header 15537} 15538 15539// AsyncBatchAnnotate: Run asynchronous image detection and annotation 15540// for a list of images. 15541// 15542// Progress and results can be retrieved through 15543// the 15544// `google.longrunning.Operations` interface. 15545// `Operation.metadata` contains `OperationMetadata` 15546// (metadata). 15547// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` 15548// (results). 15549// 15550// This service will write image annotation outputs to json files in 15551// customer 15552// GCS bucket, each json file containing BatchAnnotateImagesResponse 15553// proto. 15554func (r *ImagesService) AsyncBatchAnnotate(asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest) *ImagesAsyncBatchAnnotateCall { 15555 c := &ImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15556 c.asyncbatchannotateimagesrequest = asyncbatchannotateimagesrequest 15557 return c 15558} 15559 15560// Fields allows partial responses to be retrieved. See 15561// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15562// for more information. 15563func (c *ImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ImagesAsyncBatchAnnotateCall { 15564 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15565 return c 15566} 15567 15568// Context sets the context to be used in this call's Do method. Any 15569// pending HTTP request will be aborted if the provided context is 15570// canceled. 15571func (c *ImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ImagesAsyncBatchAnnotateCall { 15572 c.ctx_ = ctx 15573 return c 15574} 15575 15576// Header returns an http.Header that can be modified by the caller to 15577// add HTTP headers to the request. 15578func (c *ImagesAsyncBatchAnnotateCall) Header() http.Header { 15579 if c.header_ == nil { 15580 c.header_ = make(http.Header) 15581 } 15582 return c.header_ 15583} 15584 15585func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 15586 reqHeaders := make(http.Header) 15587 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 15588 for k, v := range c.header_ { 15589 reqHeaders[k] = v 15590 } 15591 reqHeaders.Set("User-Agent", c.s.userAgent()) 15592 var body io.Reader = nil 15593 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotateimagesrequest) 15594 if err != nil { 15595 return nil, err 15596 } 15597 reqHeaders.Set("Content-Type", "application/json") 15598 c.urlParams_.Set("alt", alt) 15599 c.urlParams_.Set("prettyPrint", "false") 15600 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/images:asyncBatchAnnotate") 15601 urls += "?" + c.urlParams_.Encode() 15602 req, err := http.NewRequest("POST", urls, body) 15603 if err != nil { 15604 return nil, err 15605 } 15606 req.Header = reqHeaders 15607 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15608} 15609 15610// Do executes the "vision.images.asyncBatchAnnotate" call. 15611// Exactly one of *Operation or error will be non-nil. Any non-2xx 15612// status code is an error. Response headers are in either 15613// *Operation.ServerResponse.Header or (if a response was returned at 15614// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 15615// to check whether the returned error was because 15616// http.StatusNotModified was returned. 15617func (c *ImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 15618 gensupport.SetOptions(c.urlParams_, opts...) 15619 res, err := c.doRequest("json") 15620 if res != nil && res.StatusCode == http.StatusNotModified { 15621 if res.Body != nil { 15622 res.Body.Close() 15623 } 15624 return nil, &googleapi.Error{ 15625 Code: res.StatusCode, 15626 Header: res.Header, 15627 } 15628 } 15629 if err != nil { 15630 return nil, err 15631 } 15632 defer googleapi.CloseBody(res) 15633 if err := googleapi.CheckResponse(res); err != nil { 15634 return nil, err 15635 } 15636 ret := &Operation{ 15637 ServerResponse: googleapi.ServerResponse{ 15638 Header: res.Header, 15639 HTTPStatusCode: res.StatusCode, 15640 }, 15641 } 15642 target := &ret 15643 if err := gensupport.DecodeResponse(target, res); err != nil { 15644 return nil, err 15645 } 15646 return ret, nil 15647 // { 15648 // "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.", 15649 // "flatPath": "v1/images:asyncBatchAnnotate", 15650 // "httpMethod": "POST", 15651 // "id": "vision.images.asyncBatchAnnotate", 15652 // "parameterOrder": [], 15653 // "parameters": {}, 15654 // "path": "v1/images:asyncBatchAnnotate", 15655 // "request": { 15656 // "$ref": "AsyncBatchAnnotateImagesRequest" 15657 // }, 15658 // "response": { 15659 // "$ref": "Operation" 15660 // }, 15661 // "scopes": [ 15662 // "https://www.googleapis.com/auth/cloud-platform", 15663 // "https://www.googleapis.com/auth/cloud-vision" 15664 // ] 15665 // } 15666 15667} 15668 15669// method id "vision.locations.operations.get": 15670 15671type LocationsOperationsGetCall struct { 15672 s *Service 15673 name string 15674 urlParams_ gensupport.URLParams 15675 ifNoneMatch_ string 15676 ctx_ context.Context 15677 header_ http.Header 15678} 15679 15680// Get: Gets the latest state of a long-running operation. Clients can 15681// use this 15682// method to poll the operation result at intervals as recommended by 15683// the API 15684// service. 15685func (r *LocationsOperationsService) Get(name string) *LocationsOperationsGetCall { 15686 c := &LocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15687 c.name = name 15688 return c 15689} 15690 15691// Fields allows partial responses to be retrieved. See 15692// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15693// for more information. 15694func (c *LocationsOperationsGetCall) Fields(s ...googleapi.Field) *LocationsOperationsGetCall { 15695 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15696 return c 15697} 15698 15699// IfNoneMatch sets the optional parameter which makes the operation 15700// fail if the object's ETag matches the given value. This is useful for 15701// getting updates only after the object has changed since the last 15702// request. Use googleapi.IsNotModified to check whether the response 15703// error from Do is the result of In-None-Match. 15704func (c *LocationsOperationsGetCall) IfNoneMatch(entityTag string) *LocationsOperationsGetCall { 15705 c.ifNoneMatch_ = entityTag 15706 return c 15707} 15708 15709// Context sets the context to be used in this call's Do method. Any 15710// pending HTTP request will be aborted if the provided context is 15711// canceled. 15712func (c *LocationsOperationsGetCall) Context(ctx context.Context) *LocationsOperationsGetCall { 15713 c.ctx_ = ctx 15714 return c 15715} 15716 15717// Header returns an http.Header that can be modified by the caller to 15718// add HTTP headers to the request. 15719func (c *LocationsOperationsGetCall) Header() http.Header { 15720 if c.header_ == nil { 15721 c.header_ = make(http.Header) 15722 } 15723 return c.header_ 15724} 15725 15726func (c *LocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 15727 reqHeaders := make(http.Header) 15728 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 15729 for k, v := range c.header_ { 15730 reqHeaders[k] = v 15731 } 15732 reqHeaders.Set("User-Agent", c.s.userAgent()) 15733 if c.ifNoneMatch_ != "" { 15734 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 15735 } 15736 var body io.Reader = nil 15737 c.urlParams_.Set("alt", alt) 15738 c.urlParams_.Set("prettyPrint", "false") 15739 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 15740 urls += "?" + c.urlParams_.Encode() 15741 req, err := http.NewRequest("GET", urls, body) 15742 if err != nil { 15743 return nil, err 15744 } 15745 req.Header = reqHeaders 15746 googleapi.Expand(req.URL, map[string]string{ 15747 "name": c.name, 15748 }) 15749 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15750} 15751 15752// Do executes the "vision.locations.operations.get" call. 15753// Exactly one of *Operation or error will be non-nil. Any non-2xx 15754// status code is an error. Response headers are in either 15755// *Operation.ServerResponse.Header or (if a response was returned at 15756// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 15757// to check whether the returned error was because 15758// http.StatusNotModified was returned. 15759func (c *LocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 15760 gensupport.SetOptions(c.urlParams_, opts...) 15761 res, err := c.doRequest("json") 15762 if res != nil && res.StatusCode == http.StatusNotModified { 15763 if res.Body != nil { 15764 res.Body.Close() 15765 } 15766 return nil, &googleapi.Error{ 15767 Code: res.StatusCode, 15768 Header: res.Header, 15769 } 15770 } 15771 if err != nil { 15772 return nil, err 15773 } 15774 defer googleapi.CloseBody(res) 15775 if err := googleapi.CheckResponse(res); err != nil { 15776 return nil, err 15777 } 15778 ret := &Operation{ 15779 ServerResponse: googleapi.ServerResponse{ 15780 Header: res.Header, 15781 HTTPStatusCode: res.StatusCode, 15782 }, 15783 } 15784 target := &ret 15785 if err := gensupport.DecodeResponse(target, res); err != nil { 15786 return nil, err 15787 } 15788 return ret, nil 15789 // { 15790 // "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.", 15791 // "flatPath": "v1/locations/{locationsId}/operations/{operationsId}", 15792 // "httpMethod": "GET", 15793 // "id": "vision.locations.operations.get", 15794 // "parameterOrder": [ 15795 // "name" 15796 // ], 15797 // "parameters": { 15798 // "name": { 15799 // "description": "The name of the operation resource.", 15800 // "location": "path", 15801 // "pattern": "^locations/[^/]+/operations/[^/]+$", 15802 // "required": true, 15803 // "type": "string" 15804 // } 15805 // }, 15806 // "path": "v1/{+name}", 15807 // "response": { 15808 // "$ref": "Operation" 15809 // }, 15810 // "scopes": [ 15811 // "https://www.googleapis.com/auth/cloud-platform", 15812 // "https://www.googleapis.com/auth/cloud-vision" 15813 // ] 15814 // } 15815 15816} 15817 15818// method id "vision.operations.cancel": 15819 15820type OperationsCancelCall struct { 15821 s *Service 15822 name string 15823 canceloperationrequest *CancelOperationRequest 15824 urlParams_ gensupport.URLParams 15825 ctx_ context.Context 15826 header_ http.Header 15827} 15828 15829// Cancel: Starts asynchronous cancellation on a long-running operation. 15830// The server 15831// makes a best effort to cancel the operation, but success is 15832// not 15833// guaranteed. If the server doesn't support this method, it 15834// returns 15835// `google.rpc.Code.UNIMPLEMENTED`. Clients can 15836// use 15837// Operations.GetOperation or 15838// other methods to check whether the cancellation succeeded or whether 15839// the 15840// operation completed despite cancellation. On successful 15841// cancellation, 15842// the operation is not deleted; instead, it becomes an operation 15843// with 15844// an Operation.error value with a google.rpc.Status.code of 15845// 1, 15846// corresponding to `Code.CANCELLED`. 15847func (r *OperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *OperationsCancelCall { 15848 c := &OperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15849 c.name = name 15850 c.canceloperationrequest = canceloperationrequest 15851 return c 15852} 15853 15854// Fields allows partial responses to be retrieved. See 15855// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 15856// for more information. 15857func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall { 15858 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 15859 return c 15860} 15861 15862// Context sets the context to be used in this call's Do method. Any 15863// pending HTTP request will be aborted if the provided context is 15864// canceled. 15865func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall { 15866 c.ctx_ = ctx 15867 return c 15868} 15869 15870// Header returns an http.Header that can be modified by the caller to 15871// add HTTP headers to the request. 15872func (c *OperationsCancelCall) Header() http.Header { 15873 if c.header_ == nil { 15874 c.header_ = make(http.Header) 15875 } 15876 return c.header_ 15877} 15878 15879func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) { 15880 reqHeaders := make(http.Header) 15881 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 15882 for k, v := range c.header_ { 15883 reqHeaders[k] = v 15884 } 15885 reqHeaders.Set("User-Agent", c.s.userAgent()) 15886 var body io.Reader = nil 15887 body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) 15888 if err != nil { 15889 return nil, err 15890 } 15891 reqHeaders.Set("Content-Type", "application/json") 15892 c.urlParams_.Set("alt", alt) 15893 c.urlParams_.Set("prettyPrint", "false") 15894 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") 15895 urls += "?" + c.urlParams_.Encode() 15896 req, err := http.NewRequest("POST", urls, body) 15897 if err != nil { 15898 return nil, err 15899 } 15900 req.Header = reqHeaders 15901 googleapi.Expand(req.URL, map[string]string{ 15902 "name": c.name, 15903 }) 15904 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15905} 15906 15907// Do executes the "vision.operations.cancel" call. 15908// Exactly one of *Empty or error will be non-nil. Any non-2xx status 15909// code is an error. Response headers are in either 15910// *Empty.ServerResponse.Header or (if a response was returned at all) 15911// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 15912// check whether the returned error was because http.StatusNotModified 15913// was returned. 15914func (c *OperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 15915 gensupport.SetOptions(c.urlParams_, opts...) 15916 res, err := c.doRequest("json") 15917 if res != nil && res.StatusCode == http.StatusNotModified { 15918 if res.Body != nil { 15919 res.Body.Close() 15920 } 15921 return nil, &googleapi.Error{ 15922 Code: res.StatusCode, 15923 Header: res.Header, 15924 } 15925 } 15926 if err != nil { 15927 return nil, err 15928 } 15929 defer googleapi.CloseBody(res) 15930 if err := googleapi.CheckResponse(res); err != nil { 15931 return nil, err 15932 } 15933 ret := &Empty{ 15934 ServerResponse: googleapi.ServerResponse{ 15935 Header: res.Header, 15936 HTTPStatusCode: res.StatusCode, 15937 }, 15938 } 15939 target := &ret 15940 if err := gensupport.DecodeResponse(target, res); err != nil { 15941 return nil, err 15942 } 15943 return ret, nil 15944 // { 15945 // "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`.", 15946 // "flatPath": "v1/operations/{operationsId}:cancel", 15947 // "httpMethod": "POST", 15948 // "id": "vision.operations.cancel", 15949 // "parameterOrder": [ 15950 // "name" 15951 // ], 15952 // "parameters": { 15953 // "name": { 15954 // "description": "The name of the operation resource to be cancelled.", 15955 // "location": "path", 15956 // "pattern": "^operations/.*$", 15957 // "required": true, 15958 // "type": "string" 15959 // } 15960 // }, 15961 // "path": "v1/{+name}:cancel", 15962 // "request": { 15963 // "$ref": "CancelOperationRequest" 15964 // }, 15965 // "response": { 15966 // "$ref": "Empty" 15967 // }, 15968 // "scopes": [ 15969 // "https://www.googleapis.com/auth/cloud-platform", 15970 // "https://www.googleapis.com/auth/cloud-vision" 15971 // ] 15972 // } 15973 15974} 15975 15976// method id "vision.operations.delete": 15977 15978type OperationsDeleteCall struct { 15979 s *Service 15980 name string 15981 urlParams_ gensupport.URLParams 15982 ctx_ context.Context 15983 header_ http.Header 15984} 15985 15986// Delete: Deletes a long-running operation. This method indicates that 15987// the client is 15988// no longer interested in the operation result. It does not cancel 15989// the 15990// operation. If the server doesn't support this method, it 15991// returns 15992// `google.rpc.Code.UNIMPLEMENTED`. 15993func (r *OperationsService) Delete(name string) *OperationsDeleteCall { 15994 c := &OperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 15995 c.name = name 15996 return c 15997} 15998 15999// Fields allows partial responses to be retrieved. See 16000// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16001// for more information. 16002func (c *OperationsDeleteCall) Fields(s ...googleapi.Field) *OperationsDeleteCall { 16003 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16004 return c 16005} 16006 16007// Context sets the context to be used in this call's Do method. Any 16008// pending HTTP request will be aborted if the provided context is 16009// canceled. 16010func (c *OperationsDeleteCall) Context(ctx context.Context) *OperationsDeleteCall { 16011 c.ctx_ = ctx 16012 return c 16013} 16014 16015// Header returns an http.Header that can be modified by the caller to 16016// add HTTP headers to the request. 16017func (c *OperationsDeleteCall) Header() http.Header { 16018 if c.header_ == nil { 16019 c.header_ = make(http.Header) 16020 } 16021 return c.header_ 16022} 16023 16024func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) { 16025 reqHeaders := make(http.Header) 16026 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 16027 for k, v := range c.header_ { 16028 reqHeaders[k] = v 16029 } 16030 reqHeaders.Set("User-Agent", c.s.userAgent()) 16031 var body io.Reader = nil 16032 c.urlParams_.Set("alt", alt) 16033 c.urlParams_.Set("prettyPrint", "false") 16034 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 16035 urls += "?" + c.urlParams_.Encode() 16036 req, err := http.NewRequest("DELETE", urls, body) 16037 if err != nil { 16038 return nil, err 16039 } 16040 req.Header = reqHeaders 16041 googleapi.Expand(req.URL, map[string]string{ 16042 "name": c.name, 16043 }) 16044 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16045} 16046 16047// Do executes the "vision.operations.delete" call. 16048// Exactly one of *Empty or error will be non-nil. Any non-2xx status 16049// code is an error. Response headers are in either 16050// *Empty.ServerResponse.Header or (if a response was returned at all) 16051// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 16052// check whether the returned error was because http.StatusNotModified 16053// was returned. 16054func (c *OperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 16055 gensupport.SetOptions(c.urlParams_, opts...) 16056 res, err := c.doRequest("json") 16057 if res != nil && res.StatusCode == http.StatusNotModified { 16058 if res.Body != nil { 16059 res.Body.Close() 16060 } 16061 return nil, &googleapi.Error{ 16062 Code: res.StatusCode, 16063 Header: res.Header, 16064 } 16065 } 16066 if err != nil { 16067 return nil, err 16068 } 16069 defer googleapi.CloseBody(res) 16070 if err := googleapi.CheckResponse(res); err != nil { 16071 return nil, err 16072 } 16073 ret := &Empty{ 16074 ServerResponse: googleapi.ServerResponse{ 16075 Header: res.Header, 16076 HTTPStatusCode: res.StatusCode, 16077 }, 16078 } 16079 target := &ret 16080 if err := gensupport.DecodeResponse(target, res); err != nil { 16081 return nil, err 16082 } 16083 return ret, nil 16084 // { 16085 // "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`.", 16086 // "flatPath": "v1/operations/{operationsId}", 16087 // "httpMethod": "DELETE", 16088 // "id": "vision.operations.delete", 16089 // "parameterOrder": [ 16090 // "name" 16091 // ], 16092 // "parameters": { 16093 // "name": { 16094 // "description": "The name of the operation resource to be deleted.", 16095 // "location": "path", 16096 // "pattern": "^operations/.*$", 16097 // "required": true, 16098 // "type": "string" 16099 // } 16100 // }, 16101 // "path": "v1/{+name}", 16102 // "response": { 16103 // "$ref": "Empty" 16104 // }, 16105 // "scopes": [ 16106 // "https://www.googleapis.com/auth/cloud-platform", 16107 // "https://www.googleapis.com/auth/cloud-vision" 16108 // ] 16109 // } 16110 16111} 16112 16113// method id "vision.operations.get": 16114 16115type OperationsGetCall struct { 16116 s *Service 16117 name string 16118 urlParams_ gensupport.URLParams 16119 ifNoneMatch_ string 16120 ctx_ context.Context 16121 header_ http.Header 16122} 16123 16124// Get: Gets the latest state of a long-running operation. Clients can 16125// use this 16126// method to poll the operation result at intervals as recommended by 16127// the API 16128// service. 16129func (r *OperationsService) Get(name string) *OperationsGetCall { 16130 c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16131 c.name = name 16132 return c 16133} 16134 16135// Fields allows partial responses to be retrieved. See 16136// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16137// for more information. 16138func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { 16139 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16140 return c 16141} 16142 16143// IfNoneMatch sets the optional parameter which makes the operation 16144// fail if the object's ETag matches the given value. This is useful for 16145// getting updates only after the object has changed since the last 16146// request. Use googleapi.IsNotModified to check whether the response 16147// error from Do is the result of In-None-Match. 16148func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { 16149 c.ifNoneMatch_ = entityTag 16150 return c 16151} 16152 16153// Context sets the context to be used in this call's Do method. Any 16154// pending HTTP request will be aborted if the provided context is 16155// canceled. 16156func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { 16157 c.ctx_ = ctx 16158 return c 16159} 16160 16161// Header returns an http.Header that can be modified by the caller to 16162// add HTTP headers to the request. 16163func (c *OperationsGetCall) Header() http.Header { 16164 if c.header_ == nil { 16165 c.header_ = make(http.Header) 16166 } 16167 return c.header_ 16168} 16169 16170func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) { 16171 reqHeaders := make(http.Header) 16172 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 16173 for k, v := range c.header_ { 16174 reqHeaders[k] = v 16175 } 16176 reqHeaders.Set("User-Agent", c.s.userAgent()) 16177 if c.ifNoneMatch_ != "" { 16178 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 16179 } 16180 var body io.Reader = nil 16181 c.urlParams_.Set("alt", alt) 16182 c.urlParams_.Set("prettyPrint", "false") 16183 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 16184 urls += "?" + c.urlParams_.Encode() 16185 req, err := http.NewRequest("GET", urls, body) 16186 if err != nil { 16187 return nil, err 16188 } 16189 req.Header = reqHeaders 16190 googleapi.Expand(req.URL, map[string]string{ 16191 "name": c.name, 16192 }) 16193 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16194} 16195 16196// Do executes the "vision.operations.get" call. 16197// Exactly one of *Operation or error will be non-nil. Any non-2xx 16198// status code is an error. Response headers are in either 16199// *Operation.ServerResponse.Header or (if a response was returned at 16200// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 16201// to check whether the returned error was because 16202// http.StatusNotModified was returned. 16203func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 16204 gensupport.SetOptions(c.urlParams_, opts...) 16205 res, err := c.doRequest("json") 16206 if res != nil && res.StatusCode == http.StatusNotModified { 16207 if res.Body != nil { 16208 res.Body.Close() 16209 } 16210 return nil, &googleapi.Error{ 16211 Code: res.StatusCode, 16212 Header: res.Header, 16213 } 16214 } 16215 if err != nil { 16216 return nil, err 16217 } 16218 defer googleapi.CloseBody(res) 16219 if err := googleapi.CheckResponse(res); err != nil { 16220 return nil, err 16221 } 16222 ret := &Operation{ 16223 ServerResponse: googleapi.ServerResponse{ 16224 Header: res.Header, 16225 HTTPStatusCode: res.StatusCode, 16226 }, 16227 } 16228 target := &ret 16229 if err := gensupport.DecodeResponse(target, res); err != nil { 16230 return nil, err 16231 } 16232 return ret, nil 16233 // { 16234 // "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.", 16235 // "flatPath": "v1/operations/{operationsId}", 16236 // "httpMethod": "GET", 16237 // "id": "vision.operations.get", 16238 // "parameterOrder": [ 16239 // "name" 16240 // ], 16241 // "parameters": { 16242 // "name": { 16243 // "description": "The name of the operation resource.", 16244 // "location": "path", 16245 // "pattern": "^operations/[^/]+$", 16246 // "required": true, 16247 // "type": "string" 16248 // } 16249 // }, 16250 // "path": "v1/{+name}", 16251 // "response": { 16252 // "$ref": "Operation" 16253 // }, 16254 // "scopes": [ 16255 // "https://www.googleapis.com/auth/cloud-platform", 16256 // "https://www.googleapis.com/auth/cloud-vision" 16257 // ] 16258 // } 16259 16260} 16261 16262// method id "vision.operations.list": 16263 16264type OperationsListCall struct { 16265 s *Service 16266 name string 16267 urlParams_ gensupport.URLParams 16268 ifNoneMatch_ string 16269 ctx_ context.Context 16270 header_ http.Header 16271} 16272 16273// List: Lists operations that match the specified filter in the 16274// request. If the 16275// server doesn't support this method, it returns 16276// `UNIMPLEMENTED`. 16277// 16278// NOTE: the `name` binding allows API services to override the 16279// binding 16280// to use different resource name schemes, such as `users/*/operations`. 16281// To 16282// override the binding, API services can add a binding such 16283// as 16284// "/v1/{name=users/*}/operations" to their service configuration. 16285// For backwards compatibility, the default name includes the 16286// operations 16287// collection id, however overriding users must ensure the name 16288// binding 16289// is the parent resource, without the operations collection id. 16290func (r *OperationsService) List(name string) *OperationsListCall { 16291 c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16292 c.name = name 16293 return c 16294} 16295 16296// Filter sets the optional parameter "filter": The standard list 16297// filter. 16298func (c *OperationsListCall) Filter(filter string) *OperationsListCall { 16299 c.urlParams_.Set("filter", filter) 16300 return c 16301} 16302 16303// PageSize sets the optional parameter "pageSize": The standard list 16304// page size. 16305func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall { 16306 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 16307 return c 16308} 16309 16310// PageToken sets the optional parameter "pageToken": The standard list 16311// page token. 16312func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall { 16313 c.urlParams_.Set("pageToken", pageToken) 16314 return c 16315} 16316 16317// Fields allows partial responses to be retrieved. See 16318// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16319// for more information. 16320func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall { 16321 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16322 return c 16323} 16324 16325// IfNoneMatch sets the optional parameter which makes the operation 16326// fail if the object's ETag matches the given value. This is useful for 16327// getting updates only after the object has changed since the last 16328// request. Use googleapi.IsNotModified to check whether the response 16329// error from Do is the result of In-None-Match. 16330func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall { 16331 c.ifNoneMatch_ = entityTag 16332 return c 16333} 16334 16335// Context sets the context to be used in this call's Do method. Any 16336// pending HTTP request will be aborted if the provided context is 16337// canceled. 16338func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall { 16339 c.ctx_ = ctx 16340 return c 16341} 16342 16343// Header returns an http.Header that can be modified by the caller to 16344// add HTTP headers to the request. 16345func (c *OperationsListCall) Header() http.Header { 16346 if c.header_ == nil { 16347 c.header_ = make(http.Header) 16348 } 16349 return c.header_ 16350} 16351 16352func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) { 16353 reqHeaders := make(http.Header) 16354 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 16355 for k, v := range c.header_ { 16356 reqHeaders[k] = v 16357 } 16358 reqHeaders.Set("User-Agent", c.s.userAgent()) 16359 if c.ifNoneMatch_ != "" { 16360 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 16361 } 16362 var body io.Reader = nil 16363 c.urlParams_.Set("alt", alt) 16364 c.urlParams_.Set("prettyPrint", "false") 16365 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 16366 urls += "?" + c.urlParams_.Encode() 16367 req, err := http.NewRequest("GET", urls, body) 16368 if err != nil { 16369 return nil, err 16370 } 16371 req.Header = reqHeaders 16372 googleapi.Expand(req.URL, map[string]string{ 16373 "name": c.name, 16374 }) 16375 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16376} 16377 16378// Do executes the "vision.operations.list" call. 16379// Exactly one of *ListOperationsResponse or error will be non-nil. Any 16380// non-2xx status code is an error. Response headers are in either 16381// *ListOperationsResponse.ServerResponse.Header or (if a response was 16382// returned at all) in error.(*googleapi.Error).Header. Use 16383// googleapi.IsNotModified to check whether the returned error was 16384// because http.StatusNotModified was returned. 16385func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { 16386 gensupport.SetOptions(c.urlParams_, opts...) 16387 res, err := c.doRequest("json") 16388 if res != nil && res.StatusCode == http.StatusNotModified { 16389 if res.Body != nil { 16390 res.Body.Close() 16391 } 16392 return nil, &googleapi.Error{ 16393 Code: res.StatusCode, 16394 Header: res.Header, 16395 } 16396 } 16397 if err != nil { 16398 return nil, err 16399 } 16400 defer googleapi.CloseBody(res) 16401 if err := googleapi.CheckResponse(res); err != nil { 16402 return nil, err 16403 } 16404 ret := &ListOperationsResponse{ 16405 ServerResponse: googleapi.ServerResponse{ 16406 Header: res.Header, 16407 HTTPStatusCode: res.StatusCode, 16408 }, 16409 } 16410 target := &ret 16411 if err := gensupport.DecodeResponse(target, res); err != nil { 16412 return nil, err 16413 } 16414 return ret, nil 16415 // { 16416 // "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.", 16417 // "flatPath": "v1/operations", 16418 // "httpMethod": "GET", 16419 // "id": "vision.operations.list", 16420 // "parameterOrder": [ 16421 // "name" 16422 // ], 16423 // "parameters": { 16424 // "filter": { 16425 // "description": "The standard list filter.", 16426 // "location": "query", 16427 // "type": "string" 16428 // }, 16429 // "name": { 16430 // "description": "The name of the operation's parent resource.", 16431 // "location": "path", 16432 // "pattern": "^operations$", 16433 // "required": true, 16434 // "type": "string" 16435 // }, 16436 // "pageSize": { 16437 // "description": "The standard list page size.", 16438 // "format": "int32", 16439 // "location": "query", 16440 // "type": "integer" 16441 // }, 16442 // "pageToken": { 16443 // "description": "The standard list page token.", 16444 // "location": "query", 16445 // "type": "string" 16446 // } 16447 // }, 16448 // "path": "v1/{+name}", 16449 // "response": { 16450 // "$ref": "ListOperationsResponse" 16451 // }, 16452 // "scopes": [ 16453 // "https://www.googleapis.com/auth/cloud-platform", 16454 // "https://www.googleapis.com/auth/cloud-vision" 16455 // ] 16456 // } 16457 16458} 16459 16460// Pages invokes f for each page of results. 16461// A non-nil error returned from f will halt the iteration. 16462// The provided context supersedes any context provided to the Context method. 16463func (c *OperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { 16464 c.ctx_ = ctx 16465 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 16466 for { 16467 x, err := c.Do() 16468 if err != nil { 16469 return err 16470 } 16471 if err := f(x); err != nil { 16472 return err 16473 } 16474 if x.NextPageToken == "" { 16475 return nil 16476 } 16477 c.PageToken(x.NextPageToken) 16478 } 16479} 16480 16481// method id "vision.projects.files.annotate": 16482 16483type ProjectsFilesAnnotateCall struct { 16484 s *Service 16485 parent string 16486 batchannotatefilesrequest *BatchAnnotateFilesRequest 16487 urlParams_ gensupport.URLParams 16488 ctx_ context.Context 16489 header_ http.Header 16490} 16491 16492// Annotate: Service that performs image detection and annotation for a 16493// batch of files. 16494// Now only "application/pdf", "image/tiff" and "image/gif" are 16495// supported. 16496// 16497// This service will extract at most 5 (customers can specify which 5 16498// in 16499// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 16500// each 16501// file provided and perform detection and annotation for each 16502// image 16503// extracted. 16504func (r *ProjectsFilesService) Annotate(parent string, batchannotatefilesrequest *BatchAnnotateFilesRequest) *ProjectsFilesAnnotateCall { 16505 c := &ProjectsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16506 c.parent = parent 16507 c.batchannotatefilesrequest = batchannotatefilesrequest 16508 return c 16509} 16510 16511// Fields allows partial responses to be retrieved. See 16512// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16513// for more information. 16514func (c *ProjectsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAnnotateCall { 16515 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16516 return c 16517} 16518 16519// Context sets the context to be used in this call's Do method. Any 16520// pending HTTP request will be aborted if the provided context is 16521// canceled. 16522func (c *ProjectsFilesAnnotateCall) Context(ctx context.Context) *ProjectsFilesAnnotateCall { 16523 c.ctx_ = ctx 16524 return c 16525} 16526 16527// Header returns an http.Header that can be modified by the caller to 16528// add HTTP headers to the request. 16529func (c *ProjectsFilesAnnotateCall) Header() http.Header { 16530 if c.header_ == nil { 16531 c.header_ = make(http.Header) 16532 } 16533 return c.header_ 16534} 16535 16536func (c *ProjectsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 16537 reqHeaders := make(http.Header) 16538 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 16539 for k, v := range c.header_ { 16540 reqHeaders[k] = v 16541 } 16542 reqHeaders.Set("User-Agent", c.s.userAgent()) 16543 var body io.Reader = nil 16544 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotatefilesrequest) 16545 if err != nil { 16546 return nil, err 16547 } 16548 reqHeaders.Set("Content-Type", "application/json") 16549 c.urlParams_.Set("alt", alt) 16550 c.urlParams_.Set("prettyPrint", "false") 16551 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:annotate") 16552 urls += "?" + c.urlParams_.Encode() 16553 req, err := http.NewRequest("POST", urls, body) 16554 if err != nil { 16555 return nil, err 16556 } 16557 req.Header = reqHeaders 16558 googleapi.Expand(req.URL, map[string]string{ 16559 "parent": c.parent, 16560 }) 16561 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16562} 16563 16564// Do executes the "vision.projects.files.annotate" call. 16565// Exactly one of *BatchAnnotateFilesResponse or error will be non-nil. 16566// Any non-2xx status code is an error. Response headers are in either 16567// *BatchAnnotateFilesResponse.ServerResponse.Header or (if a response 16568// was returned at all) in error.(*googleapi.Error).Header. Use 16569// googleapi.IsNotModified to check whether the returned error was 16570// because http.StatusNotModified was returned. 16571func (c *ProjectsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateFilesResponse, error) { 16572 gensupport.SetOptions(c.urlParams_, opts...) 16573 res, err := c.doRequest("json") 16574 if res != nil && res.StatusCode == http.StatusNotModified { 16575 if res.Body != nil { 16576 res.Body.Close() 16577 } 16578 return nil, &googleapi.Error{ 16579 Code: res.StatusCode, 16580 Header: res.Header, 16581 } 16582 } 16583 if err != nil { 16584 return nil, err 16585 } 16586 defer googleapi.CloseBody(res) 16587 if err := googleapi.CheckResponse(res); err != nil { 16588 return nil, err 16589 } 16590 ret := &BatchAnnotateFilesResponse{ 16591 ServerResponse: googleapi.ServerResponse{ 16592 Header: res.Header, 16593 HTTPStatusCode: res.StatusCode, 16594 }, 16595 } 16596 target := &ret 16597 if err := gensupport.DecodeResponse(target, res); err != nil { 16598 return nil, err 16599 } 16600 return ret, nil 16601 // { 16602 // "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.", 16603 // "flatPath": "v1/projects/{projectsId}/files:annotate", 16604 // "httpMethod": "POST", 16605 // "id": "vision.projects.files.annotate", 16606 // "parameterOrder": [ 16607 // "parent" 16608 // ], 16609 // "parameters": { 16610 // "parent": { 16611 // "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`.", 16612 // "location": "path", 16613 // "pattern": "^projects/[^/]+$", 16614 // "required": true, 16615 // "type": "string" 16616 // } 16617 // }, 16618 // "path": "v1/{+parent}/files:annotate", 16619 // "request": { 16620 // "$ref": "BatchAnnotateFilesRequest" 16621 // }, 16622 // "response": { 16623 // "$ref": "BatchAnnotateFilesResponse" 16624 // }, 16625 // "scopes": [ 16626 // "https://www.googleapis.com/auth/cloud-platform", 16627 // "https://www.googleapis.com/auth/cloud-vision" 16628 // ] 16629 // } 16630 16631} 16632 16633// method id "vision.projects.files.asyncBatchAnnotate": 16634 16635type ProjectsFilesAsyncBatchAnnotateCall struct { 16636 s *Service 16637 parent string 16638 asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest 16639 urlParams_ gensupport.URLParams 16640 ctx_ context.Context 16641 header_ http.Header 16642} 16643 16644// AsyncBatchAnnotate: Run asynchronous image detection and annotation 16645// for a list of generic 16646// files, such as PDF files, which may contain multiple pages and 16647// multiple 16648// images per page. Progress and results can be retrieved through 16649// the 16650// `google.longrunning.Operations` interface. 16651// `Operation.metadata` contains `OperationMetadata` 16652// (metadata). 16653// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 16654// (results). 16655func (r *ProjectsFilesService) AsyncBatchAnnotate(parent string, asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest) *ProjectsFilesAsyncBatchAnnotateCall { 16656 c := &ProjectsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16657 c.parent = parent 16658 c.asyncbatchannotatefilesrequest = asyncbatchannotatefilesrequest 16659 return c 16660} 16661 16662// Fields allows partial responses to be retrieved. See 16663// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16664// for more information. 16665func (c *ProjectsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAsyncBatchAnnotateCall { 16666 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16667 return c 16668} 16669 16670// Context sets the context to be used in this call's Do method. Any 16671// pending HTTP request will be aborted if the provided context is 16672// canceled. 16673func (c *ProjectsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsFilesAsyncBatchAnnotateCall { 16674 c.ctx_ = ctx 16675 return c 16676} 16677 16678// Header returns an http.Header that can be modified by the caller to 16679// add HTTP headers to the request. 16680func (c *ProjectsFilesAsyncBatchAnnotateCall) Header() http.Header { 16681 if c.header_ == nil { 16682 c.header_ = make(http.Header) 16683 } 16684 return c.header_ 16685} 16686 16687func (c *ProjectsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 16688 reqHeaders := make(http.Header) 16689 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 16690 for k, v := range c.header_ { 16691 reqHeaders[k] = v 16692 } 16693 reqHeaders.Set("User-Agent", c.s.userAgent()) 16694 var body io.Reader = nil 16695 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotatefilesrequest) 16696 if err != nil { 16697 return nil, err 16698 } 16699 reqHeaders.Set("Content-Type", "application/json") 16700 c.urlParams_.Set("alt", alt) 16701 c.urlParams_.Set("prettyPrint", "false") 16702 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:asyncBatchAnnotate") 16703 urls += "?" + c.urlParams_.Encode() 16704 req, err := http.NewRequest("POST", urls, body) 16705 if err != nil { 16706 return nil, err 16707 } 16708 req.Header = reqHeaders 16709 googleapi.Expand(req.URL, map[string]string{ 16710 "parent": c.parent, 16711 }) 16712 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16713} 16714 16715// Do executes the "vision.projects.files.asyncBatchAnnotate" call. 16716// Exactly one of *Operation or error will be non-nil. Any non-2xx 16717// status code is an error. Response headers are in either 16718// *Operation.ServerResponse.Header or (if a response was returned at 16719// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 16720// to check whether the returned error was because 16721// http.StatusNotModified was returned. 16722func (c *ProjectsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 16723 gensupport.SetOptions(c.urlParams_, opts...) 16724 res, err := c.doRequest("json") 16725 if res != nil && res.StatusCode == http.StatusNotModified { 16726 if res.Body != nil { 16727 res.Body.Close() 16728 } 16729 return nil, &googleapi.Error{ 16730 Code: res.StatusCode, 16731 Header: res.Header, 16732 } 16733 } 16734 if err != nil { 16735 return nil, err 16736 } 16737 defer googleapi.CloseBody(res) 16738 if err := googleapi.CheckResponse(res); err != nil { 16739 return nil, err 16740 } 16741 ret := &Operation{ 16742 ServerResponse: googleapi.ServerResponse{ 16743 Header: res.Header, 16744 HTTPStatusCode: res.StatusCode, 16745 }, 16746 } 16747 target := &ret 16748 if err := gensupport.DecodeResponse(target, res); err != nil { 16749 return nil, err 16750 } 16751 return ret, nil 16752 // { 16753 // "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).", 16754 // "flatPath": "v1/projects/{projectsId}/files:asyncBatchAnnotate", 16755 // "httpMethod": "POST", 16756 // "id": "vision.projects.files.asyncBatchAnnotate", 16757 // "parameterOrder": [ 16758 // "parent" 16759 // ], 16760 // "parameters": { 16761 // "parent": { 16762 // "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`.", 16763 // "location": "path", 16764 // "pattern": "^projects/[^/]+$", 16765 // "required": true, 16766 // "type": "string" 16767 // } 16768 // }, 16769 // "path": "v1/{+parent}/files:asyncBatchAnnotate", 16770 // "request": { 16771 // "$ref": "AsyncBatchAnnotateFilesRequest" 16772 // }, 16773 // "response": { 16774 // "$ref": "Operation" 16775 // }, 16776 // "scopes": [ 16777 // "https://www.googleapis.com/auth/cloud-platform", 16778 // "https://www.googleapis.com/auth/cloud-vision" 16779 // ] 16780 // } 16781 16782} 16783 16784// method id "vision.projects.images.annotate": 16785 16786type ProjectsImagesAnnotateCall struct { 16787 s *Service 16788 parent string 16789 batchannotateimagesrequest *BatchAnnotateImagesRequest 16790 urlParams_ gensupport.URLParams 16791 ctx_ context.Context 16792 header_ http.Header 16793} 16794 16795// Annotate: Run image detection and annotation for a batch of images. 16796func (r *ProjectsImagesService) Annotate(parent string, batchannotateimagesrequest *BatchAnnotateImagesRequest) *ProjectsImagesAnnotateCall { 16797 c := &ProjectsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16798 c.parent = parent 16799 c.batchannotateimagesrequest = batchannotateimagesrequest 16800 return c 16801} 16802 16803// Fields allows partial responses to be retrieved. See 16804// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16805// for more information. 16806func (c *ProjectsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAnnotateCall { 16807 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16808 return c 16809} 16810 16811// Context sets the context to be used in this call's Do method. Any 16812// pending HTTP request will be aborted if the provided context is 16813// canceled. 16814func (c *ProjectsImagesAnnotateCall) Context(ctx context.Context) *ProjectsImagesAnnotateCall { 16815 c.ctx_ = ctx 16816 return c 16817} 16818 16819// Header returns an http.Header that can be modified by the caller to 16820// add HTTP headers to the request. 16821func (c *ProjectsImagesAnnotateCall) Header() http.Header { 16822 if c.header_ == nil { 16823 c.header_ = make(http.Header) 16824 } 16825 return c.header_ 16826} 16827 16828func (c *ProjectsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 16829 reqHeaders := make(http.Header) 16830 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 16831 for k, v := range c.header_ { 16832 reqHeaders[k] = v 16833 } 16834 reqHeaders.Set("User-Agent", c.s.userAgent()) 16835 var body io.Reader = nil 16836 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotateimagesrequest) 16837 if err != nil { 16838 return nil, err 16839 } 16840 reqHeaders.Set("Content-Type", "application/json") 16841 c.urlParams_.Set("alt", alt) 16842 c.urlParams_.Set("prettyPrint", "false") 16843 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:annotate") 16844 urls += "?" + c.urlParams_.Encode() 16845 req, err := http.NewRequest("POST", urls, body) 16846 if err != nil { 16847 return nil, err 16848 } 16849 req.Header = reqHeaders 16850 googleapi.Expand(req.URL, map[string]string{ 16851 "parent": c.parent, 16852 }) 16853 return gensupport.SendRequest(c.ctx_, c.s.client, req) 16854} 16855 16856// Do executes the "vision.projects.images.annotate" call. 16857// Exactly one of *BatchAnnotateImagesResponse or error will be non-nil. 16858// Any non-2xx status code is an error. Response headers are in either 16859// *BatchAnnotateImagesResponse.ServerResponse.Header or (if a response 16860// was returned at all) in error.(*googleapi.Error).Header. Use 16861// googleapi.IsNotModified to check whether the returned error was 16862// because http.StatusNotModified was returned. 16863func (c *ProjectsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateImagesResponse, error) { 16864 gensupport.SetOptions(c.urlParams_, opts...) 16865 res, err := c.doRequest("json") 16866 if res != nil && res.StatusCode == http.StatusNotModified { 16867 if res.Body != nil { 16868 res.Body.Close() 16869 } 16870 return nil, &googleapi.Error{ 16871 Code: res.StatusCode, 16872 Header: res.Header, 16873 } 16874 } 16875 if err != nil { 16876 return nil, err 16877 } 16878 defer googleapi.CloseBody(res) 16879 if err := googleapi.CheckResponse(res); err != nil { 16880 return nil, err 16881 } 16882 ret := &BatchAnnotateImagesResponse{ 16883 ServerResponse: googleapi.ServerResponse{ 16884 Header: res.Header, 16885 HTTPStatusCode: res.StatusCode, 16886 }, 16887 } 16888 target := &ret 16889 if err := gensupport.DecodeResponse(target, res); err != nil { 16890 return nil, err 16891 } 16892 return ret, nil 16893 // { 16894 // "description": "Run image detection and annotation for a batch of images.", 16895 // "flatPath": "v1/projects/{projectsId}/images:annotate", 16896 // "httpMethod": "POST", 16897 // "id": "vision.projects.images.annotate", 16898 // "parameterOrder": [ 16899 // "parent" 16900 // ], 16901 // "parameters": { 16902 // "parent": { 16903 // "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`.", 16904 // "location": "path", 16905 // "pattern": "^projects/[^/]+$", 16906 // "required": true, 16907 // "type": "string" 16908 // } 16909 // }, 16910 // "path": "v1/{+parent}/images:annotate", 16911 // "request": { 16912 // "$ref": "BatchAnnotateImagesRequest" 16913 // }, 16914 // "response": { 16915 // "$ref": "BatchAnnotateImagesResponse" 16916 // }, 16917 // "scopes": [ 16918 // "https://www.googleapis.com/auth/cloud-platform", 16919 // "https://www.googleapis.com/auth/cloud-vision" 16920 // ] 16921 // } 16922 16923} 16924 16925// method id "vision.projects.images.asyncBatchAnnotate": 16926 16927type ProjectsImagesAsyncBatchAnnotateCall struct { 16928 s *Service 16929 parent string 16930 asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest 16931 urlParams_ gensupport.URLParams 16932 ctx_ context.Context 16933 header_ http.Header 16934} 16935 16936// AsyncBatchAnnotate: Run asynchronous image detection and annotation 16937// for a list of images. 16938// 16939// Progress and results can be retrieved through 16940// the 16941// `google.longrunning.Operations` interface. 16942// `Operation.metadata` contains `OperationMetadata` 16943// (metadata). 16944// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` 16945// (results). 16946// 16947// This service will write image annotation outputs to json files in 16948// customer 16949// GCS bucket, each json file containing BatchAnnotateImagesResponse 16950// proto. 16951func (r *ProjectsImagesService) AsyncBatchAnnotate(parent string, asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest) *ProjectsImagesAsyncBatchAnnotateCall { 16952 c := &ProjectsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 16953 c.parent = parent 16954 c.asyncbatchannotateimagesrequest = asyncbatchannotateimagesrequest 16955 return c 16956} 16957 16958// Fields allows partial responses to be retrieved. See 16959// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 16960// for more information. 16961func (c *ProjectsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAsyncBatchAnnotateCall { 16962 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 16963 return c 16964} 16965 16966// Context sets the context to be used in this call's Do method. Any 16967// pending HTTP request will be aborted if the provided context is 16968// canceled. 16969func (c *ProjectsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsImagesAsyncBatchAnnotateCall { 16970 c.ctx_ = ctx 16971 return c 16972} 16973 16974// Header returns an http.Header that can be modified by the caller to 16975// add HTTP headers to the request. 16976func (c *ProjectsImagesAsyncBatchAnnotateCall) Header() http.Header { 16977 if c.header_ == nil { 16978 c.header_ = make(http.Header) 16979 } 16980 return c.header_ 16981} 16982 16983func (c *ProjectsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 16984 reqHeaders := make(http.Header) 16985 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 16986 for k, v := range c.header_ { 16987 reqHeaders[k] = v 16988 } 16989 reqHeaders.Set("User-Agent", c.s.userAgent()) 16990 var body io.Reader = nil 16991 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotateimagesrequest) 16992 if err != nil { 16993 return nil, err 16994 } 16995 reqHeaders.Set("Content-Type", "application/json") 16996 c.urlParams_.Set("alt", alt) 16997 c.urlParams_.Set("prettyPrint", "false") 16998 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:asyncBatchAnnotate") 16999 urls += "?" + c.urlParams_.Encode() 17000 req, err := http.NewRequest("POST", urls, body) 17001 if err != nil { 17002 return nil, err 17003 } 17004 req.Header = reqHeaders 17005 googleapi.Expand(req.URL, map[string]string{ 17006 "parent": c.parent, 17007 }) 17008 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17009} 17010 17011// Do executes the "vision.projects.images.asyncBatchAnnotate" call. 17012// Exactly one of *Operation or error will be non-nil. Any non-2xx 17013// status code is an error. Response headers are in either 17014// *Operation.ServerResponse.Header or (if a response was returned at 17015// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17016// to check whether the returned error was because 17017// http.StatusNotModified was returned. 17018func (c *ProjectsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17019 gensupport.SetOptions(c.urlParams_, opts...) 17020 res, err := c.doRequest("json") 17021 if res != nil && res.StatusCode == http.StatusNotModified { 17022 if res.Body != nil { 17023 res.Body.Close() 17024 } 17025 return nil, &googleapi.Error{ 17026 Code: res.StatusCode, 17027 Header: res.Header, 17028 } 17029 } 17030 if err != nil { 17031 return nil, err 17032 } 17033 defer googleapi.CloseBody(res) 17034 if err := googleapi.CheckResponse(res); err != nil { 17035 return nil, err 17036 } 17037 ret := &Operation{ 17038 ServerResponse: googleapi.ServerResponse{ 17039 Header: res.Header, 17040 HTTPStatusCode: res.StatusCode, 17041 }, 17042 } 17043 target := &ret 17044 if err := gensupport.DecodeResponse(target, res); err != nil { 17045 return nil, err 17046 } 17047 return ret, nil 17048 // { 17049 // "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.", 17050 // "flatPath": "v1/projects/{projectsId}/images:asyncBatchAnnotate", 17051 // "httpMethod": "POST", 17052 // "id": "vision.projects.images.asyncBatchAnnotate", 17053 // "parameterOrder": [ 17054 // "parent" 17055 // ], 17056 // "parameters": { 17057 // "parent": { 17058 // "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`.", 17059 // "location": "path", 17060 // "pattern": "^projects/[^/]+$", 17061 // "required": true, 17062 // "type": "string" 17063 // } 17064 // }, 17065 // "path": "v1/{+parent}/images:asyncBatchAnnotate", 17066 // "request": { 17067 // "$ref": "AsyncBatchAnnotateImagesRequest" 17068 // }, 17069 // "response": { 17070 // "$ref": "Operation" 17071 // }, 17072 // "scopes": [ 17073 // "https://www.googleapis.com/auth/cloud-platform", 17074 // "https://www.googleapis.com/auth/cloud-vision" 17075 // ] 17076 // } 17077 17078} 17079 17080// method id "vision.projects.locations.files.annotate": 17081 17082type ProjectsLocationsFilesAnnotateCall struct { 17083 s *Service 17084 parent string 17085 batchannotatefilesrequest *BatchAnnotateFilesRequest 17086 urlParams_ gensupport.URLParams 17087 ctx_ context.Context 17088 header_ http.Header 17089} 17090 17091// Annotate: Service that performs image detection and annotation for a 17092// batch of files. 17093// Now only "application/pdf", "image/tiff" and "image/gif" are 17094// supported. 17095// 17096// This service will extract at most 5 (customers can specify which 5 17097// in 17098// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 17099// each 17100// file provided and perform detection and annotation for each 17101// image 17102// extracted. 17103func (r *ProjectsLocationsFilesService) Annotate(parent string, batchannotatefilesrequest *BatchAnnotateFilesRequest) *ProjectsLocationsFilesAnnotateCall { 17104 c := &ProjectsLocationsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17105 c.parent = parent 17106 c.batchannotatefilesrequest = batchannotatefilesrequest 17107 return c 17108} 17109 17110// Fields allows partial responses to be retrieved. See 17111// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17112// for more information. 17113func (c *ProjectsLocationsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAnnotateCall { 17114 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17115 return c 17116} 17117 17118// Context sets the context to be used in this call's Do method. Any 17119// pending HTTP request will be aborted if the provided context is 17120// canceled. 17121func (c *ProjectsLocationsFilesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAnnotateCall { 17122 c.ctx_ = ctx 17123 return c 17124} 17125 17126// Header returns an http.Header that can be modified by the caller to 17127// add HTTP headers to the request. 17128func (c *ProjectsLocationsFilesAnnotateCall) Header() http.Header { 17129 if c.header_ == nil { 17130 c.header_ = make(http.Header) 17131 } 17132 return c.header_ 17133} 17134 17135func (c *ProjectsLocationsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 17136 reqHeaders := make(http.Header) 17137 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 17138 for k, v := range c.header_ { 17139 reqHeaders[k] = v 17140 } 17141 reqHeaders.Set("User-Agent", c.s.userAgent()) 17142 var body io.Reader = nil 17143 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotatefilesrequest) 17144 if err != nil { 17145 return nil, err 17146 } 17147 reqHeaders.Set("Content-Type", "application/json") 17148 c.urlParams_.Set("alt", alt) 17149 c.urlParams_.Set("prettyPrint", "false") 17150 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:annotate") 17151 urls += "?" + c.urlParams_.Encode() 17152 req, err := http.NewRequest("POST", urls, body) 17153 if err != nil { 17154 return nil, err 17155 } 17156 req.Header = reqHeaders 17157 googleapi.Expand(req.URL, map[string]string{ 17158 "parent": c.parent, 17159 }) 17160 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17161} 17162 17163// Do executes the "vision.projects.locations.files.annotate" call. 17164// Exactly one of *BatchAnnotateFilesResponse or error will be non-nil. 17165// Any non-2xx status code is an error. Response headers are in either 17166// *BatchAnnotateFilesResponse.ServerResponse.Header or (if a response 17167// was returned at all) in error.(*googleapi.Error).Header. Use 17168// googleapi.IsNotModified to check whether the returned error was 17169// because http.StatusNotModified was returned. 17170func (c *ProjectsLocationsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateFilesResponse, error) { 17171 gensupport.SetOptions(c.urlParams_, opts...) 17172 res, err := c.doRequest("json") 17173 if res != nil && res.StatusCode == http.StatusNotModified { 17174 if res.Body != nil { 17175 res.Body.Close() 17176 } 17177 return nil, &googleapi.Error{ 17178 Code: res.StatusCode, 17179 Header: res.Header, 17180 } 17181 } 17182 if err != nil { 17183 return nil, err 17184 } 17185 defer googleapi.CloseBody(res) 17186 if err := googleapi.CheckResponse(res); err != nil { 17187 return nil, err 17188 } 17189 ret := &BatchAnnotateFilesResponse{ 17190 ServerResponse: googleapi.ServerResponse{ 17191 Header: res.Header, 17192 HTTPStatusCode: res.StatusCode, 17193 }, 17194 } 17195 target := &ret 17196 if err := gensupport.DecodeResponse(target, res); err != nil { 17197 return nil, err 17198 } 17199 return ret, nil 17200 // { 17201 // "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.", 17202 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/files:annotate", 17203 // "httpMethod": "POST", 17204 // "id": "vision.projects.locations.files.annotate", 17205 // "parameterOrder": [ 17206 // "parent" 17207 // ], 17208 // "parameters": { 17209 // "parent": { 17210 // "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`.", 17211 // "location": "path", 17212 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17213 // "required": true, 17214 // "type": "string" 17215 // } 17216 // }, 17217 // "path": "v1/{+parent}/files:annotate", 17218 // "request": { 17219 // "$ref": "BatchAnnotateFilesRequest" 17220 // }, 17221 // "response": { 17222 // "$ref": "BatchAnnotateFilesResponse" 17223 // }, 17224 // "scopes": [ 17225 // "https://www.googleapis.com/auth/cloud-platform", 17226 // "https://www.googleapis.com/auth/cloud-vision" 17227 // ] 17228 // } 17229 17230} 17231 17232// method id "vision.projects.locations.files.asyncBatchAnnotate": 17233 17234type ProjectsLocationsFilesAsyncBatchAnnotateCall struct { 17235 s *Service 17236 parent string 17237 asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest 17238 urlParams_ gensupport.URLParams 17239 ctx_ context.Context 17240 header_ http.Header 17241} 17242 17243// AsyncBatchAnnotate: Run asynchronous image detection and annotation 17244// for a list of generic 17245// files, such as PDF files, which may contain multiple pages and 17246// multiple 17247// images per page. Progress and results can be retrieved through 17248// the 17249// `google.longrunning.Operations` interface. 17250// `Operation.metadata` contains `OperationMetadata` 17251// (metadata). 17252// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 17253// (results). 17254func (r *ProjectsLocationsFilesService) AsyncBatchAnnotate(parent string, asyncbatchannotatefilesrequest *AsyncBatchAnnotateFilesRequest) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 17255 c := &ProjectsLocationsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17256 c.parent = parent 17257 c.asyncbatchannotatefilesrequest = asyncbatchannotatefilesrequest 17258 return c 17259} 17260 17261// Fields allows partial responses to be retrieved. See 17262// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17263// for more information. 17264func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 17265 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17266 return c 17267} 17268 17269// Context sets the context to be used in this call's Do method. Any 17270// pending HTTP request will be aborted if the provided context is 17271// canceled. 17272func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 17273 c.ctx_ = ctx 17274 return c 17275} 17276 17277// Header returns an http.Header that can be modified by the caller to 17278// add HTTP headers to the request. 17279func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Header() http.Header { 17280 if c.header_ == nil { 17281 c.header_ = make(http.Header) 17282 } 17283 return c.header_ 17284} 17285 17286func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 17287 reqHeaders := make(http.Header) 17288 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 17289 for k, v := range c.header_ { 17290 reqHeaders[k] = v 17291 } 17292 reqHeaders.Set("User-Agent", c.s.userAgent()) 17293 var body io.Reader = nil 17294 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotatefilesrequest) 17295 if err != nil { 17296 return nil, err 17297 } 17298 reqHeaders.Set("Content-Type", "application/json") 17299 c.urlParams_.Set("alt", alt) 17300 c.urlParams_.Set("prettyPrint", "false") 17301 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/files:asyncBatchAnnotate") 17302 urls += "?" + c.urlParams_.Encode() 17303 req, err := http.NewRequest("POST", urls, body) 17304 if err != nil { 17305 return nil, err 17306 } 17307 req.Header = reqHeaders 17308 googleapi.Expand(req.URL, map[string]string{ 17309 "parent": c.parent, 17310 }) 17311 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17312} 17313 17314// Do executes the "vision.projects.locations.files.asyncBatchAnnotate" call. 17315// Exactly one of *Operation or error will be non-nil. Any non-2xx 17316// status code is an error. Response headers are in either 17317// *Operation.ServerResponse.Header or (if a response was returned at 17318// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17319// to check whether the returned error was because 17320// http.StatusNotModified was returned. 17321func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17322 gensupport.SetOptions(c.urlParams_, opts...) 17323 res, err := c.doRequest("json") 17324 if res != nil && res.StatusCode == http.StatusNotModified { 17325 if res.Body != nil { 17326 res.Body.Close() 17327 } 17328 return nil, &googleapi.Error{ 17329 Code: res.StatusCode, 17330 Header: res.Header, 17331 } 17332 } 17333 if err != nil { 17334 return nil, err 17335 } 17336 defer googleapi.CloseBody(res) 17337 if err := googleapi.CheckResponse(res); err != nil { 17338 return nil, err 17339 } 17340 ret := &Operation{ 17341 ServerResponse: googleapi.ServerResponse{ 17342 Header: res.Header, 17343 HTTPStatusCode: res.StatusCode, 17344 }, 17345 } 17346 target := &ret 17347 if err := gensupport.DecodeResponse(target, res); err != nil { 17348 return nil, err 17349 } 17350 return ret, nil 17351 // { 17352 // "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).", 17353 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/files:asyncBatchAnnotate", 17354 // "httpMethod": "POST", 17355 // "id": "vision.projects.locations.files.asyncBatchAnnotate", 17356 // "parameterOrder": [ 17357 // "parent" 17358 // ], 17359 // "parameters": { 17360 // "parent": { 17361 // "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`.", 17362 // "location": "path", 17363 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17364 // "required": true, 17365 // "type": "string" 17366 // } 17367 // }, 17368 // "path": "v1/{+parent}/files:asyncBatchAnnotate", 17369 // "request": { 17370 // "$ref": "AsyncBatchAnnotateFilesRequest" 17371 // }, 17372 // "response": { 17373 // "$ref": "Operation" 17374 // }, 17375 // "scopes": [ 17376 // "https://www.googleapis.com/auth/cloud-platform", 17377 // "https://www.googleapis.com/auth/cloud-vision" 17378 // ] 17379 // } 17380 17381} 17382 17383// method id "vision.projects.locations.images.annotate": 17384 17385type ProjectsLocationsImagesAnnotateCall struct { 17386 s *Service 17387 parent string 17388 batchannotateimagesrequest *BatchAnnotateImagesRequest 17389 urlParams_ gensupport.URLParams 17390 ctx_ context.Context 17391 header_ http.Header 17392} 17393 17394// Annotate: Run image detection and annotation for a batch of images. 17395func (r *ProjectsLocationsImagesService) Annotate(parent string, batchannotateimagesrequest *BatchAnnotateImagesRequest) *ProjectsLocationsImagesAnnotateCall { 17396 c := &ProjectsLocationsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17397 c.parent = parent 17398 c.batchannotateimagesrequest = batchannotateimagesrequest 17399 return c 17400} 17401 17402// Fields allows partial responses to be retrieved. See 17403// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17404// for more information. 17405func (c *ProjectsLocationsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAnnotateCall { 17406 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17407 return c 17408} 17409 17410// Context sets the context to be used in this call's Do method. Any 17411// pending HTTP request will be aborted if the provided context is 17412// canceled. 17413func (c *ProjectsLocationsImagesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAnnotateCall { 17414 c.ctx_ = ctx 17415 return c 17416} 17417 17418// Header returns an http.Header that can be modified by the caller to 17419// add HTTP headers to the request. 17420func (c *ProjectsLocationsImagesAnnotateCall) Header() http.Header { 17421 if c.header_ == nil { 17422 c.header_ = make(http.Header) 17423 } 17424 return c.header_ 17425} 17426 17427func (c *ProjectsLocationsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 17428 reqHeaders := make(http.Header) 17429 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 17430 for k, v := range c.header_ { 17431 reqHeaders[k] = v 17432 } 17433 reqHeaders.Set("User-Agent", c.s.userAgent()) 17434 var body io.Reader = nil 17435 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchannotateimagesrequest) 17436 if err != nil { 17437 return nil, err 17438 } 17439 reqHeaders.Set("Content-Type", "application/json") 17440 c.urlParams_.Set("alt", alt) 17441 c.urlParams_.Set("prettyPrint", "false") 17442 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:annotate") 17443 urls += "?" + c.urlParams_.Encode() 17444 req, err := http.NewRequest("POST", urls, body) 17445 if err != nil { 17446 return nil, err 17447 } 17448 req.Header = reqHeaders 17449 googleapi.Expand(req.URL, map[string]string{ 17450 "parent": c.parent, 17451 }) 17452 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17453} 17454 17455// Do executes the "vision.projects.locations.images.annotate" call. 17456// Exactly one of *BatchAnnotateImagesResponse or error will be non-nil. 17457// Any non-2xx status code is an error. Response headers are in either 17458// *BatchAnnotateImagesResponse.ServerResponse.Header or (if a response 17459// was returned at all) in error.(*googleapi.Error).Header. Use 17460// googleapi.IsNotModified to check whether the returned error was 17461// because http.StatusNotModified was returned. 17462func (c *ProjectsLocationsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateImagesResponse, error) { 17463 gensupport.SetOptions(c.urlParams_, opts...) 17464 res, err := c.doRequest("json") 17465 if res != nil && res.StatusCode == http.StatusNotModified { 17466 if res.Body != nil { 17467 res.Body.Close() 17468 } 17469 return nil, &googleapi.Error{ 17470 Code: res.StatusCode, 17471 Header: res.Header, 17472 } 17473 } 17474 if err != nil { 17475 return nil, err 17476 } 17477 defer googleapi.CloseBody(res) 17478 if err := googleapi.CheckResponse(res); err != nil { 17479 return nil, err 17480 } 17481 ret := &BatchAnnotateImagesResponse{ 17482 ServerResponse: googleapi.ServerResponse{ 17483 Header: res.Header, 17484 HTTPStatusCode: res.StatusCode, 17485 }, 17486 } 17487 target := &ret 17488 if err := gensupport.DecodeResponse(target, res); err != nil { 17489 return nil, err 17490 } 17491 return ret, nil 17492 // { 17493 // "description": "Run image detection and annotation for a batch of images.", 17494 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/images:annotate", 17495 // "httpMethod": "POST", 17496 // "id": "vision.projects.locations.images.annotate", 17497 // "parameterOrder": [ 17498 // "parent" 17499 // ], 17500 // "parameters": { 17501 // "parent": { 17502 // "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`.", 17503 // "location": "path", 17504 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17505 // "required": true, 17506 // "type": "string" 17507 // } 17508 // }, 17509 // "path": "v1/{+parent}/images:annotate", 17510 // "request": { 17511 // "$ref": "BatchAnnotateImagesRequest" 17512 // }, 17513 // "response": { 17514 // "$ref": "BatchAnnotateImagesResponse" 17515 // }, 17516 // "scopes": [ 17517 // "https://www.googleapis.com/auth/cloud-platform", 17518 // "https://www.googleapis.com/auth/cloud-vision" 17519 // ] 17520 // } 17521 17522} 17523 17524// method id "vision.projects.locations.images.asyncBatchAnnotate": 17525 17526type ProjectsLocationsImagesAsyncBatchAnnotateCall struct { 17527 s *Service 17528 parent string 17529 asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest 17530 urlParams_ gensupport.URLParams 17531 ctx_ context.Context 17532 header_ http.Header 17533} 17534 17535// AsyncBatchAnnotate: Run asynchronous image detection and annotation 17536// for a list of images. 17537// 17538// Progress and results can be retrieved through 17539// the 17540// `google.longrunning.Operations` interface. 17541// `Operation.metadata` contains `OperationMetadata` 17542// (metadata). 17543// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` 17544// (results). 17545// 17546// This service will write image annotation outputs to json files in 17547// customer 17548// GCS bucket, each json file containing BatchAnnotateImagesResponse 17549// proto. 17550func (r *ProjectsLocationsImagesService) AsyncBatchAnnotate(parent string, asyncbatchannotateimagesrequest *AsyncBatchAnnotateImagesRequest) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 17551 c := &ProjectsLocationsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17552 c.parent = parent 17553 c.asyncbatchannotateimagesrequest = asyncbatchannotateimagesrequest 17554 return c 17555} 17556 17557// Fields allows partial responses to be retrieved. See 17558// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17559// for more information. 17560func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 17561 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17562 return c 17563} 17564 17565// Context sets the context to be used in this call's Do method. Any 17566// pending HTTP request will be aborted if the provided context is 17567// canceled. 17568func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 17569 c.ctx_ = ctx 17570 return c 17571} 17572 17573// Header returns an http.Header that can be modified by the caller to 17574// add HTTP headers to the request. 17575func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Header() http.Header { 17576 if c.header_ == nil { 17577 c.header_ = make(http.Header) 17578 } 17579 return c.header_ 17580} 17581 17582func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 17583 reqHeaders := make(http.Header) 17584 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 17585 for k, v := range c.header_ { 17586 reqHeaders[k] = v 17587 } 17588 reqHeaders.Set("User-Agent", c.s.userAgent()) 17589 var body io.Reader = nil 17590 body, err := googleapi.WithoutDataWrapper.JSONReader(c.asyncbatchannotateimagesrequest) 17591 if err != nil { 17592 return nil, err 17593 } 17594 reqHeaders.Set("Content-Type", "application/json") 17595 c.urlParams_.Set("alt", alt) 17596 c.urlParams_.Set("prettyPrint", "false") 17597 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/images:asyncBatchAnnotate") 17598 urls += "?" + c.urlParams_.Encode() 17599 req, err := http.NewRequest("POST", urls, body) 17600 if err != nil { 17601 return nil, err 17602 } 17603 req.Header = reqHeaders 17604 googleapi.Expand(req.URL, map[string]string{ 17605 "parent": c.parent, 17606 }) 17607 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17608} 17609 17610// Do executes the "vision.projects.locations.images.asyncBatchAnnotate" call. 17611// Exactly one of *Operation or error will be non-nil. Any non-2xx 17612// status code is an error. Response headers are in either 17613// *Operation.ServerResponse.Header or (if a response was returned at 17614// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17615// to check whether the returned error was because 17616// http.StatusNotModified was returned. 17617func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17618 gensupport.SetOptions(c.urlParams_, opts...) 17619 res, err := c.doRequest("json") 17620 if res != nil && res.StatusCode == http.StatusNotModified { 17621 if res.Body != nil { 17622 res.Body.Close() 17623 } 17624 return nil, &googleapi.Error{ 17625 Code: res.StatusCode, 17626 Header: res.Header, 17627 } 17628 } 17629 if err != nil { 17630 return nil, err 17631 } 17632 defer googleapi.CloseBody(res) 17633 if err := googleapi.CheckResponse(res); err != nil { 17634 return nil, err 17635 } 17636 ret := &Operation{ 17637 ServerResponse: googleapi.ServerResponse{ 17638 Header: res.Header, 17639 HTTPStatusCode: res.StatusCode, 17640 }, 17641 } 17642 target := &ret 17643 if err := gensupport.DecodeResponse(target, res); err != nil { 17644 return nil, err 17645 } 17646 return ret, nil 17647 // { 17648 // "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.", 17649 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/images:asyncBatchAnnotate", 17650 // "httpMethod": "POST", 17651 // "id": "vision.projects.locations.images.asyncBatchAnnotate", 17652 // "parameterOrder": [ 17653 // "parent" 17654 // ], 17655 // "parameters": { 17656 // "parent": { 17657 // "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`.", 17658 // "location": "path", 17659 // "pattern": "^projects/[^/]+/locations/[^/]+$", 17660 // "required": true, 17661 // "type": "string" 17662 // } 17663 // }, 17664 // "path": "v1/{+parent}/images:asyncBatchAnnotate", 17665 // "request": { 17666 // "$ref": "AsyncBatchAnnotateImagesRequest" 17667 // }, 17668 // "response": { 17669 // "$ref": "Operation" 17670 // }, 17671 // "scopes": [ 17672 // "https://www.googleapis.com/auth/cloud-platform", 17673 // "https://www.googleapis.com/auth/cloud-vision" 17674 // ] 17675 // } 17676 17677} 17678 17679// method id "vision.projects.locations.operations.get": 17680 17681type ProjectsLocationsOperationsGetCall struct { 17682 s *Service 17683 name string 17684 urlParams_ gensupport.URLParams 17685 ifNoneMatch_ string 17686 ctx_ context.Context 17687 header_ http.Header 17688} 17689 17690// Get: Gets the latest state of a long-running operation. Clients can 17691// use this 17692// method to poll the operation result at intervals as recommended by 17693// the API 17694// service. 17695func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { 17696 c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17697 c.name = name 17698 return c 17699} 17700 17701// Fields allows partial responses to be retrieved. See 17702// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17703// for more information. 17704func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { 17705 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17706 return c 17707} 17708 17709// IfNoneMatch sets the optional parameter which makes the operation 17710// fail if the object's ETag matches the given value. This is useful for 17711// getting updates only after the object has changed since the last 17712// request. Use googleapi.IsNotModified to check whether the response 17713// error from Do is the result of In-None-Match. 17714func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { 17715 c.ifNoneMatch_ = entityTag 17716 return c 17717} 17718 17719// Context sets the context to be used in this call's Do method. Any 17720// pending HTTP request will be aborted if the provided context is 17721// canceled. 17722func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { 17723 c.ctx_ = ctx 17724 return c 17725} 17726 17727// Header returns an http.Header that can be modified by the caller to 17728// add HTTP headers to the request. 17729func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { 17730 if c.header_ == nil { 17731 c.header_ = make(http.Header) 17732 } 17733 return c.header_ 17734} 17735 17736func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 17737 reqHeaders := make(http.Header) 17738 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 17739 for k, v := range c.header_ { 17740 reqHeaders[k] = v 17741 } 17742 reqHeaders.Set("User-Agent", c.s.userAgent()) 17743 if c.ifNoneMatch_ != "" { 17744 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 17745 } 17746 var body io.Reader = nil 17747 c.urlParams_.Set("alt", alt) 17748 c.urlParams_.Set("prettyPrint", "false") 17749 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 17750 urls += "?" + c.urlParams_.Encode() 17751 req, err := http.NewRequest("GET", urls, body) 17752 if err != nil { 17753 return nil, err 17754 } 17755 req.Header = reqHeaders 17756 googleapi.Expand(req.URL, map[string]string{ 17757 "name": c.name, 17758 }) 17759 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17760} 17761 17762// Do executes the "vision.projects.locations.operations.get" call. 17763// Exactly one of *Operation or error will be non-nil. Any non-2xx 17764// status code is an error. Response headers are in either 17765// *Operation.ServerResponse.Header or (if a response was returned at 17766// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17767// to check whether the returned error was because 17768// http.StatusNotModified was returned. 17769func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17770 gensupport.SetOptions(c.urlParams_, opts...) 17771 res, err := c.doRequest("json") 17772 if res != nil && res.StatusCode == http.StatusNotModified { 17773 if res.Body != nil { 17774 res.Body.Close() 17775 } 17776 return nil, &googleapi.Error{ 17777 Code: res.StatusCode, 17778 Header: res.Header, 17779 } 17780 } 17781 if err != nil { 17782 return nil, err 17783 } 17784 defer googleapi.CloseBody(res) 17785 if err := googleapi.CheckResponse(res); err != nil { 17786 return nil, err 17787 } 17788 ret := &Operation{ 17789 ServerResponse: googleapi.ServerResponse{ 17790 Header: res.Header, 17791 HTTPStatusCode: res.StatusCode, 17792 }, 17793 } 17794 target := &ret 17795 if err := gensupport.DecodeResponse(target, res); err != nil { 17796 return nil, err 17797 } 17798 return ret, nil 17799 // { 17800 // "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.", 17801 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", 17802 // "httpMethod": "GET", 17803 // "id": "vision.projects.locations.operations.get", 17804 // "parameterOrder": [ 17805 // "name" 17806 // ], 17807 // "parameters": { 17808 // "name": { 17809 // "description": "The name of the operation resource.", 17810 // "location": "path", 17811 // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", 17812 // "required": true, 17813 // "type": "string" 17814 // } 17815 // }, 17816 // "path": "v1/{+name}", 17817 // "response": { 17818 // "$ref": "Operation" 17819 // }, 17820 // "scopes": [ 17821 // "https://www.googleapis.com/auth/cloud-platform", 17822 // "https://www.googleapis.com/auth/cloud-vision" 17823 // ] 17824 // } 17825 17826} 17827 17828// method id "vision.projects.locations.productSets.addProduct": 17829 17830type ProjectsLocationsProductSetsAddProductCall struct { 17831 s *Service 17832 name string 17833 addproducttoproductsetrequest *AddProductToProductSetRequest 17834 urlParams_ gensupport.URLParams 17835 ctx_ context.Context 17836 header_ http.Header 17837} 17838 17839// AddProduct: Adds a Product to the specified ProductSet. If the 17840// Product is already 17841// present, no change is made. 17842// 17843// One Product can be added to at most 100 ProductSets. 17844// 17845// Possible errors: 17846// 17847// * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. 17848func (r *ProjectsLocationsProductSetsService) AddProduct(name string, addproducttoproductsetrequest *AddProductToProductSetRequest) *ProjectsLocationsProductSetsAddProductCall { 17849 c := &ProjectsLocationsProductSetsAddProductCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17850 c.name = name 17851 c.addproducttoproductsetrequest = addproducttoproductsetrequest 17852 return c 17853} 17854 17855// Fields allows partial responses to be retrieved. See 17856// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17857// for more information. 17858func (c *ProjectsLocationsProductSetsAddProductCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsAddProductCall { 17859 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17860 return c 17861} 17862 17863// Context sets the context to be used in this call's Do method. Any 17864// pending HTTP request will be aborted if the provided context is 17865// canceled. 17866func (c *ProjectsLocationsProductSetsAddProductCall) Context(ctx context.Context) *ProjectsLocationsProductSetsAddProductCall { 17867 c.ctx_ = ctx 17868 return c 17869} 17870 17871// Header returns an http.Header that can be modified by the caller to 17872// add HTTP headers to the request. 17873func (c *ProjectsLocationsProductSetsAddProductCall) Header() http.Header { 17874 if c.header_ == nil { 17875 c.header_ = make(http.Header) 17876 } 17877 return c.header_ 17878} 17879 17880func (c *ProjectsLocationsProductSetsAddProductCall) doRequest(alt string) (*http.Response, error) { 17881 reqHeaders := make(http.Header) 17882 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 17883 for k, v := range c.header_ { 17884 reqHeaders[k] = v 17885 } 17886 reqHeaders.Set("User-Agent", c.s.userAgent()) 17887 var body io.Reader = nil 17888 body, err := googleapi.WithoutDataWrapper.JSONReader(c.addproducttoproductsetrequest) 17889 if err != nil { 17890 return nil, err 17891 } 17892 reqHeaders.Set("Content-Type", "application/json") 17893 c.urlParams_.Set("alt", alt) 17894 c.urlParams_.Set("prettyPrint", "false") 17895 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:addProduct") 17896 urls += "?" + c.urlParams_.Encode() 17897 req, err := http.NewRequest("POST", urls, body) 17898 if err != nil { 17899 return nil, err 17900 } 17901 req.Header = reqHeaders 17902 googleapi.Expand(req.URL, map[string]string{ 17903 "name": c.name, 17904 }) 17905 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17906} 17907 17908// Do executes the "vision.projects.locations.productSets.addProduct" call. 17909// Exactly one of *Empty or error will be non-nil. Any non-2xx status 17910// code is an error. Response headers are in either 17911// *Empty.ServerResponse.Header or (if a response was returned at all) 17912// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 17913// check whether the returned error was because http.StatusNotModified 17914// was returned. 17915func (c *ProjectsLocationsProductSetsAddProductCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 17916 gensupport.SetOptions(c.urlParams_, opts...) 17917 res, err := c.doRequest("json") 17918 if res != nil && res.StatusCode == http.StatusNotModified { 17919 if res.Body != nil { 17920 res.Body.Close() 17921 } 17922 return nil, &googleapi.Error{ 17923 Code: res.StatusCode, 17924 Header: res.Header, 17925 } 17926 } 17927 if err != nil { 17928 return nil, err 17929 } 17930 defer googleapi.CloseBody(res) 17931 if err := googleapi.CheckResponse(res); err != nil { 17932 return nil, err 17933 } 17934 ret := &Empty{ 17935 ServerResponse: googleapi.ServerResponse{ 17936 Header: res.Header, 17937 HTTPStatusCode: res.StatusCode, 17938 }, 17939 } 17940 target := &ret 17941 if err := gensupport.DecodeResponse(target, res); err != nil { 17942 return nil, err 17943 } 17944 return ret, nil 17945 // { 17946 // "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.", 17947 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}:addProduct", 17948 // "httpMethod": "POST", 17949 // "id": "vision.projects.locations.productSets.addProduct", 17950 // "parameterOrder": [ 17951 // "name" 17952 // ], 17953 // "parameters": { 17954 // "name": { 17955 // "description": "Required. The resource name for the ProductSet to modify.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 17956 // "location": "path", 17957 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 17958 // "required": true, 17959 // "type": "string" 17960 // } 17961 // }, 17962 // "path": "v1/{+name}:addProduct", 17963 // "request": { 17964 // "$ref": "AddProductToProductSetRequest" 17965 // }, 17966 // "response": { 17967 // "$ref": "Empty" 17968 // }, 17969 // "scopes": [ 17970 // "https://www.googleapis.com/auth/cloud-platform", 17971 // "https://www.googleapis.com/auth/cloud-vision" 17972 // ] 17973 // } 17974 17975} 17976 17977// method id "vision.projects.locations.productSets.create": 17978 17979type ProjectsLocationsProductSetsCreateCall struct { 17980 s *Service 17981 parent string 17982 productset *ProductSet 17983 urlParams_ gensupport.URLParams 17984 ctx_ context.Context 17985 header_ http.Header 17986} 17987 17988// Create: Creates and returns a new ProductSet resource. 17989// 17990// Possible errors: 17991// 17992// * Returns INVALID_ARGUMENT if display_name is missing, or is longer 17993// than 17994// 4096 characters. 17995func (r *ProjectsLocationsProductSetsService) Create(parent string, productset *ProductSet) *ProjectsLocationsProductSetsCreateCall { 17996 c := &ProjectsLocationsProductSetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17997 c.parent = parent 17998 c.productset = productset 17999 return c 18000} 18001 18002// ProductSetId sets the optional parameter "productSetId": A 18003// user-supplied resource id for this ProductSet. If set, the server 18004// will 18005// attempt to use this value as the resource id. If it is already in 18006// use, an 18007// error is returned with code ALREADY_EXISTS. Must be at most 128 18008// characters 18009// long. It cannot contain the character `/`. 18010func (c *ProjectsLocationsProductSetsCreateCall) ProductSetId(productSetId string) *ProjectsLocationsProductSetsCreateCall { 18011 c.urlParams_.Set("productSetId", productSetId) 18012 return c 18013} 18014 18015// Fields allows partial responses to be retrieved. See 18016// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18017// for more information. 18018func (c *ProjectsLocationsProductSetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsCreateCall { 18019 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18020 return c 18021} 18022 18023// Context sets the context to be used in this call's Do method. Any 18024// pending HTTP request will be aborted if the provided context is 18025// canceled. 18026func (c *ProjectsLocationsProductSetsCreateCall) Context(ctx context.Context) *ProjectsLocationsProductSetsCreateCall { 18027 c.ctx_ = ctx 18028 return c 18029} 18030 18031// Header returns an http.Header that can be modified by the caller to 18032// add HTTP headers to the request. 18033func (c *ProjectsLocationsProductSetsCreateCall) Header() http.Header { 18034 if c.header_ == nil { 18035 c.header_ = make(http.Header) 18036 } 18037 return c.header_ 18038} 18039 18040func (c *ProjectsLocationsProductSetsCreateCall) doRequest(alt string) (*http.Response, error) { 18041 reqHeaders := make(http.Header) 18042 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 18043 for k, v := range c.header_ { 18044 reqHeaders[k] = v 18045 } 18046 reqHeaders.Set("User-Agent", c.s.userAgent()) 18047 var body io.Reader = nil 18048 body, err := googleapi.WithoutDataWrapper.JSONReader(c.productset) 18049 if err != nil { 18050 return nil, err 18051 } 18052 reqHeaders.Set("Content-Type", "application/json") 18053 c.urlParams_.Set("alt", alt) 18054 c.urlParams_.Set("prettyPrint", "false") 18055 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productSets") 18056 urls += "?" + c.urlParams_.Encode() 18057 req, err := http.NewRequest("POST", urls, body) 18058 if err != nil { 18059 return nil, err 18060 } 18061 req.Header = reqHeaders 18062 googleapi.Expand(req.URL, map[string]string{ 18063 "parent": c.parent, 18064 }) 18065 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18066} 18067 18068// Do executes the "vision.projects.locations.productSets.create" call. 18069// Exactly one of *ProductSet or error will be non-nil. Any non-2xx 18070// status code is an error. Response headers are in either 18071// *ProductSet.ServerResponse.Header or (if a response was returned at 18072// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 18073// to check whether the returned error was because 18074// http.StatusNotModified was returned. 18075func (c *ProjectsLocationsProductSetsCreateCall) Do(opts ...googleapi.CallOption) (*ProductSet, error) { 18076 gensupport.SetOptions(c.urlParams_, opts...) 18077 res, err := c.doRequest("json") 18078 if res != nil && res.StatusCode == http.StatusNotModified { 18079 if res.Body != nil { 18080 res.Body.Close() 18081 } 18082 return nil, &googleapi.Error{ 18083 Code: res.StatusCode, 18084 Header: res.Header, 18085 } 18086 } 18087 if err != nil { 18088 return nil, err 18089 } 18090 defer googleapi.CloseBody(res) 18091 if err := googleapi.CheckResponse(res); err != nil { 18092 return nil, err 18093 } 18094 ret := &ProductSet{ 18095 ServerResponse: googleapi.ServerResponse{ 18096 Header: res.Header, 18097 HTTPStatusCode: res.StatusCode, 18098 }, 18099 } 18100 target := &ret 18101 if err := gensupport.DecodeResponse(target, res); err != nil { 18102 return nil, err 18103 } 18104 return ret, nil 18105 // { 18106 // "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.", 18107 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets", 18108 // "httpMethod": "POST", 18109 // "id": "vision.projects.locations.productSets.create", 18110 // "parameterOrder": [ 18111 // "parent" 18112 // ], 18113 // "parameters": { 18114 // "parent": { 18115 // "description": "Required. The project in which the ProductSet should be created.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.", 18116 // "location": "path", 18117 // "pattern": "^projects/[^/]+/locations/[^/]+$", 18118 // "required": true, 18119 // "type": "string" 18120 // }, 18121 // "productSetId": { 18122 // "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 `/`.", 18123 // "location": "query", 18124 // "type": "string" 18125 // } 18126 // }, 18127 // "path": "v1/{+parent}/productSets", 18128 // "request": { 18129 // "$ref": "ProductSet" 18130 // }, 18131 // "response": { 18132 // "$ref": "ProductSet" 18133 // }, 18134 // "scopes": [ 18135 // "https://www.googleapis.com/auth/cloud-platform", 18136 // "https://www.googleapis.com/auth/cloud-vision" 18137 // ] 18138 // } 18139 18140} 18141 18142// method id "vision.projects.locations.productSets.delete": 18143 18144type ProjectsLocationsProductSetsDeleteCall struct { 18145 s *Service 18146 name string 18147 urlParams_ gensupport.URLParams 18148 ctx_ context.Context 18149 header_ http.Header 18150} 18151 18152// Delete: Permanently deletes a ProductSet. Products and 18153// ReferenceImages in the 18154// ProductSet are not deleted. 18155// 18156// The actual image files are not deleted from Google Cloud Storage. 18157func (r *ProjectsLocationsProductSetsService) Delete(name string) *ProjectsLocationsProductSetsDeleteCall { 18158 c := &ProjectsLocationsProductSetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18159 c.name = name 18160 return c 18161} 18162 18163// Fields allows partial responses to be retrieved. See 18164// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18165// for more information. 18166func (c *ProjectsLocationsProductSetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsDeleteCall { 18167 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18168 return c 18169} 18170 18171// Context sets the context to be used in this call's Do method. Any 18172// pending HTTP request will be aborted if the provided context is 18173// canceled. 18174func (c *ProjectsLocationsProductSetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsProductSetsDeleteCall { 18175 c.ctx_ = ctx 18176 return c 18177} 18178 18179// Header returns an http.Header that can be modified by the caller to 18180// add HTTP headers to the request. 18181func (c *ProjectsLocationsProductSetsDeleteCall) Header() http.Header { 18182 if c.header_ == nil { 18183 c.header_ = make(http.Header) 18184 } 18185 return c.header_ 18186} 18187 18188func (c *ProjectsLocationsProductSetsDeleteCall) doRequest(alt string) (*http.Response, error) { 18189 reqHeaders := make(http.Header) 18190 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 18191 for k, v := range c.header_ { 18192 reqHeaders[k] = v 18193 } 18194 reqHeaders.Set("User-Agent", c.s.userAgent()) 18195 var body io.Reader = nil 18196 c.urlParams_.Set("alt", alt) 18197 c.urlParams_.Set("prettyPrint", "false") 18198 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 18199 urls += "?" + c.urlParams_.Encode() 18200 req, err := http.NewRequest("DELETE", urls, body) 18201 if err != nil { 18202 return nil, err 18203 } 18204 req.Header = reqHeaders 18205 googleapi.Expand(req.URL, map[string]string{ 18206 "name": c.name, 18207 }) 18208 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18209} 18210 18211// Do executes the "vision.projects.locations.productSets.delete" call. 18212// Exactly one of *Empty or error will be non-nil. Any non-2xx status 18213// code is an error. Response headers are in either 18214// *Empty.ServerResponse.Header or (if a response was returned at all) 18215// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 18216// check whether the returned error was because http.StatusNotModified 18217// was returned. 18218func (c *ProjectsLocationsProductSetsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 18219 gensupport.SetOptions(c.urlParams_, opts...) 18220 res, err := c.doRequest("json") 18221 if res != nil && res.StatusCode == http.StatusNotModified { 18222 if res.Body != nil { 18223 res.Body.Close() 18224 } 18225 return nil, &googleapi.Error{ 18226 Code: res.StatusCode, 18227 Header: res.Header, 18228 } 18229 } 18230 if err != nil { 18231 return nil, err 18232 } 18233 defer googleapi.CloseBody(res) 18234 if err := googleapi.CheckResponse(res); err != nil { 18235 return nil, err 18236 } 18237 ret := &Empty{ 18238 ServerResponse: googleapi.ServerResponse{ 18239 Header: res.Header, 18240 HTTPStatusCode: res.StatusCode, 18241 }, 18242 } 18243 target := &ret 18244 if err := gensupport.DecodeResponse(target, res); err != nil { 18245 return nil, err 18246 } 18247 return ret, nil 18248 // { 18249 // "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.", 18250 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}", 18251 // "httpMethod": "DELETE", 18252 // "id": "vision.projects.locations.productSets.delete", 18253 // "parameterOrder": [ 18254 // "name" 18255 // ], 18256 // "parameters": { 18257 // "name": { 18258 // "description": "Required. Resource name of the ProductSet to delete.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 18259 // "location": "path", 18260 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 18261 // "required": true, 18262 // "type": "string" 18263 // } 18264 // }, 18265 // "path": "v1/{+name}", 18266 // "response": { 18267 // "$ref": "Empty" 18268 // }, 18269 // "scopes": [ 18270 // "https://www.googleapis.com/auth/cloud-platform", 18271 // "https://www.googleapis.com/auth/cloud-vision" 18272 // ] 18273 // } 18274 18275} 18276 18277// method id "vision.projects.locations.productSets.get": 18278 18279type ProjectsLocationsProductSetsGetCall struct { 18280 s *Service 18281 name string 18282 urlParams_ gensupport.URLParams 18283 ifNoneMatch_ string 18284 ctx_ context.Context 18285 header_ http.Header 18286} 18287 18288// Get: Gets information associated with a ProductSet. 18289// 18290// Possible errors: 18291// 18292// * Returns NOT_FOUND if the ProductSet does not exist. 18293func (r *ProjectsLocationsProductSetsService) Get(name string) *ProjectsLocationsProductSetsGetCall { 18294 c := &ProjectsLocationsProductSetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18295 c.name = name 18296 return c 18297} 18298 18299// Fields allows partial responses to be retrieved. See 18300// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18301// for more information. 18302func (c *ProjectsLocationsProductSetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsGetCall { 18303 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18304 return c 18305} 18306 18307// IfNoneMatch sets the optional parameter which makes the operation 18308// fail if the object's ETag matches the given value. This is useful for 18309// getting updates only after the object has changed since the last 18310// request. Use googleapi.IsNotModified to check whether the response 18311// error from Do is the result of In-None-Match. 18312func (c *ProjectsLocationsProductSetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductSetsGetCall { 18313 c.ifNoneMatch_ = entityTag 18314 return c 18315} 18316 18317// Context sets the context to be used in this call's Do method. Any 18318// pending HTTP request will be aborted if the provided context is 18319// canceled. 18320func (c *ProjectsLocationsProductSetsGetCall) Context(ctx context.Context) *ProjectsLocationsProductSetsGetCall { 18321 c.ctx_ = ctx 18322 return c 18323} 18324 18325// Header returns an http.Header that can be modified by the caller to 18326// add HTTP headers to the request. 18327func (c *ProjectsLocationsProductSetsGetCall) Header() http.Header { 18328 if c.header_ == nil { 18329 c.header_ = make(http.Header) 18330 } 18331 return c.header_ 18332} 18333 18334func (c *ProjectsLocationsProductSetsGetCall) doRequest(alt string) (*http.Response, error) { 18335 reqHeaders := make(http.Header) 18336 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 18337 for k, v := range c.header_ { 18338 reqHeaders[k] = v 18339 } 18340 reqHeaders.Set("User-Agent", c.s.userAgent()) 18341 if c.ifNoneMatch_ != "" { 18342 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 18343 } 18344 var body io.Reader = nil 18345 c.urlParams_.Set("alt", alt) 18346 c.urlParams_.Set("prettyPrint", "false") 18347 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 18348 urls += "?" + c.urlParams_.Encode() 18349 req, err := http.NewRequest("GET", urls, body) 18350 if err != nil { 18351 return nil, err 18352 } 18353 req.Header = reqHeaders 18354 googleapi.Expand(req.URL, map[string]string{ 18355 "name": c.name, 18356 }) 18357 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18358} 18359 18360// Do executes the "vision.projects.locations.productSets.get" call. 18361// Exactly one of *ProductSet or error will be non-nil. Any non-2xx 18362// status code is an error. Response headers are in either 18363// *ProductSet.ServerResponse.Header or (if a response was returned at 18364// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 18365// to check whether the returned error was because 18366// http.StatusNotModified was returned. 18367func (c *ProjectsLocationsProductSetsGetCall) Do(opts ...googleapi.CallOption) (*ProductSet, error) { 18368 gensupport.SetOptions(c.urlParams_, opts...) 18369 res, err := c.doRequest("json") 18370 if res != nil && res.StatusCode == http.StatusNotModified { 18371 if res.Body != nil { 18372 res.Body.Close() 18373 } 18374 return nil, &googleapi.Error{ 18375 Code: res.StatusCode, 18376 Header: res.Header, 18377 } 18378 } 18379 if err != nil { 18380 return nil, err 18381 } 18382 defer googleapi.CloseBody(res) 18383 if err := googleapi.CheckResponse(res); err != nil { 18384 return nil, err 18385 } 18386 ret := &ProductSet{ 18387 ServerResponse: googleapi.ServerResponse{ 18388 Header: res.Header, 18389 HTTPStatusCode: res.StatusCode, 18390 }, 18391 } 18392 target := &ret 18393 if err := gensupport.DecodeResponse(target, res); err != nil { 18394 return nil, err 18395 } 18396 return ret, nil 18397 // { 18398 // "description": "Gets information associated with a ProductSet.\n\nPossible errors:\n\n* Returns NOT_FOUND if the ProductSet does not exist.", 18399 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}", 18400 // "httpMethod": "GET", 18401 // "id": "vision.projects.locations.productSets.get", 18402 // "parameterOrder": [ 18403 // "name" 18404 // ], 18405 // "parameters": { 18406 // "name": { 18407 // "description": "Required. Resource name of the ProductSet to get.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 18408 // "location": "path", 18409 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 18410 // "required": true, 18411 // "type": "string" 18412 // } 18413 // }, 18414 // "path": "v1/{+name}", 18415 // "response": { 18416 // "$ref": "ProductSet" 18417 // }, 18418 // "scopes": [ 18419 // "https://www.googleapis.com/auth/cloud-platform", 18420 // "https://www.googleapis.com/auth/cloud-vision" 18421 // ] 18422 // } 18423 18424} 18425 18426// method id "vision.projects.locations.productSets.import": 18427 18428type ProjectsLocationsProductSetsImportCall struct { 18429 s *Service 18430 parent string 18431 importproductsetsrequest *ImportProductSetsRequest 18432 urlParams_ gensupport.URLParams 18433 ctx_ context.Context 18434 header_ http.Header 18435} 18436 18437// Import: Asynchronous API that imports a list of reference images to 18438// specified 18439// product sets based on a list of image information. 18440// 18441// The google.longrunning.Operation API can be used to keep track of 18442// the 18443// progress and results of the request. 18444// `Operation.metadata` contains `BatchOperationMetadata`. 18445// (progress) 18446// `Operation.response` contains `ImportProductSetsResponse`. 18447// (results) 18448// 18449// The input source of this method is a csv file on Google Cloud 18450// Storage. 18451// For the format of the csv file please 18452// see 18453// ImportProductSetsGcsSource.csv_file_uri. 18454func (r *ProjectsLocationsProductSetsService) Import(parent string, importproductsetsrequest *ImportProductSetsRequest) *ProjectsLocationsProductSetsImportCall { 18455 c := &ProjectsLocationsProductSetsImportCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18456 c.parent = parent 18457 c.importproductsetsrequest = importproductsetsrequest 18458 return c 18459} 18460 18461// Fields allows partial responses to be retrieved. See 18462// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18463// for more information. 18464func (c *ProjectsLocationsProductSetsImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsImportCall { 18465 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18466 return c 18467} 18468 18469// Context sets the context to be used in this call's Do method. Any 18470// pending HTTP request will be aborted if the provided context is 18471// canceled. 18472func (c *ProjectsLocationsProductSetsImportCall) Context(ctx context.Context) *ProjectsLocationsProductSetsImportCall { 18473 c.ctx_ = ctx 18474 return c 18475} 18476 18477// Header returns an http.Header that can be modified by the caller to 18478// add HTTP headers to the request. 18479func (c *ProjectsLocationsProductSetsImportCall) Header() http.Header { 18480 if c.header_ == nil { 18481 c.header_ = make(http.Header) 18482 } 18483 return c.header_ 18484} 18485 18486func (c *ProjectsLocationsProductSetsImportCall) doRequest(alt string) (*http.Response, error) { 18487 reqHeaders := make(http.Header) 18488 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 18489 for k, v := range c.header_ { 18490 reqHeaders[k] = v 18491 } 18492 reqHeaders.Set("User-Agent", c.s.userAgent()) 18493 var body io.Reader = nil 18494 body, err := googleapi.WithoutDataWrapper.JSONReader(c.importproductsetsrequest) 18495 if err != nil { 18496 return nil, err 18497 } 18498 reqHeaders.Set("Content-Type", "application/json") 18499 c.urlParams_.Set("alt", alt) 18500 c.urlParams_.Set("prettyPrint", "false") 18501 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productSets:import") 18502 urls += "?" + c.urlParams_.Encode() 18503 req, err := http.NewRequest("POST", urls, body) 18504 if err != nil { 18505 return nil, err 18506 } 18507 req.Header = reqHeaders 18508 googleapi.Expand(req.URL, map[string]string{ 18509 "parent": c.parent, 18510 }) 18511 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18512} 18513 18514// Do executes the "vision.projects.locations.productSets.import" call. 18515// Exactly one of *Operation or error will be non-nil. Any non-2xx 18516// status code is an error. Response headers are in either 18517// *Operation.ServerResponse.Header or (if a response was returned at 18518// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 18519// to check whether the returned error was because 18520// http.StatusNotModified was returned. 18521func (c *ProjectsLocationsProductSetsImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 18522 gensupport.SetOptions(c.urlParams_, opts...) 18523 res, err := c.doRequest("json") 18524 if res != nil && res.StatusCode == http.StatusNotModified { 18525 if res.Body != nil { 18526 res.Body.Close() 18527 } 18528 return nil, &googleapi.Error{ 18529 Code: res.StatusCode, 18530 Header: res.Header, 18531 } 18532 } 18533 if err != nil { 18534 return nil, err 18535 } 18536 defer googleapi.CloseBody(res) 18537 if err := googleapi.CheckResponse(res); err != nil { 18538 return nil, err 18539 } 18540 ret := &Operation{ 18541 ServerResponse: googleapi.ServerResponse{ 18542 Header: res.Header, 18543 HTTPStatusCode: res.StatusCode, 18544 }, 18545 } 18546 target := &ret 18547 if err := gensupport.DecodeResponse(target, res); err != nil { 18548 return nil, err 18549 } 18550 return ret, nil 18551 // { 18552 // "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.", 18553 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets:import", 18554 // "httpMethod": "POST", 18555 // "id": "vision.projects.locations.productSets.import", 18556 // "parameterOrder": [ 18557 // "parent" 18558 // ], 18559 // "parameters": { 18560 // "parent": { 18561 // "description": "Required. The project in which the ProductSets should be imported.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.", 18562 // "location": "path", 18563 // "pattern": "^projects/[^/]+/locations/[^/]+$", 18564 // "required": true, 18565 // "type": "string" 18566 // } 18567 // }, 18568 // "path": "v1/{+parent}/productSets:import", 18569 // "request": { 18570 // "$ref": "ImportProductSetsRequest" 18571 // }, 18572 // "response": { 18573 // "$ref": "Operation" 18574 // }, 18575 // "scopes": [ 18576 // "https://www.googleapis.com/auth/cloud-platform", 18577 // "https://www.googleapis.com/auth/cloud-vision" 18578 // ] 18579 // } 18580 18581} 18582 18583// method id "vision.projects.locations.productSets.list": 18584 18585type ProjectsLocationsProductSetsListCall struct { 18586 s *Service 18587 parent string 18588 urlParams_ gensupport.URLParams 18589 ifNoneMatch_ string 18590 ctx_ context.Context 18591 header_ http.Header 18592} 18593 18594// List: Lists ProductSets in an unspecified order. 18595// 18596// Possible errors: 18597// 18598// * Returns INVALID_ARGUMENT if page_size is greater than 100, or less 18599// than 1. 18600func (r *ProjectsLocationsProductSetsService) List(parent string) *ProjectsLocationsProductSetsListCall { 18601 c := &ProjectsLocationsProductSetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18602 c.parent = parent 18603 return c 18604} 18605 18606// PageSize sets the optional parameter "pageSize": The maximum number 18607// of items to return. Default 10, maximum 100. 18608func (c *ProjectsLocationsProductSetsListCall) PageSize(pageSize int64) *ProjectsLocationsProductSetsListCall { 18609 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 18610 return c 18611} 18612 18613// PageToken sets the optional parameter "pageToken": The 18614// next_page_token returned from a previous List request, if any. 18615func (c *ProjectsLocationsProductSetsListCall) PageToken(pageToken string) *ProjectsLocationsProductSetsListCall { 18616 c.urlParams_.Set("pageToken", pageToken) 18617 return c 18618} 18619 18620// Fields allows partial responses to be retrieved. See 18621// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18622// for more information. 18623func (c *ProjectsLocationsProductSetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsListCall { 18624 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18625 return c 18626} 18627 18628// IfNoneMatch sets the optional parameter which makes the operation 18629// fail if the object's ETag matches the given value. This is useful for 18630// getting updates only after the object has changed since the last 18631// request. Use googleapi.IsNotModified to check whether the response 18632// error from Do is the result of In-None-Match. 18633func (c *ProjectsLocationsProductSetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductSetsListCall { 18634 c.ifNoneMatch_ = entityTag 18635 return c 18636} 18637 18638// Context sets the context to be used in this call's Do method. Any 18639// pending HTTP request will be aborted if the provided context is 18640// canceled. 18641func (c *ProjectsLocationsProductSetsListCall) Context(ctx context.Context) *ProjectsLocationsProductSetsListCall { 18642 c.ctx_ = ctx 18643 return c 18644} 18645 18646// Header returns an http.Header that can be modified by the caller to 18647// add HTTP headers to the request. 18648func (c *ProjectsLocationsProductSetsListCall) Header() http.Header { 18649 if c.header_ == nil { 18650 c.header_ = make(http.Header) 18651 } 18652 return c.header_ 18653} 18654 18655func (c *ProjectsLocationsProductSetsListCall) doRequest(alt string) (*http.Response, error) { 18656 reqHeaders := make(http.Header) 18657 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 18658 for k, v := range c.header_ { 18659 reqHeaders[k] = v 18660 } 18661 reqHeaders.Set("User-Agent", c.s.userAgent()) 18662 if c.ifNoneMatch_ != "" { 18663 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 18664 } 18665 var body io.Reader = nil 18666 c.urlParams_.Set("alt", alt) 18667 c.urlParams_.Set("prettyPrint", "false") 18668 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/productSets") 18669 urls += "?" + c.urlParams_.Encode() 18670 req, err := http.NewRequest("GET", urls, body) 18671 if err != nil { 18672 return nil, err 18673 } 18674 req.Header = reqHeaders 18675 googleapi.Expand(req.URL, map[string]string{ 18676 "parent": c.parent, 18677 }) 18678 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18679} 18680 18681// Do executes the "vision.projects.locations.productSets.list" call. 18682// Exactly one of *ListProductSetsResponse or error will be non-nil. Any 18683// non-2xx status code is an error. Response headers are in either 18684// *ListProductSetsResponse.ServerResponse.Header or (if a response was 18685// returned at all) in error.(*googleapi.Error).Header. Use 18686// googleapi.IsNotModified to check whether the returned error was 18687// because http.StatusNotModified was returned. 18688func (c *ProjectsLocationsProductSetsListCall) Do(opts ...googleapi.CallOption) (*ListProductSetsResponse, error) { 18689 gensupport.SetOptions(c.urlParams_, opts...) 18690 res, err := c.doRequest("json") 18691 if res != nil && res.StatusCode == http.StatusNotModified { 18692 if res.Body != nil { 18693 res.Body.Close() 18694 } 18695 return nil, &googleapi.Error{ 18696 Code: res.StatusCode, 18697 Header: res.Header, 18698 } 18699 } 18700 if err != nil { 18701 return nil, err 18702 } 18703 defer googleapi.CloseBody(res) 18704 if err := googleapi.CheckResponse(res); err != nil { 18705 return nil, err 18706 } 18707 ret := &ListProductSetsResponse{ 18708 ServerResponse: googleapi.ServerResponse{ 18709 Header: res.Header, 18710 HTTPStatusCode: res.StatusCode, 18711 }, 18712 } 18713 target := &ret 18714 if err := gensupport.DecodeResponse(target, res); err != nil { 18715 return nil, err 18716 } 18717 return ret, nil 18718 // { 18719 // "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.", 18720 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets", 18721 // "httpMethod": "GET", 18722 // "id": "vision.projects.locations.productSets.list", 18723 // "parameterOrder": [ 18724 // "parent" 18725 // ], 18726 // "parameters": { 18727 // "pageSize": { 18728 // "description": "The maximum number of items to return. Default 10, maximum 100.", 18729 // "format": "int32", 18730 // "location": "query", 18731 // "type": "integer" 18732 // }, 18733 // "pageToken": { 18734 // "description": "The next_page_token returned from a previous List request, if any.", 18735 // "location": "query", 18736 // "type": "string" 18737 // }, 18738 // "parent": { 18739 // "description": "Required. The project from which ProductSets should be listed.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.", 18740 // "location": "path", 18741 // "pattern": "^projects/[^/]+/locations/[^/]+$", 18742 // "required": true, 18743 // "type": "string" 18744 // } 18745 // }, 18746 // "path": "v1/{+parent}/productSets", 18747 // "response": { 18748 // "$ref": "ListProductSetsResponse" 18749 // }, 18750 // "scopes": [ 18751 // "https://www.googleapis.com/auth/cloud-platform", 18752 // "https://www.googleapis.com/auth/cloud-vision" 18753 // ] 18754 // } 18755 18756} 18757 18758// Pages invokes f for each page of results. 18759// A non-nil error returned from f will halt the iteration. 18760// The provided context supersedes any context provided to the Context method. 18761func (c *ProjectsLocationsProductSetsListCall) Pages(ctx context.Context, f func(*ListProductSetsResponse) error) error { 18762 c.ctx_ = ctx 18763 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 18764 for { 18765 x, err := c.Do() 18766 if err != nil { 18767 return err 18768 } 18769 if err := f(x); err != nil { 18770 return err 18771 } 18772 if x.NextPageToken == "" { 18773 return nil 18774 } 18775 c.PageToken(x.NextPageToken) 18776 } 18777} 18778 18779// method id "vision.projects.locations.productSets.patch": 18780 18781type ProjectsLocationsProductSetsPatchCall struct { 18782 s *Service 18783 name string 18784 productset *ProductSet 18785 urlParams_ gensupport.URLParams 18786 ctx_ context.Context 18787 header_ http.Header 18788} 18789 18790// Patch: Makes changes to a ProductSet resource. 18791// Only display_name can be updated currently. 18792// 18793// Possible errors: 18794// 18795// * Returns NOT_FOUND if the ProductSet does not exist. 18796// * Returns INVALID_ARGUMENT if display_name is present in update_mask 18797// but 18798// missing from the request or longer than 4096 characters. 18799func (r *ProjectsLocationsProductSetsService) Patch(name string, productset *ProductSet) *ProjectsLocationsProductSetsPatchCall { 18800 c := &ProjectsLocationsProductSetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18801 c.name = name 18802 c.productset = productset 18803 return c 18804} 18805 18806// UpdateMask sets the optional parameter "updateMask": The FieldMask 18807// that specifies which fields to 18808// update. 18809// If update_mask isn't specified, all mutable fields are to be 18810// updated. 18811// Valid mask path is `display_name`. 18812func (c *ProjectsLocationsProductSetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsProductSetsPatchCall { 18813 c.urlParams_.Set("updateMask", updateMask) 18814 return c 18815} 18816 18817// Fields allows partial responses to be retrieved. See 18818// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18819// for more information. 18820func (c *ProjectsLocationsProductSetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsPatchCall { 18821 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18822 return c 18823} 18824 18825// Context sets the context to be used in this call's Do method. Any 18826// pending HTTP request will be aborted if the provided context is 18827// canceled. 18828func (c *ProjectsLocationsProductSetsPatchCall) Context(ctx context.Context) *ProjectsLocationsProductSetsPatchCall { 18829 c.ctx_ = ctx 18830 return c 18831} 18832 18833// Header returns an http.Header that can be modified by the caller to 18834// add HTTP headers to the request. 18835func (c *ProjectsLocationsProductSetsPatchCall) Header() http.Header { 18836 if c.header_ == nil { 18837 c.header_ = make(http.Header) 18838 } 18839 return c.header_ 18840} 18841 18842func (c *ProjectsLocationsProductSetsPatchCall) doRequest(alt string) (*http.Response, error) { 18843 reqHeaders := make(http.Header) 18844 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 18845 for k, v := range c.header_ { 18846 reqHeaders[k] = v 18847 } 18848 reqHeaders.Set("User-Agent", c.s.userAgent()) 18849 var body io.Reader = nil 18850 body, err := googleapi.WithoutDataWrapper.JSONReader(c.productset) 18851 if err != nil { 18852 return nil, err 18853 } 18854 reqHeaders.Set("Content-Type", "application/json") 18855 c.urlParams_.Set("alt", alt) 18856 c.urlParams_.Set("prettyPrint", "false") 18857 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 18858 urls += "?" + c.urlParams_.Encode() 18859 req, err := http.NewRequest("PATCH", urls, body) 18860 if err != nil { 18861 return nil, err 18862 } 18863 req.Header = reqHeaders 18864 googleapi.Expand(req.URL, map[string]string{ 18865 "name": c.name, 18866 }) 18867 return gensupport.SendRequest(c.ctx_, c.s.client, req) 18868} 18869 18870// Do executes the "vision.projects.locations.productSets.patch" call. 18871// Exactly one of *ProductSet or error will be non-nil. Any non-2xx 18872// status code is an error. Response headers are in either 18873// *ProductSet.ServerResponse.Header or (if a response was returned at 18874// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 18875// to check whether the returned error was because 18876// http.StatusNotModified was returned. 18877func (c *ProjectsLocationsProductSetsPatchCall) Do(opts ...googleapi.CallOption) (*ProductSet, error) { 18878 gensupport.SetOptions(c.urlParams_, opts...) 18879 res, err := c.doRequest("json") 18880 if res != nil && res.StatusCode == http.StatusNotModified { 18881 if res.Body != nil { 18882 res.Body.Close() 18883 } 18884 return nil, &googleapi.Error{ 18885 Code: res.StatusCode, 18886 Header: res.Header, 18887 } 18888 } 18889 if err != nil { 18890 return nil, err 18891 } 18892 defer googleapi.CloseBody(res) 18893 if err := googleapi.CheckResponse(res); err != nil { 18894 return nil, err 18895 } 18896 ret := &ProductSet{ 18897 ServerResponse: googleapi.ServerResponse{ 18898 Header: res.Header, 18899 HTTPStatusCode: res.StatusCode, 18900 }, 18901 } 18902 target := &ret 18903 if err := gensupport.DecodeResponse(target, res); err != nil { 18904 return nil, err 18905 } 18906 return ret, nil 18907 // { 18908 // "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.", 18909 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}", 18910 // "httpMethod": "PATCH", 18911 // "id": "vision.projects.locations.productSets.patch", 18912 // "parameterOrder": [ 18913 // "name" 18914 // ], 18915 // "parameters": { 18916 // "name": { 18917 // "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.", 18918 // "location": "path", 18919 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 18920 // "required": true, 18921 // "type": "string" 18922 // }, 18923 // "updateMask": { 18924 // "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`.", 18925 // "format": "google-fieldmask", 18926 // "location": "query", 18927 // "type": "string" 18928 // } 18929 // }, 18930 // "path": "v1/{+name}", 18931 // "request": { 18932 // "$ref": "ProductSet" 18933 // }, 18934 // "response": { 18935 // "$ref": "ProductSet" 18936 // }, 18937 // "scopes": [ 18938 // "https://www.googleapis.com/auth/cloud-platform", 18939 // "https://www.googleapis.com/auth/cloud-vision" 18940 // ] 18941 // } 18942 18943} 18944 18945// method id "vision.projects.locations.productSets.removeProduct": 18946 18947type ProjectsLocationsProductSetsRemoveProductCall struct { 18948 s *Service 18949 name string 18950 removeproductfromproductsetrequest *RemoveProductFromProductSetRequest 18951 urlParams_ gensupport.URLParams 18952 ctx_ context.Context 18953 header_ http.Header 18954} 18955 18956// RemoveProduct: Removes a Product from the specified ProductSet. 18957func (r *ProjectsLocationsProductSetsService) RemoveProduct(name string, removeproductfromproductsetrequest *RemoveProductFromProductSetRequest) *ProjectsLocationsProductSetsRemoveProductCall { 18958 c := &ProjectsLocationsProductSetsRemoveProductCall{s: r.s, urlParams_: make(gensupport.URLParams)} 18959 c.name = name 18960 c.removeproductfromproductsetrequest = removeproductfromproductsetrequest 18961 return c 18962} 18963 18964// Fields allows partial responses to be retrieved. See 18965// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 18966// for more information. 18967func (c *ProjectsLocationsProductSetsRemoveProductCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsRemoveProductCall { 18968 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 18969 return c 18970} 18971 18972// Context sets the context to be used in this call's Do method. Any 18973// pending HTTP request will be aborted if the provided context is 18974// canceled. 18975func (c *ProjectsLocationsProductSetsRemoveProductCall) Context(ctx context.Context) *ProjectsLocationsProductSetsRemoveProductCall { 18976 c.ctx_ = ctx 18977 return c 18978} 18979 18980// Header returns an http.Header that can be modified by the caller to 18981// add HTTP headers to the request. 18982func (c *ProjectsLocationsProductSetsRemoveProductCall) Header() http.Header { 18983 if c.header_ == nil { 18984 c.header_ = make(http.Header) 18985 } 18986 return c.header_ 18987} 18988 18989func (c *ProjectsLocationsProductSetsRemoveProductCall) doRequest(alt string) (*http.Response, error) { 18990 reqHeaders := make(http.Header) 18991 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 18992 for k, v := range c.header_ { 18993 reqHeaders[k] = v 18994 } 18995 reqHeaders.Set("User-Agent", c.s.userAgent()) 18996 var body io.Reader = nil 18997 body, err := googleapi.WithoutDataWrapper.JSONReader(c.removeproductfromproductsetrequest) 18998 if err != nil { 18999 return nil, err 19000 } 19001 reqHeaders.Set("Content-Type", "application/json") 19002 c.urlParams_.Set("alt", alt) 19003 c.urlParams_.Set("prettyPrint", "false") 19004 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:removeProduct") 19005 urls += "?" + c.urlParams_.Encode() 19006 req, err := http.NewRequest("POST", urls, body) 19007 if err != nil { 19008 return nil, err 19009 } 19010 req.Header = reqHeaders 19011 googleapi.Expand(req.URL, map[string]string{ 19012 "name": c.name, 19013 }) 19014 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19015} 19016 19017// Do executes the "vision.projects.locations.productSets.removeProduct" call. 19018// Exactly one of *Empty or error will be non-nil. Any non-2xx status 19019// code is an error. Response headers are in either 19020// *Empty.ServerResponse.Header or (if a response was returned at all) 19021// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 19022// check whether the returned error was because http.StatusNotModified 19023// was returned. 19024func (c *ProjectsLocationsProductSetsRemoveProductCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 19025 gensupport.SetOptions(c.urlParams_, opts...) 19026 res, err := c.doRequest("json") 19027 if res != nil && res.StatusCode == http.StatusNotModified { 19028 if res.Body != nil { 19029 res.Body.Close() 19030 } 19031 return nil, &googleapi.Error{ 19032 Code: res.StatusCode, 19033 Header: res.Header, 19034 } 19035 } 19036 if err != nil { 19037 return nil, err 19038 } 19039 defer googleapi.CloseBody(res) 19040 if err := googleapi.CheckResponse(res); err != nil { 19041 return nil, err 19042 } 19043 ret := &Empty{ 19044 ServerResponse: googleapi.ServerResponse{ 19045 Header: res.Header, 19046 HTTPStatusCode: res.StatusCode, 19047 }, 19048 } 19049 target := &ret 19050 if err := gensupport.DecodeResponse(target, res); err != nil { 19051 return nil, err 19052 } 19053 return ret, nil 19054 // { 19055 // "description": "Removes a Product from the specified ProductSet.", 19056 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}:removeProduct", 19057 // "httpMethod": "POST", 19058 // "id": "vision.projects.locations.productSets.removeProduct", 19059 // "parameterOrder": [ 19060 // "name" 19061 // ], 19062 // "parameters": { 19063 // "name": { 19064 // "description": "Required. The resource name for the ProductSet to modify.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 19065 // "location": "path", 19066 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 19067 // "required": true, 19068 // "type": "string" 19069 // } 19070 // }, 19071 // "path": "v1/{+name}:removeProduct", 19072 // "request": { 19073 // "$ref": "RemoveProductFromProductSetRequest" 19074 // }, 19075 // "response": { 19076 // "$ref": "Empty" 19077 // }, 19078 // "scopes": [ 19079 // "https://www.googleapis.com/auth/cloud-platform", 19080 // "https://www.googleapis.com/auth/cloud-vision" 19081 // ] 19082 // } 19083 19084} 19085 19086// method id "vision.projects.locations.productSets.products.list": 19087 19088type ProjectsLocationsProductSetsProductsListCall struct { 19089 s *Service 19090 name string 19091 urlParams_ gensupport.URLParams 19092 ifNoneMatch_ string 19093 ctx_ context.Context 19094 header_ http.Header 19095} 19096 19097// List: Lists the Products in a ProductSet, in an unspecified order. If 19098// the 19099// ProductSet does not exist, the products field of the response will 19100// be 19101// empty. 19102// 19103// Possible errors: 19104// 19105// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less 19106// than 1. 19107func (r *ProjectsLocationsProductSetsProductsService) List(name string) *ProjectsLocationsProductSetsProductsListCall { 19108 c := &ProjectsLocationsProductSetsProductsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19109 c.name = name 19110 return c 19111} 19112 19113// PageSize sets the optional parameter "pageSize": The maximum number 19114// of items to return. Default 10, maximum 100. 19115func (c *ProjectsLocationsProductSetsProductsListCall) PageSize(pageSize int64) *ProjectsLocationsProductSetsProductsListCall { 19116 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 19117 return c 19118} 19119 19120// PageToken sets the optional parameter "pageToken": The 19121// next_page_token returned from a previous List request, if any. 19122func (c *ProjectsLocationsProductSetsProductsListCall) PageToken(pageToken string) *ProjectsLocationsProductSetsProductsListCall { 19123 c.urlParams_.Set("pageToken", pageToken) 19124 return c 19125} 19126 19127// Fields allows partial responses to be retrieved. See 19128// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19129// for more information. 19130func (c *ProjectsLocationsProductSetsProductsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductSetsProductsListCall { 19131 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19132 return c 19133} 19134 19135// IfNoneMatch sets the optional parameter which makes the operation 19136// fail if the object's ETag matches the given value. This is useful for 19137// getting updates only after the object has changed since the last 19138// request. Use googleapi.IsNotModified to check whether the response 19139// error from Do is the result of In-None-Match. 19140func (c *ProjectsLocationsProductSetsProductsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductSetsProductsListCall { 19141 c.ifNoneMatch_ = entityTag 19142 return c 19143} 19144 19145// Context sets the context to be used in this call's Do method. Any 19146// pending HTTP request will be aborted if the provided context is 19147// canceled. 19148func (c *ProjectsLocationsProductSetsProductsListCall) Context(ctx context.Context) *ProjectsLocationsProductSetsProductsListCall { 19149 c.ctx_ = ctx 19150 return c 19151} 19152 19153// Header returns an http.Header that can be modified by the caller to 19154// add HTTP headers to the request. 19155func (c *ProjectsLocationsProductSetsProductsListCall) Header() http.Header { 19156 if c.header_ == nil { 19157 c.header_ = make(http.Header) 19158 } 19159 return c.header_ 19160} 19161 19162func (c *ProjectsLocationsProductSetsProductsListCall) doRequest(alt string) (*http.Response, error) { 19163 reqHeaders := make(http.Header) 19164 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 19165 for k, v := range c.header_ { 19166 reqHeaders[k] = v 19167 } 19168 reqHeaders.Set("User-Agent", c.s.userAgent()) 19169 if c.ifNoneMatch_ != "" { 19170 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 19171 } 19172 var body io.Reader = nil 19173 c.urlParams_.Set("alt", alt) 19174 c.urlParams_.Set("prettyPrint", "false") 19175 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/products") 19176 urls += "?" + c.urlParams_.Encode() 19177 req, err := http.NewRequest("GET", urls, body) 19178 if err != nil { 19179 return nil, err 19180 } 19181 req.Header = reqHeaders 19182 googleapi.Expand(req.URL, map[string]string{ 19183 "name": c.name, 19184 }) 19185 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19186} 19187 19188// Do executes the "vision.projects.locations.productSets.products.list" call. 19189// Exactly one of *ListProductsInProductSetResponse or error will be 19190// non-nil. Any non-2xx status code is an error. Response headers are in 19191// either *ListProductsInProductSetResponse.ServerResponse.Header or (if 19192// a response was returned at all) in error.(*googleapi.Error).Header. 19193// Use googleapi.IsNotModified to check whether the returned error was 19194// because http.StatusNotModified was returned. 19195func (c *ProjectsLocationsProductSetsProductsListCall) Do(opts ...googleapi.CallOption) (*ListProductsInProductSetResponse, error) { 19196 gensupport.SetOptions(c.urlParams_, opts...) 19197 res, err := c.doRequest("json") 19198 if res != nil && res.StatusCode == http.StatusNotModified { 19199 if res.Body != nil { 19200 res.Body.Close() 19201 } 19202 return nil, &googleapi.Error{ 19203 Code: res.StatusCode, 19204 Header: res.Header, 19205 } 19206 } 19207 if err != nil { 19208 return nil, err 19209 } 19210 defer googleapi.CloseBody(res) 19211 if err := googleapi.CheckResponse(res); err != nil { 19212 return nil, err 19213 } 19214 ret := &ListProductsInProductSetResponse{ 19215 ServerResponse: googleapi.ServerResponse{ 19216 Header: res.Header, 19217 HTTPStatusCode: res.StatusCode, 19218 }, 19219 } 19220 target := &ret 19221 if err := gensupport.DecodeResponse(target, res); err != nil { 19222 return nil, err 19223 } 19224 return ret, nil 19225 // { 19226 // "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.", 19227 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/productSets/{productSetsId}/products", 19228 // "httpMethod": "GET", 19229 // "id": "vision.projects.locations.productSets.products.list", 19230 // "parameterOrder": [ 19231 // "name" 19232 // ], 19233 // "parameters": { 19234 // "name": { 19235 // "description": "Required. The ProductSet resource for which to retrieve Products.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`", 19236 // "location": "path", 19237 // "pattern": "^projects/[^/]+/locations/[^/]+/productSets/[^/]+$", 19238 // "required": true, 19239 // "type": "string" 19240 // }, 19241 // "pageSize": { 19242 // "description": "The maximum number of items to return. Default 10, maximum 100.", 19243 // "format": "int32", 19244 // "location": "query", 19245 // "type": "integer" 19246 // }, 19247 // "pageToken": { 19248 // "description": "The next_page_token returned from a previous List request, if any.", 19249 // "location": "query", 19250 // "type": "string" 19251 // } 19252 // }, 19253 // "path": "v1/{+name}/products", 19254 // "response": { 19255 // "$ref": "ListProductsInProductSetResponse" 19256 // }, 19257 // "scopes": [ 19258 // "https://www.googleapis.com/auth/cloud-platform", 19259 // "https://www.googleapis.com/auth/cloud-vision" 19260 // ] 19261 // } 19262 19263} 19264 19265// Pages invokes f for each page of results. 19266// A non-nil error returned from f will halt the iteration. 19267// The provided context supersedes any context provided to the Context method. 19268func (c *ProjectsLocationsProductSetsProductsListCall) Pages(ctx context.Context, f func(*ListProductsInProductSetResponse) error) error { 19269 c.ctx_ = ctx 19270 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 19271 for { 19272 x, err := c.Do() 19273 if err != nil { 19274 return err 19275 } 19276 if err := f(x); err != nil { 19277 return err 19278 } 19279 if x.NextPageToken == "" { 19280 return nil 19281 } 19282 c.PageToken(x.NextPageToken) 19283 } 19284} 19285 19286// method id "vision.projects.locations.products.create": 19287 19288type ProjectsLocationsProductsCreateCall struct { 19289 s *Service 19290 parent string 19291 product *Product 19292 urlParams_ gensupport.URLParams 19293 ctx_ context.Context 19294 header_ http.Header 19295} 19296 19297// Create: Creates and returns a new product resource. 19298// 19299// Possible errors: 19300// 19301// * Returns INVALID_ARGUMENT if display_name is missing or longer than 19302// 4096 19303// characters. 19304// * Returns INVALID_ARGUMENT if description is longer than 4096 19305// characters. 19306// * Returns INVALID_ARGUMENT if product_category is missing or invalid. 19307func (r *ProjectsLocationsProductsService) Create(parent string, product *Product) *ProjectsLocationsProductsCreateCall { 19308 c := &ProjectsLocationsProductsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19309 c.parent = parent 19310 c.product = product 19311 return c 19312} 19313 19314// ProductId sets the optional parameter "productId": A user-supplied 19315// resource id for this Product. If set, the server will 19316// attempt to use this value as the resource id. If it is already in 19317// use, an 19318// error is returned with code ALREADY_EXISTS. Must be at most 128 19319// characters 19320// long. It cannot contain the character `/`. 19321func (c *ProjectsLocationsProductsCreateCall) ProductId(productId string) *ProjectsLocationsProductsCreateCall { 19322 c.urlParams_.Set("productId", productId) 19323 return c 19324} 19325 19326// Fields allows partial responses to be retrieved. See 19327// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19328// for more information. 19329func (c *ProjectsLocationsProductsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsCreateCall { 19330 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19331 return c 19332} 19333 19334// Context sets the context to be used in this call's Do method. Any 19335// pending HTTP request will be aborted if the provided context is 19336// canceled. 19337func (c *ProjectsLocationsProductsCreateCall) Context(ctx context.Context) *ProjectsLocationsProductsCreateCall { 19338 c.ctx_ = ctx 19339 return c 19340} 19341 19342// Header returns an http.Header that can be modified by the caller to 19343// add HTTP headers to the request. 19344func (c *ProjectsLocationsProductsCreateCall) Header() http.Header { 19345 if c.header_ == nil { 19346 c.header_ = make(http.Header) 19347 } 19348 return c.header_ 19349} 19350 19351func (c *ProjectsLocationsProductsCreateCall) doRequest(alt string) (*http.Response, error) { 19352 reqHeaders := make(http.Header) 19353 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 19354 for k, v := range c.header_ { 19355 reqHeaders[k] = v 19356 } 19357 reqHeaders.Set("User-Agent", c.s.userAgent()) 19358 var body io.Reader = nil 19359 body, err := googleapi.WithoutDataWrapper.JSONReader(c.product) 19360 if err != nil { 19361 return nil, err 19362 } 19363 reqHeaders.Set("Content-Type", "application/json") 19364 c.urlParams_.Set("alt", alt) 19365 c.urlParams_.Set("prettyPrint", "false") 19366 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products") 19367 urls += "?" + c.urlParams_.Encode() 19368 req, err := http.NewRequest("POST", urls, body) 19369 if err != nil { 19370 return nil, err 19371 } 19372 req.Header = reqHeaders 19373 googleapi.Expand(req.URL, map[string]string{ 19374 "parent": c.parent, 19375 }) 19376 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19377} 19378 19379// Do executes the "vision.projects.locations.products.create" call. 19380// Exactly one of *Product or error will be non-nil. Any non-2xx status 19381// code is an error. Response headers are in either 19382// *Product.ServerResponse.Header or (if a response was returned at all) 19383// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 19384// check whether the returned error was because http.StatusNotModified 19385// was returned. 19386func (c *ProjectsLocationsProductsCreateCall) Do(opts ...googleapi.CallOption) (*Product, error) { 19387 gensupport.SetOptions(c.urlParams_, opts...) 19388 res, err := c.doRequest("json") 19389 if res != nil && res.StatusCode == http.StatusNotModified { 19390 if res.Body != nil { 19391 res.Body.Close() 19392 } 19393 return nil, &googleapi.Error{ 19394 Code: res.StatusCode, 19395 Header: res.Header, 19396 } 19397 } 19398 if err != nil { 19399 return nil, err 19400 } 19401 defer googleapi.CloseBody(res) 19402 if err := googleapi.CheckResponse(res); err != nil { 19403 return nil, err 19404 } 19405 ret := &Product{ 19406 ServerResponse: googleapi.ServerResponse{ 19407 Header: res.Header, 19408 HTTPStatusCode: res.StatusCode, 19409 }, 19410 } 19411 target := &ret 19412 if err := gensupport.DecodeResponse(target, res); err != nil { 19413 return nil, err 19414 } 19415 return ret, nil 19416 // { 19417 // "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.", 19418 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products", 19419 // "httpMethod": "POST", 19420 // "id": "vision.projects.locations.products.create", 19421 // "parameterOrder": [ 19422 // "parent" 19423 // ], 19424 // "parameters": { 19425 // "parent": { 19426 // "description": "Required. The project in which the Product should be created.\n\nFormat is\n`projects/PROJECT_ID/locations/LOC_ID`.", 19427 // "location": "path", 19428 // "pattern": "^projects/[^/]+/locations/[^/]+$", 19429 // "required": true, 19430 // "type": "string" 19431 // }, 19432 // "productId": { 19433 // "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 `/`.", 19434 // "location": "query", 19435 // "type": "string" 19436 // } 19437 // }, 19438 // "path": "v1/{+parent}/products", 19439 // "request": { 19440 // "$ref": "Product" 19441 // }, 19442 // "response": { 19443 // "$ref": "Product" 19444 // }, 19445 // "scopes": [ 19446 // "https://www.googleapis.com/auth/cloud-platform", 19447 // "https://www.googleapis.com/auth/cloud-vision" 19448 // ] 19449 // } 19450 19451} 19452 19453// method id "vision.projects.locations.products.delete": 19454 19455type ProjectsLocationsProductsDeleteCall struct { 19456 s *Service 19457 name string 19458 urlParams_ gensupport.URLParams 19459 ctx_ context.Context 19460 header_ http.Header 19461} 19462 19463// Delete: Permanently deletes a product and its reference 19464// images. 19465// 19466// Metadata of the product and all its images will be deleted right 19467// away, but 19468// search queries against ProductSets containing the product may still 19469// work 19470// until all related caches are refreshed. 19471func (r *ProjectsLocationsProductsService) Delete(name string) *ProjectsLocationsProductsDeleteCall { 19472 c := &ProjectsLocationsProductsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19473 c.name = name 19474 return c 19475} 19476 19477// Fields allows partial responses to be retrieved. See 19478// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19479// for more information. 19480func (c *ProjectsLocationsProductsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsDeleteCall { 19481 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19482 return c 19483} 19484 19485// Context sets the context to be used in this call's Do method. Any 19486// pending HTTP request will be aborted if the provided context is 19487// canceled. 19488func (c *ProjectsLocationsProductsDeleteCall) Context(ctx context.Context) *ProjectsLocationsProductsDeleteCall { 19489 c.ctx_ = ctx 19490 return c 19491} 19492 19493// Header returns an http.Header that can be modified by the caller to 19494// add HTTP headers to the request. 19495func (c *ProjectsLocationsProductsDeleteCall) Header() http.Header { 19496 if c.header_ == nil { 19497 c.header_ = make(http.Header) 19498 } 19499 return c.header_ 19500} 19501 19502func (c *ProjectsLocationsProductsDeleteCall) doRequest(alt string) (*http.Response, error) { 19503 reqHeaders := make(http.Header) 19504 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 19505 for k, v := range c.header_ { 19506 reqHeaders[k] = v 19507 } 19508 reqHeaders.Set("User-Agent", c.s.userAgent()) 19509 var body io.Reader = nil 19510 c.urlParams_.Set("alt", alt) 19511 c.urlParams_.Set("prettyPrint", "false") 19512 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 19513 urls += "?" + c.urlParams_.Encode() 19514 req, err := http.NewRequest("DELETE", urls, body) 19515 if err != nil { 19516 return nil, err 19517 } 19518 req.Header = reqHeaders 19519 googleapi.Expand(req.URL, map[string]string{ 19520 "name": c.name, 19521 }) 19522 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19523} 19524 19525// Do executes the "vision.projects.locations.products.delete" call. 19526// Exactly one of *Empty or error will be non-nil. Any non-2xx status 19527// code is an error. Response headers are in either 19528// *Empty.ServerResponse.Header or (if a response was returned at all) 19529// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 19530// check whether the returned error was because http.StatusNotModified 19531// was returned. 19532func (c *ProjectsLocationsProductsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 19533 gensupport.SetOptions(c.urlParams_, opts...) 19534 res, err := c.doRequest("json") 19535 if res != nil && res.StatusCode == http.StatusNotModified { 19536 if res.Body != nil { 19537 res.Body.Close() 19538 } 19539 return nil, &googleapi.Error{ 19540 Code: res.StatusCode, 19541 Header: res.Header, 19542 } 19543 } 19544 if err != nil { 19545 return nil, err 19546 } 19547 defer googleapi.CloseBody(res) 19548 if err := googleapi.CheckResponse(res); err != nil { 19549 return nil, err 19550 } 19551 ret := &Empty{ 19552 ServerResponse: googleapi.ServerResponse{ 19553 Header: res.Header, 19554 HTTPStatusCode: res.StatusCode, 19555 }, 19556 } 19557 target := &ret 19558 if err := gensupport.DecodeResponse(target, res); err != nil { 19559 return nil, err 19560 } 19561 return ret, nil 19562 // { 19563 // "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.", 19564 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}", 19565 // "httpMethod": "DELETE", 19566 // "id": "vision.projects.locations.products.delete", 19567 // "parameterOrder": [ 19568 // "name" 19569 // ], 19570 // "parameters": { 19571 // "name": { 19572 // "description": "Required. Resource name of product to delete.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`", 19573 // "location": "path", 19574 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 19575 // "required": true, 19576 // "type": "string" 19577 // } 19578 // }, 19579 // "path": "v1/{+name}", 19580 // "response": { 19581 // "$ref": "Empty" 19582 // }, 19583 // "scopes": [ 19584 // "https://www.googleapis.com/auth/cloud-platform", 19585 // "https://www.googleapis.com/auth/cloud-vision" 19586 // ] 19587 // } 19588 19589} 19590 19591// method id "vision.projects.locations.products.get": 19592 19593type ProjectsLocationsProductsGetCall struct { 19594 s *Service 19595 name string 19596 urlParams_ gensupport.URLParams 19597 ifNoneMatch_ string 19598 ctx_ context.Context 19599 header_ http.Header 19600} 19601 19602// Get: Gets information associated with a Product. 19603// 19604// Possible errors: 19605// 19606// * Returns NOT_FOUND if the Product does not exist. 19607func (r *ProjectsLocationsProductsService) Get(name string) *ProjectsLocationsProductsGetCall { 19608 c := &ProjectsLocationsProductsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19609 c.name = name 19610 return c 19611} 19612 19613// Fields allows partial responses to be retrieved. See 19614// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19615// for more information. 19616func (c *ProjectsLocationsProductsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsGetCall { 19617 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19618 return c 19619} 19620 19621// IfNoneMatch sets the optional parameter which makes the operation 19622// fail if the object's ETag matches the given value. This is useful for 19623// getting updates only after the object has changed since the last 19624// request. Use googleapi.IsNotModified to check whether the response 19625// error from Do is the result of In-None-Match. 19626func (c *ProjectsLocationsProductsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsGetCall { 19627 c.ifNoneMatch_ = entityTag 19628 return c 19629} 19630 19631// Context sets the context to be used in this call's Do method. Any 19632// pending HTTP request will be aborted if the provided context is 19633// canceled. 19634func (c *ProjectsLocationsProductsGetCall) Context(ctx context.Context) *ProjectsLocationsProductsGetCall { 19635 c.ctx_ = ctx 19636 return c 19637} 19638 19639// Header returns an http.Header that can be modified by the caller to 19640// add HTTP headers to the request. 19641func (c *ProjectsLocationsProductsGetCall) Header() http.Header { 19642 if c.header_ == nil { 19643 c.header_ = make(http.Header) 19644 } 19645 return c.header_ 19646} 19647 19648func (c *ProjectsLocationsProductsGetCall) doRequest(alt string) (*http.Response, error) { 19649 reqHeaders := make(http.Header) 19650 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 19651 for k, v := range c.header_ { 19652 reqHeaders[k] = v 19653 } 19654 reqHeaders.Set("User-Agent", c.s.userAgent()) 19655 if c.ifNoneMatch_ != "" { 19656 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 19657 } 19658 var body io.Reader = nil 19659 c.urlParams_.Set("alt", alt) 19660 c.urlParams_.Set("prettyPrint", "false") 19661 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 19662 urls += "?" + c.urlParams_.Encode() 19663 req, err := http.NewRequest("GET", urls, body) 19664 if err != nil { 19665 return nil, err 19666 } 19667 req.Header = reqHeaders 19668 googleapi.Expand(req.URL, map[string]string{ 19669 "name": c.name, 19670 }) 19671 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19672} 19673 19674// Do executes the "vision.projects.locations.products.get" call. 19675// Exactly one of *Product or error will be non-nil. Any non-2xx status 19676// code is an error. Response headers are in either 19677// *Product.ServerResponse.Header or (if a response was returned at all) 19678// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 19679// check whether the returned error was because http.StatusNotModified 19680// was returned. 19681func (c *ProjectsLocationsProductsGetCall) Do(opts ...googleapi.CallOption) (*Product, error) { 19682 gensupport.SetOptions(c.urlParams_, opts...) 19683 res, err := c.doRequest("json") 19684 if res != nil && res.StatusCode == http.StatusNotModified { 19685 if res.Body != nil { 19686 res.Body.Close() 19687 } 19688 return nil, &googleapi.Error{ 19689 Code: res.StatusCode, 19690 Header: res.Header, 19691 } 19692 } 19693 if err != nil { 19694 return nil, err 19695 } 19696 defer googleapi.CloseBody(res) 19697 if err := googleapi.CheckResponse(res); err != nil { 19698 return nil, err 19699 } 19700 ret := &Product{ 19701 ServerResponse: googleapi.ServerResponse{ 19702 Header: res.Header, 19703 HTTPStatusCode: res.StatusCode, 19704 }, 19705 } 19706 target := &ret 19707 if err := gensupport.DecodeResponse(target, res); err != nil { 19708 return nil, err 19709 } 19710 return ret, nil 19711 // { 19712 // "description": "Gets information associated with a Product.\n\nPossible errors:\n\n* Returns NOT_FOUND if the Product does not exist.", 19713 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}", 19714 // "httpMethod": "GET", 19715 // "id": "vision.projects.locations.products.get", 19716 // "parameterOrder": [ 19717 // "name" 19718 // ], 19719 // "parameters": { 19720 // "name": { 19721 // "description": "Required. Resource name of the Product to get.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`", 19722 // "location": "path", 19723 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 19724 // "required": true, 19725 // "type": "string" 19726 // } 19727 // }, 19728 // "path": "v1/{+name}", 19729 // "response": { 19730 // "$ref": "Product" 19731 // }, 19732 // "scopes": [ 19733 // "https://www.googleapis.com/auth/cloud-platform", 19734 // "https://www.googleapis.com/auth/cloud-vision" 19735 // ] 19736 // } 19737 19738} 19739 19740// method id "vision.projects.locations.products.list": 19741 19742type ProjectsLocationsProductsListCall struct { 19743 s *Service 19744 parent string 19745 urlParams_ gensupport.URLParams 19746 ifNoneMatch_ string 19747 ctx_ context.Context 19748 header_ http.Header 19749} 19750 19751// List: Lists products in an unspecified order. 19752// 19753// Possible errors: 19754// 19755// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less 19756// than 1. 19757func (r *ProjectsLocationsProductsService) List(parent string) *ProjectsLocationsProductsListCall { 19758 c := &ProjectsLocationsProductsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19759 c.parent = parent 19760 return c 19761} 19762 19763// PageSize sets the optional parameter "pageSize": The maximum number 19764// of items to return. Default 10, maximum 100. 19765func (c *ProjectsLocationsProductsListCall) PageSize(pageSize int64) *ProjectsLocationsProductsListCall { 19766 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 19767 return c 19768} 19769 19770// PageToken sets the optional parameter "pageToken": The 19771// next_page_token returned from a previous List request, if any. 19772func (c *ProjectsLocationsProductsListCall) PageToken(pageToken string) *ProjectsLocationsProductsListCall { 19773 c.urlParams_.Set("pageToken", pageToken) 19774 return c 19775} 19776 19777// Fields allows partial responses to be retrieved. See 19778// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19779// for more information. 19780func (c *ProjectsLocationsProductsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsListCall { 19781 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19782 return c 19783} 19784 19785// IfNoneMatch sets the optional parameter which makes the operation 19786// fail if the object's ETag matches the given value. This is useful for 19787// getting updates only after the object has changed since the last 19788// request. Use googleapi.IsNotModified to check whether the response 19789// error from Do is the result of In-None-Match. 19790func (c *ProjectsLocationsProductsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsListCall { 19791 c.ifNoneMatch_ = entityTag 19792 return c 19793} 19794 19795// Context sets the context to be used in this call's Do method. Any 19796// pending HTTP request will be aborted if the provided context is 19797// canceled. 19798func (c *ProjectsLocationsProductsListCall) Context(ctx context.Context) *ProjectsLocationsProductsListCall { 19799 c.ctx_ = ctx 19800 return c 19801} 19802 19803// Header returns an http.Header that can be modified by the caller to 19804// add HTTP headers to the request. 19805func (c *ProjectsLocationsProductsListCall) Header() http.Header { 19806 if c.header_ == nil { 19807 c.header_ = make(http.Header) 19808 } 19809 return c.header_ 19810} 19811 19812func (c *ProjectsLocationsProductsListCall) doRequest(alt string) (*http.Response, error) { 19813 reqHeaders := make(http.Header) 19814 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 19815 for k, v := range c.header_ { 19816 reqHeaders[k] = v 19817 } 19818 reqHeaders.Set("User-Agent", c.s.userAgent()) 19819 if c.ifNoneMatch_ != "" { 19820 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 19821 } 19822 var body io.Reader = nil 19823 c.urlParams_.Set("alt", alt) 19824 c.urlParams_.Set("prettyPrint", "false") 19825 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products") 19826 urls += "?" + c.urlParams_.Encode() 19827 req, err := http.NewRequest("GET", urls, body) 19828 if err != nil { 19829 return nil, err 19830 } 19831 req.Header = reqHeaders 19832 googleapi.Expand(req.URL, map[string]string{ 19833 "parent": c.parent, 19834 }) 19835 return gensupport.SendRequest(c.ctx_, c.s.client, req) 19836} 19837 19838// Do executes the "vision.projects.locations.products.list" call. 19839// Exactly one of *ListProductsResponse or error will be non-nil. Any 19840// non-2xx status code is an error. Response headers are in either 19841// *ListProductsResponse.ServerResponse.Header or (if a response was 19842// returned at all) in error.(*googleapi.Error).Header. Use 19843// googleapi.IsNotModified to check whether the returned error was 19844// because http.StatusNotModified was returned. 19845func (c *ProjectsLocationsProductsListCall) Do(opts ...googleapi.CallOption) (*ListProductsResponse, error) { 19846 gensupport.SetOptions(c.urlParams_, opts...) 19847 res, err := c.doRequest("json") 19848 if res != nil && res.StatusCode == http.StatusNotModified { 19849 if res.Body != nil { 19850 res.Body.Close() 19851 } 19852 return nil, &googleapi.Error{ 19853 Code: res.StatusCode, 19854 Header: res.Header, 19855 } 19856 } 19857 if err != nil { 19858 return nil, err 19859 } 19860 defer googleapi.CloseBody(res) 19861 if err := googleapi.CheckResponse(res); err != nil { 19862 return nil, err 19863 } 19864 ret := &ListProductsResponse{ 19865 ServerResponse: googleapi.ServerResponse{ 19866 Header: res.Header, 19867 HTTPStatusCode: res.StatusCode, 19868 }, 19869 } 19870 target := &ret 19871 if err := gensupport.DecodeResponse(target, res); err != nil { 19872 return nil, err 19873 } 19874 return ret, nil 19875 // { 19876 // "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.", 19877 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products", 19878 // "httpMethod": "GET", 19879 // "id": "vision.projects.locations.products.list", 19880 // "parameterOrder": [ 19881 // "parent" 19882 // ], 19883 // "parameters": { 19884 // "pageSize": { 19885 // "description": "The maximum number of items to return. Default 10, maximum 100.", 19886 // "format": "int32", 19887 // "location": "query", 19888 // "type": "integer" 19889 // }, 19890 // "pageToken": { 19891 // "description": "The next_page_token returned from a previous List request, if any.", 19892 // "location": "query", 19893 // "type": "string" 19894 // }, 19895 // "parent": { 19896 // "description": "Required. The project OR ProductSet from which Products should be listed.\n\nFormat:\n`projects/PROJECT_ID/locations/LOC_ID`", 19897 // "location": "path", 19898 // "pattern": "^projects/[^/]+/locations/[^/]+$", 19899 // "required": true, 19900 // "type": "string" 19901 // } 19902 // }, 19903 // "path": "v1/{+parent}/products", 19904 // "response": { 19905 // "$ref": "ListProductsResponse" 19906 // }, 19907 // "scopes": [ 19908 // "https://www.googleapis.com/auth/cloud-platform", 19909 // "https://www.googleapis.com/auth/cloud-vision" 19910 // ] 19911 // } 19912 19913} 19914 19915// Pages invokes f for each page of results. 19916// A non-nil error returned from f will halt the iteration. 19917// The provided context supersedes any context provided to the Context method. 19918func (c *ProjectsLocationsProductsListCall) Pages(ctx context.Context, f func(*ListProductsResponse) error) error { 19919 c.ctx_ = ctx 19920 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 19921 for { 19922 x, err := c.Do() 19923 if err != nil { 19924 return err 19925 } 19926 if err := f(x); err != nil { 19927 return err 19928 } 19929 if x.NextPageToken == "" { 19930 return nil 19931 } 19932 c.PageToken(x.NextPageToken) 19933 } 19934} 19935 19936// method id "vision.projects.locations.products.patch": 19937 19938type ProjectsLocationsProductsPatchCall struct { 19939 s *Service 19940 name string 19941 product *Product 19942 urlParams_ gensupport.URLParams 19943 ctx_ context.Context 19944 header_ http.Header 19945} 19946 19947// Patch: Makes changes to a Product resource. 19948// Only the `display_name`, `description`, and `labels` fields can be 19949// updated 19950// right now. 19951// 19952// If labels are updated, the change will not be reflected in queries 19953// until 19954// the next index time. 19955// 19956// Possible errors: 19957// 19958// * Returns NOT_FOUND if the Product does not exist. 19959// * Returns INVALID_ARGUMENT if display_name is present in update_mask 19960// but is 19961// missing from the request or longer than 4096 characters. 19962// * Returns INVALID_ARGUMENT if description is present in update_mask 19963// but is 19964// longer than 4096 characters. 19965// * Returns INVALID_ARGUMENT if product_category is present in 19966// update_mask. 19967func (r *ProjectsLocationsProductsService) Patch(name string, product *Product) *ProjectsLocationsProductsPatchCall { 19968 c := &ProjectsLocationsProductsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 19969 c.name = name 19970 c.product = product 19971 return c 19972} 19973 19974// UpdateMask sets the optional parameter "updateMask": The FieldMask 19975// that specifies which fields 19976// to update. 19977// If update_mask isn't specified, all mutable fields are to be 19978// updated. 19979// Valid mask paths include `product_labels`, `display_name`, 19980// and 19981// `description`. 19982func (c *ProjectsLocationsProductsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsProductsPatchCall { 19983 c.urlParams_.Set("updateMask", updateMask) 19984 return c 19985} 19986 19987// Fields allows partial responses to be retrieved. See 19988// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 19989// for more information. 19990func (c *ProjectsLocationsProductsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsPatchCall { 19991 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 19992 return c 19993} 19994 19995// Context sets the context to be used in this call's Do method. Any 19996// pending HTTP request will be aborted if the provided context is 19997// canceled. 19998func (c *ProjectsLocationsProductsPatchCall) Context(ctx context.Context) *ProjectsLocationsProductsPatchCall { 19999 c.ctx_ = ctx 20000 return c 20001} 20002 20003// Header returns an http.Header that can be modified by the caller to 20004// add HTTP headers to the request. 20005func (c *ProjectsLocationsProductsPatchCall) Header() http.Header { 20006 if c.header_ == nil { 20007 c.header_ = make(http.Header) 20008 } 20009 return c.header_ 20010} 20011 20012func (c *ProjectsLocationsProductsPatchCall) doRequest(alt string) (*http.Response, error) { 20013 reqHeaders := make(http.Header) 20014 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 20015 for k, v := range c.header_ { 20016 reqHeaders[k] = v 20017 } 20018 reqHeaders.Set("User-Agent", c.s.userAgent()) 20019 var body io.Reader = nil 20020 body, err := googleapi.WithoutDataWrapper.JSONReader(c.product) 20021 if err != nil { 20022 return nil, err 20023 } 20024 reqHeaders.Set("Content-Type", "application/json") 20025 c.urlParams_.Set("alt", alt) 20026 c.urlParams_.Set("prettyPrint", "false") 20027 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 20028 urls += "?" + c.urlParams_.Encode() 20029 req, err := http.NewRequest("PATCH", urls, body) 20030 if err != nil { 20031 return nil, err 20032 } 20033 req.Header = reqHeaders 20034 googleapi.Expand(req.URL, map[string]string{ 20035 "name": c.name, 20036 }) 20037 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20038} 20039 20040// Do executes the "vision.projects.locations.products.patch" call. 20041// Exactly one of *Product or error will be non-nil. Any non-2xx status 20042// code is an error. Response headers are in either 20043// *Product.ServerResponse.Header or (if a response was returned at all) 20044// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 20045// check whether the returned error was because http.StatusNotModified 20046// was returned. 20047func (c *ProjectsLocationsProductsPatchCall) Do(opts ...googleapi.CallOption) (*Product, error) { 20048 gensupport.SetOptions(c.urlParams_, opts...) 20049 res, err := c.doRequest("json") 20050 if res != nil && res.StatusCode == http.StatusNotModified { 20051 if res.Body != nil { 20052 res.Body.Close() 20053 } 20054 return nil, &googleapi.Error{ 20055 Code: res.StatusCode, 20056 Header: res.Header, 20057 } 20058 } 20059 if err != nil { 20060 return nil, err 20061 } 20062 defer googleapi.CloseBody(res) 20063 if err := googleapi.CheckResponse(res); err != nil { 20064 return nil, err 20065 } 20066 ret := &Product{ 20067 ServerResponse: googleapi.ServerResponse{ 20068 Header: res.Header, 20069 HTTPStatusCode: res.StatusCode, 20070 }, 20071 } 20072 target := &ret 20073 if err := gensupport.DecodeResponse(target, res); err != nil { 20074 return nil, err 20075 } 20076 return ret, nil 20077 // { 20078 // "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.", 20079 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}", 20080 // "httpMethod": "PATCH", 20081 // "id": "vision.projects.locations.products.patch", 20082 // "parameterOrder": [ 20083 // "name" 20084 // ], 20085 // "parameters": { 20086 // "name": { 20087 // "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.", 20088 // "location": "path", 20089 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 20090 // "required": true, 20091 // "type": "string" 20092 // }, 20093 // "updateMask": { 20094 // "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`.", 20095 // "format": "google-fieldmask", 20096 // "location": "query", 20097 // "type": "string" 20098 // } 20099 // }, 20100 // "path": "v1/{+name}", 20101 // "request": { 20102 // "$ref": "Product" 20103 // }, 20104 // "response": { 20105 // "$ref": "Product" 20106 // }, 20107 // "scopes": [ 20108 // "https://www.googleapis.com/auth/cloud-platform", 20109 // "https://www.googleapis.com/auth/cloud-vision" 20110 // ] 20111 // } 20112 20113} 20114 20115// method id "vision.projects.locations.products.purge": 20116 20117type ProjectsLocationsProductsPurgeCall struct { 20118 s *Service 20119 parent string 20120 purgeproductsrequest *PurgeProductsRequest 20121 urlParams_ gensupport.URLParams 20122 ctx_ context.Context 20123 header_ http.Header 20124} 20125 20126// Purge: Asynchronous API to delete all Products in a ProductSet or all 20127// Products 20128// that are in no ProductSet. 20129// 20130// If a Product is a member of the specified ProductSet in addition to 20131// other 20132// ProductSets, the Product will still be deleted. 20133// 20134// It is recommended to not delete the specified ProductSet until after 20135// this 20136// operation has completed. It is also recommended to not add any of 20137// the 20138// Products involved in the batch delete to a new ProductSet while 20139// this 20140// operation is running because those Products may still end up 20141// deleted. 20142// 20143// It's not possible to undo the PurgeProducts operation. Therefore, it 20144// is 20145// recommended to keep the csv files used in ImportProductSets (if that 20146// was 20147// how you originally built the Product Set) before starting 20148// PurgeProducts, in 20149// case you need to re-import the data after deletion. 20150// 20151// If the plan is to purge all of the Products from a ProductSet and 20152// then 20153// re-use the empty ProductSet to re-import new Products into the 20154// empty 20155// ProductSet, you must wait until the PurgeProducts operation has 20156// finished 20157// for that ProductSet. 20158// 20159// The google.longrunning.Operation API can be used to keep track of 20160// the 20161// progress and results of the request. 20162// `Operation.metadata` contains `BatchOperationMetadata`. (progress) 20163func (r *ProjectsLocationsProductsService) Purge(parent string, purgeproductsrequest *PurgeProductsRequest) *ProjectsLocationsProductsPurgeCall { 20164 c := &ProjectsLocationsProductsPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20165 c.parent = parent 20166 c.purgeproductsrequest = purgeproductsrequest 20167 return c 20168} 20169 20170// Fields allows partial responses to be retrieved. See 20171// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20172// for more information. 20173func (c *ProjectsLocationsProductsPurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsPurgeCall { 20174 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20175 return c 20176} 20177 20178// Context sets the context to be used in this call's Do method. Any 20179// pending HTTP request will be aborted if the provided context is 20180// canceled. 20181func (c *ProjectsLocationsProductsPurgeCall) Context(ctx context.Context) *ProjectsLocationsProductsPurgeCall { 20182 c.ctx_ = ctx 20183 return c 20184} 20185 20186// Header returns an http.Header that can be modified by the caller to 20187// add HTTP headers to the request. 20188func (c *ProjectsLocationsProductsPurgeCall) Header() http.Header { 20189 if c.header_ == nil { 20190 c.header_ = make(http.Header) 20191 } 20192 return c.header_ 20193} 20194 20195func (c *ProjectsLocationsProductsPurgeCall) doRequest(alt string) (*http.Response, error) { 20196 reqHeaders := make(http.Header) 20197 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 20198 for k, v := range c.header_ { 20199 reqHeaders[k] = v 20200 } 20201 reqHeaders.Set("User-Agent", c.s.userAgent()) 20202 var body io.Reader = nil 20203 body, err := googleapi.WithoutDataWrapper.JSONReader(c.purgeproductsrequest) 20204 if err != nil { 20205 return nil, err 20206 } 20207 reqHeaders.Set("Content-Type", "application/json") 20208 c.urlParams_.Set("alt", alt) 20209 c.urlParams_.Set("prettyPrint", "false") 20210 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/products:purge") 20211 urls += "?" + c.urlParams_.Encode() 20212 req, err := http.NewRequest("POST", urls, body) 20213 if err != nil { 20214 return nil, err 20215 } 20216 req.Header = reqHeaders 20217 googleapi.Expand(req.URL, map[string]string{ 20218 "parent": c.parent, 20219 }) 20220 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20221} 20222 20223// Do executes the "vision.projects.locations.products.purge" call. 20224// Exactly one of *Operation or error will be non-nil. Any non-2xx 20225// status code is an error. Response headers are in either 20226// *Operation.ServerResponse.Header or (if a response was returned at 20227// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 20228// to check whether the returned error was because 20229// http.StatusNotModified was returned. 20230func (c *ProjectsLocationsProductsPurgeCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 20231 gensupport.SetOptions(c.urlParams_, opts...) 20232 res, err := c.doRequest("json") 20233 if res != nil && res.StatusCode == http.StatusNotModified { 20234 if res.Body != nil { 20235 res.Body.Close() 20236 } 20237 return nil, &googleapi.Error{ 20238 Code: res.StatusCode, 20239 Header: res.Header, 20240 } 20241 } 20242 if err != nil { 20243 return nil, err 20244 } 20245 defer googleapi.CloseBody(res) 20246 if err := googleapi.CheckResponse(res); err != nil { 20247 return nil, err 20248 } 20249 ret := &Operation{ 20250 ServerResponse: googleapi.ServerResponse{ 20251 Header: res.Header, 20252 HTTPStatusCode: res.StatusCode, 20253 }, 20254 } 20255 target := &ret 20256 if err := gensupport.DecodeResponse(target, res); err != nil { 20257 return nil, err 20258 } 20259 return ret, nil 20260 // { 20261 // "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)", 20262 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products:purge", 20263 // "httpMethod": "POST", 20264 // "id": "vision.projects.locations.products.purge", 20265 // "parameterOrder": [ 20266 // "parent" 20267 // ], 20268 // "parameters": { 20269 // "parent": { 20270 // "description": "Required. The project and location in which the Products should be deleted.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.", 20271 // "location": "path", 20272 // "pattern": "^projects/[^/]+/locations/[^/]+$", 20273 // "required": true, 20274 // "type": "string" 20275 // } 20276 // }, 20277 // "path": "v1/{+parent}/products:purge", 20278 // "request": { 20279 // "$ref": "PurgeProductsRequest" 20280 // }, 20281 // "response": { 20282 // "$ref": "Operation" 20283 // }, 20284 // "scopes": [ 20285 // "https://www.googleapis.com/auth/cloud-platform", 20286 // "https://www.googleapis.com/auth/cloud-vision" 20287 // ] 20288 // } 20289 20290} 20291 20292// method id "vision.projects.locations.products.referenceImages.create": 20293 20294type ProjectsLocationsProductsReferenceImagesCreateCall struct { 20295 s *Service 20296 parent string 20297 referenceimage *ReferenceImage 20298 urlParams_ gensupport.URLParams 20299 ctx_ context.Context 20300 header_ http.Header 20301} 20302 20303// Create: Creates and returns a new ReferenceImage resource. 20304// 20305// The `bounding_poly` field is optional. If `bounding_poly` is not 20306// specified, 20307// the system will try to detect regions of interest in the image that 20308// are 20309// compatible with the product_category on the parent product. If it 20310// is 20311// specified, detection is ALWAYS skipped. The system converts polygons 20312// into 20313// non-rotated rectangles. 20314// 20315// Note that the pipeline will resize the image if the image resolution 20316// is too 20317// large to process (above 50MP). 20318// 20319// Possible errors: 20320// 20321// * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 20322// 4096 20323// characters. 20324// * Returns INVALID_ARGUMENT if the product does not exist. 20325// * Returns INVALID_ARGUMENT if bounding_poly is not provided, and 20326// nothing 20327// compatible with the parent product's product_category is 20328// detected. 20329// * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 20330// polygons. 20331func (r *ProjectsLocationsProductsReferenceImagesService) Create(parent string, referenceimage *ReferenceImage) *ProjectsLocationsProductsReferenceImagesCreateCall { 20332 c := &ProjectsLocationsProductsReferenceImagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20333 c.parent = parent 20334 c.referenceimage = referenceimage 20335 return c 20336} 20337 20338// ReferenceImageId sets the optional parameter "referenceImageId": A 20339// user-supplied resource id for the ReferenceImage to be added. If 20340// set, 20341// the server will attempt to use this value as the resource id. If it 20342// is 20343// already in use, an error is returned with code ALREADY_EXISTS. Must 20344// be at 20345// most 128 characters long. It cannot contain the character `/`. 20346func (c *ProjectsLocationsProductsReferenceImagesCreateCall) ReferenceImageId(referenceImageId string) *ProjectsLocationsProductsReferenceImagesCreateCall { 20347 c.urlParams_.Set("referenceImageId", referenceImageId) 20348 return c 20349} 20350 20351// Fields allows partial responses to be retrieved. See 20352// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20353// for more information. 20354func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesCreateCall { 20355 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20356 return c 20357} 20358 20359// Context sets the context to be used in this call's Do method. Any 20360// pending HTTP request will be aborted if the provided context is 20361// canceled. 20362func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesCreateCall { 20363 c.ctx_ = ctx 20364 return c 20365} 20366 20367// Header returns an http.Header that can be modified by the caller to 20368// add HTTP headers to the request. 20369func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Header() http.Header { 20370 if c.header_ == nil { 20371 c.header_ = make(http.Header) 20372 } 20373 return c.header_ 20374} 20375 20376func (c *ProjectsLocationsProductsReferenceImagesCreateCall) doRequest(alt string) (*http.Response, error) { 20377 reqHeaders := make(http.Header) 20378 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 20379 for k, v := range c.header_ { 20380 reqHeaders[k] = v 20381 } 20382 reqHeaders.Set("User-Agent", c.s.userAgent()) 20383 var body io.Reader = nil 20384 body, err := googleapi.WithoutDataWrapper.JSONReader(c.referenceimage) 20385 if err != nil { 20386 return nil, err 20387 } 20388 reqHeaders.Set("Content-Type", "application/json") 20389 c.urlParams_.Set("alt", alt) 20390 c.urlParams_.Set("prettyPrint", "false") 20391 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/referenceImages") 20392 urls += "?" + c.urlParams_.Encode() 20393 req, err := http.NewRequest("POST", urls, body) 20394 if err != nil { 20395 return nil, err 20396 } 20397 req.Header = reqHeaders 20398 googleapi.Expand(req.URL, map[string]string{ 20399 "parent": c.parent, 20400 }) 20401 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20402} 20403 20404// Do executes the "vision.projects.locations.products.referenceImages.create" call. 20405// Exactly one of *ReferenceImage or error will be non-nil. Any non-2xx 20406// status code is an error. Response headers are in either 20407// *ReferenceImage.ServerResponse.Header or (if a response was returned 20408// at all) in error.(*googleapi.Error).Header. Use 20409// googleapi.IsNotModified to check whether the returned error was 20410// because http.StatusNotModified was returned. 20411func (c *ProjectsLocationsProductsReferenceImagesCreateCall) Do(opts ...googleapi.CallOption) (*ReferenceImage, error) { 20412 gensupport.SetOptions(c.urlParams_, opts...) 20413 res, err := c.doRequest("json") 20414 if res != nil && res.StatusCode == http.StatusNotModified { 20415 if res.Body != nil { 20416 res.Body.Close() 20417 } 20418 return nil, &googleapi.Error{ 20419 Code: res.StatusCode, 20420 Header: res.Header, 20421 } 20422 } 20423 if err != nil { 20424 return nil, err 20425 } 20426 defer googleapi.CloseBody(res) 20427 if err := googleapi.CheckResponse(res); err != nil { 20428 return nil, err 20429 } 20430 ret := &ReferenceImage{ 20431 ServerResponse: googleapi.ServerResponse{ 20432 Header: res.Header, 20433 HTTPStatusCode: res.StatusCode, 20434 }, 20435 } 20436 target := &ret 20437 if err := gensupport.DecodeResponse(target, res); err != nil { 20438 return nil, err 20439 } 20440 return ret, nil 20441 // { 20442 // "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.", 20443 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages", 20444 // "httpMethod": "POST", 20445 // "id": "vision.projects.locations.products.referenceImages.create", 20446 // "parameterOrder": [ 20447 // "parent" 20448 // ], 20449 // "parameters": { 20450 // "parent": { 20451 // "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`.", 20452 // "location": "path", 20453 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 20454 // "required": true, 20455 // "type": "string" 20456 // }, 20457 // "referenceImageId": { 20458 // "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 `/`.", 20459 // "location": "query", 20460 // "type": "string" 20461 // } 20462 // }, 20463 // "path": "v1/{+parent}/referenceImages", 20464 // "request": { 20465 // "$ref": "ReferenceImage" 20466 // }, 20467 // "response": { 20468 // "$ref": "ReferenceImage" 20469 // }, 20470 // "scopes": [ 20471 // "https://www.googleapis.com/auth/cloud-platform", 20472 // "https://www.googleapis.com/auth/cloud-vision" 20473 // ] 20474 // } 20475 20476} 20477 20478// method id "vision.projects.locations.products.referenceImages.delete": 20479 20480type ProjectsLocationsProductsReferenceImagesDeleteCall struct { 20481 s *Service 20482 name string 20483 urlParams_ gensupport.URLParams 20484 ctx_ context.Context 20485 header_ http.Header 20486} 20487 20488// Delete: Permanently deletes a reference image. 20489// 20490// The image metadata will be deleted right away, but search 20491// queries 20492// against ProductSets containing the image may still work until all 20493// related 20494// caches are refreshed. 20495// 20496// The actual image files are not deleted from Google Cloud Storage. 20497func (r *ProjectsLocationsProductsReferenceImagesService) Delete(name string) *ProjectsLocationsProductsReferenceImagesDeleteCall { 20498 c := &ProjectsLocationsProductsReferenceImagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20499 c.name = name 20500 return c 20501} 20502 20503// Fields allows partial responses to be retrieved. See 20504// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20505// for more information. 20506func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesDeleteCall { 20507 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20508 return c 20509} 20510 20511// Context sets the context to be used in this call's Do method. Any 20512// pending HTTP request will be aborted if the provided context is 20513// canceled. 20514func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesDeleteCall { 20515 c.ctx_ = ctx 20516 return c 20517} 20518 20519// Header returns an http.Header that can be modified by the caller to 20520// add HTTP headers to the request. 20521func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Header() http.Header { 20522 if c.header_ == nil { 20523 c.header_ = make(http.Header) 20524 } 20525 return c.header_ 20526} 20527 20528func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) doRequest(alt string) (*http.Response, error) { 20529 reqHeaders := make(http.Header) 20530 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 20531 for k, v := range c.header_ { 20532 reqHeaders[k] = v 20533 } 20534 reqHeaders.Set("User-Agent", c.s.userAgent()) 20535 var body io.Reader = nil 20536 c.urlParams_.Set("alt", alt) 20537 c.urlParams_.Set("prettyPrint", "false") 20538 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 20539 urls += "?" + c.urlParams_.Encode() 20540 req, err := http.NewRequest("DELETE", urls, body) 20541 if err != nil { 20542 return nil, err 20543 } 20544 req.Header = reqHeaders 20545 googleapi.Expand(req.URL, map[string]string{ 20546 "name": c.name, 20547 }) 20548 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20549} 20550 20551// Do executes the "vision.projects.locations.products.referenceImages.delete" call. 20552// Exactly one of *Empty or error will be non-nil. Any non-2xx status 20553// code is an error. Response headers are in either 20554// *Empty.ServerResponse.Header or (if a response was returned at all) 20555// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 20556// check whether the returned error was because http.StatusNotModified 20557// was returned. 20558func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 20559 gensupport.SetOptions(c.urlParams_, opts...) 20560 res, err := c.doRequest("json") 20561 if res != nil && res.StatusCode == http.StatusNotModified { 20562 if res.Body != nil { 20563 res.Body.Close() 20564 } 20565 return nil, &googleapi.Error{ 20566 Code: res.StatusCode, 20567 Header: res.Header, 20568 } 20569 } 20570 if err != nil { 20571 return nil, err 20572 } 20573 defer googleapi.CloseBody(res) 20574 if err := googleapi.CheckResponse(res); err != nil { 20575 return nil, err 20576 } 20577 ret := &Empty{ 20578 ServerResponse: googleapi.ServerResponse{ 20579 Header: res.Header, 20580 HTTPStatusCode: res.StatusCode, 20581 }, 20582 } 20583 target := &ret 20584 if err := gensupport.DecodeResponse(target, res); err != nil { 20585 return nil, err 20586 } 20587 return ret, nil 20588 // { 20589 // "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.", 20590 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages/{referenceImagesId}", 20591 // "httpMethod": "DELETE", 20592 // "id": "vision.projects.locations.products.referenceImages.delete", 20593 // "parameterOrder": [ 20594 // "name" 20595 // ], 20596 // "parameters": { 20597 // "name": { 20598 // "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`", 20599 // "location": "path", 20600 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+$", 20601 // "required": true, 20602 // "type": "string" 20603 // } 20604 // }, 20605 // "path": "v1/{+name}", 20606 // "response": { 20607 // "$ref": "Empty" 20608 // }, 20609 // "scopes": [ 20610 // "https://www.googleapis.com/auth/cloud-platform", 20611 // "https://www.googleapis.com/auth/cloud-vision" 20612 // ] 20613 // } 20614 20615} 20616 20617// method id "vision.projects.locations.products.referenceImages.get": 20618 20619type ProjectsLocationsProductsReferenceImagesGetCall struct { 20620 s *Service 20621 name string 20622 urlParams_ gensupport.URLParams 20623 ifNoneMatch_ string 20624 ctx_ context.Context 20625 header_ http.Header 20626} 20627 20628// Get: Gets information associated with a ReferenceImage. 20629// 20630// Possible errors: 20631// 20632// * Returns NOT_FOUND if the specified image does not exist. 20633func (r *ProjectsLocationsProductsReferenceImagesService) Get(name string) *ProjectsLocationsProductsReferenceImagesGetCall { 20634 c := &ProjectsLocationsProductsReferenceImagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20635 c.name = name 20636 return c 20637} 20638 20639// Fields allows partial responses to be retrieved. See 20640// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20641// for more information. 20642func (c *ProjectsLocationsProductsReferenceImagesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesGetCall { 20643 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20644 return c 20645} 20646 20647// IfNoneMatch sets the optional parameter which makes the operation 20648// fail if the object's ETag matches the given value. This is useful for 20649// getting updates only after the object has changed since the last 20650// request. Use googleapi.IsNotModified to check whether the response 20651// error from Do is the result of In-None-Match. 20652func (c *ProjectsLocationsProductsReferenceImagesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsReferenceImagesGetCall { 20653 c.ifNoneMatch_ = entityTag 20654 return c 20655} 20656 20657// Context sets the context to be used in this call's Do method. Any 20658// pending HTTP request will be aborted if the provided context is 20659// canceled. 20660func (c *ProjectsLocationsProductsReferenceImagesGetCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesGetCall { 20661 c.ctx_ = ctx 20662 return c 20663} 20664 20665// Header returns an http.Header that can be modified by the caller to 20666// add HTTP headers to the request. 20667func (c *ProjectsLocationsProductsReferenceImagesGetCall) Header() http.Header { 20668 if c.header_ == nil { 20669 c.header_ = make(http.Header) 20670 } 20671 return c.header_ 20672} 20673 20674func (c *ProjectsLocationsProductsReferenceImagesGetCall) doRequest(alt string) (*http.Response, error) { 20675 reqHeaders := make(http.Header) 20676 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 20677 for k, v := range c.header_ { 20678 reqHeaders[k] = v 20679 } 20680 reqHeaders.Set("User-Agent", c.s.userAgent()) 20681 if c.ifNoneMatch_ != "" { 20682 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 20683 } 20684 var body io.Reader = nil 20685 c.urlParams_.Set("alt", alt) 20686 c.urlParams_.Set("prettyPrint", "false") 20687 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 20688 urls += "?" + c.urlParams_.Encode() 20689 req, err := http.NewRequest("GET", urls, body) 20690 if err != nil { 20691 return nil, err 20692 } 20693 req.Header = reqHeaders 20694 googleapi.Expand(req.URL, map[string]string{ 20695 "name": c.name, 20696 }) 20697 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20698} 20699 20700// Do executes the "vision.projects.locations.products.referenceImages.get" call. 20701// Exactly one of *ReferenceImage or error will be non-nil. Any non-2xx 20702// status code is an error. Response headers are in either 20703// *ReferenceImage.ServerResponse.Header or (if a response was returned 20704// at all) in error.(*googleapi.Error).Header. Use 20705// googleapi.IsNotModified to check whether the returned error was 20706// because http.StatusNotModified was returned. 20707func (c *ProjectsLocationsProductsReferenceImagesGetCall) Do(opts ...googleapi.CallOption) (*ReferenceImage, error) { 20708 gensupport.SetOptions(c.urlParams_, opts...) 20709 res, err := c.doRequest("json") 20710 if res != nil && res.StatusCode == http.StatusNotModified { 20711 if res.Body != nil { 20712 res.Body.Close() 20713 } 20714 return nil, &googleapi.Error{ 20715 Code: res.StatusCode, 20716 Header: res.Header, 20717 } 20718 } 20719 if err != nil { 20720 return nil, err 20721 } 20722 defer googleapi.CloseBody(res) 20723 if err := googleapi.CheckResponse(res); err != nil { 20724 return nil, err 20725 } 20726 ret := &ReferenceImage{ 20727 ServerResponse: googleapi.ServerResponse{ 20728 Header: res.Header, 20729 HTTPStatusCode: res.StatusCode, 20730 }, 20731 } 20732 target := &ret 20733 if err := gensupport.DecodeResponse(target, res); err != nil { 20734 return nil, err 20735 } 20736 return ret, nil 20737 // { 20738 // "description": "Gets information associated with a ReferenceImage.\n\nPossible errors:\n\n* Returns NOT_FOUND if the specified image does not exist.", 20739 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages/{referenceImagesId}", 20740 // "httpMethod": "GET", 20741 // "id": "vision.projects.locations.products.referenceImages.get", 20742 // "parameterOrder": [ 20743 // "name" 20744 // ], 20745 // "parameters": { 20746 // "name": { 20747 // "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`.", 20748 // "location": "path", 20749 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+$", 20750 // "required": true, 20751 // "type": "string" 20752 // } 20753 // }, 20754 // "path": "v1/{+name}", 20755 // "response": { 20756 // "$ref": "ReferenceImage" 20757 // }, 20758 // "scopes": [ 20759 // "https://www.googleapis.com/auth/cloud-platform", 20760 // "https://www.googleapis.com/auth/cloud-vision" 20761 // ] 20762 // } 20763 20764} 20765 20766// method id "vision.projects.locations.products.referenceImages.list": 20767 20768type ProjectsLocationsProductsReferenceImagesListCall struct { 20769 s *Service 20770 parent string 20771 urlParams_ gensupport.URLParams 20772 ifNoneMatch_ string 20773 ctx_ context.Context 20774 header_ http.Header 20775} 20776 20777// List: Lists reference images. 20778// 20779// Possible errors: 20780// 20781// * Returns NOT_FOUND if the parent product does not exist. 20782// * Returns INVALID_ARGUMENT if the page_size is greater than 100, or 20783// less 20784// than 1. 20785func (r *ProjectsLocationsProductsReferenceImagesService) List(parent string) *ProjectsLocationsProductsReferenceImagesListCall { 20786 c := &ProjectsLocationsProductsReferenceImagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20787 c.parent = parent 20788 return c 20789} 20790 20791// PageSize sets the optional parameter "pageSize": The maximum number 20792// of items to return. Default 10, maximum 100. 20793func (c *ProjectsLocationsProductsReferenceImagesListCall) PageSize(pageSize int64) *ProjectsLocationsProductsReferenceImagesListCall { 20794 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 20795 return c 20796} 20797 20798// PageToken sets the optional parameter "pageToken": A token 20799// identifying a page of results to be returned. This is the value 20800// of `nextPageToken` returned in a previous reference image list 20801// request. 20802// 20803// Defaults to the first page if not specified. 20804func (c *ProjectsLocationsProductsReferenceImagesListCall) PageToken(pageToken string) *ProjectsLocationsProductsReferenceImagesListCall { 20805 c.urlParams_.Set("pageToken", pageToken) 20806 return c 20807} 20808 20809// Fields allows partial responses to be retrieved. See 20810// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20811// for more information. 20812func (c *ProjectsLocationsProductsReferenceImagesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProductsReferenceImagesListCall { 20813 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20814 return c 20815} 20816 20817// IfNoneMatch sets the optional parameter which makes the operation 20818// fail if the object's ETag matches the given value. This is useful for 20819// getting updates only after the object has changed since the last 20820// request. Use googleapi.IsNotModified to check whether the response 20821// error from Do is the result of In-None-Match. 20822func (c *ProjectsLocationsProductsReferenceImagesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProductsReferenceImagesListCall { 20823 c.ifNoneMatch_ = entityTag 20824 return c 20825} 20826 20827// Context sets the context to be used in this call's Do method. Any 20828// pending HTTP request will be aborted if the provided context is 20829// canceled. 20830func (c *ProjectsLocationsProductsReferenceImagesListCall) Context(ctx context.Context) *ProjectsLocationsProductsReferenceImagesListCall { 20831 c.ctx_ = ctx 20832 return c 20833} 20834 20835// Header returns an http.Header that can be modified by the caller to 20836// add HTTP headers to the request. 20837func (c *ProjectsLocationsProductsReferenceImagesListCall) Header() http.Header { 20838 if c.header_ == nil { 20839 c.header_ = make(http.Header) 20840 } 20841 return c.header_ 20842} 20843 20844func (c *ProjectsLocationsProductsReferenceImagesListCall) doRequest(alt string) (*http.Response, error) { 20845 reqHeaders := make(http.Header) 20846 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 20847 for k, v := range c.header_ { 20848 reqHeaders[k] = v 20849 } 20850 reqHeaders.Set("User-Agent", c.s.userAgent()) 20851 if c.ifNoneMatch_ != "" { 20852 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 20853 } 20854 var body io.Reader = nil 20855 c.urlParams_.Set("alt", alt) 20856 c.urlParams_.Set("prettyPrint", "false") 20857 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/referenceImages") 20858 urls += "?" + c.urlParams_.Encode() 20859 req, err := http.NewRequest("GET", urls, body) 20860 if err != nil { 20861 return nil, err 20862 } 20863 req.Header = reqHeaders 20864 googleapi.Expand(req.URL, map[string]string{ 20865 "parent": c.parent, 20866 }) 20867 return gensupport.SendRequest(c.ctx_, c.s.client, req) 20868} 20869 20870// Do executes the "vision.projects.locations.products.referenceImages.list" call. 20871// Exactly one of *ListReferenceImagesResponse or error will be non-nil. 20872// Any non-2xx status code is an error. Response headers are in either 20873// *ListReferenceImagesResponse.ServerResponse.Header or (if a response 20874// was returned at all) in error.(*googleapi.Error).Header. Use 20875// googleapi.IsNotModified to check whether the returned error was 20876// because http.StatusNotModified was returned. 20877func (c *ProjectsLocationsProductsReferenceImagesListCall) Do(opts ...googleapi.CallOption) (*ListReferenceImagesResponse, error) { 20878 gensupport.SetOptions(c.urlParams_, opts...) 20879 res, err := c.doRequest("json") 20880 if res != nil && res.StatusCode == http.StatusNotModified { 20881 if res.Body != nil { 20882 res.Body.Close() 20883 } 20884 return nil, &googleapi.Error{ 20885 Code: res.StatusCode, 20886 Header: res.Header, 20887 } 20888 } 20889 if err != nil { 20890 return nil, err 20891 } 20892 defer googleapi.CloseBody(res) 20893 if err := googleapi.CheckResponse(res); err != nil { 20894 return nil, err 20895 } 20896 ret := &ListReferenceImagesResponse{ 20897 ServerResponse: googleapi.ServerResponse{ 20898 Header: res.Header, 20899 HTTPStatusCode: res.StatusCode, 20900 }, 20901 } 20902 target := &ret 20903 if err := gensupport.DecodeResponse(target, res); err != nil { 20904 return nil, err 20905 } 20906 return ret, nil 20907 // { 20908 // "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.", 20909 // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/referenceImages", 20910 // "httpMethod": "GET", 20911 // "id": "vision.projects.locations.products.referenceImages.list", 20912 // "parameterOrder": [ 20913 // "parent" 20914 // ], 20915 // "parameters": { 20916 // "pageSize": { 20917 // "description": "The maximum number of items to return. Default 10, maximum 100.", 20918 // "format": "int32", 20919 // "location": "query", 20920 // "type": "integer" 20921 // }, 20922 // "pageToken": { 20923 // "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.", 20924 // "location": "query", 20925 // "type": "string" 20926 // }, 20927 // "parent": { 20928 // "description": "Required. Resource name of the product containing the reference images.\n\nFormat is\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.", 20929 // "location": "path", 20930 // "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", 20931 // "required": true, 20932 // "type": "string" 20933 // } 20934 // }, 20935 // "path": "v1/{+parent}/referenceImages", 20936 // "response": { 20937 // "$ref": "ListReferenceImagesResponse" 20938 // }, 20939 // "scopes": [ 20940 // "https://www.googleapis.com/auth/cloud-platform", 20941 // "https://www.googleapis.com/auth/cloud-vision" 20942 // ] 20943 // } 20944 20945} 20946 20947// Pages invokes f for each page of results. 20948// A non-nil error returned from f will halt the iteration. 20949// The provided context supersedes any context provided to the Context method. 20950func (c *ProjectsLocationsProductsReferenceImagesListCall) Pages(ctx context.Context, f func(*ListReferenceImagesResponse) error) error { 20951 c.ctx_ = ctx 20952 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 20953 for { 20954 x, err := c.Do() 20955 if err != nil { 20956 return err 20957 } 20958 if err := f(x); err != nil { 20959 return err 20960 } 20961 if x.NextPageToken == "" { 20962 return nil 20963 } 20964 c.PageToken(x.NextPageToken) 20965 } 20966} 20967 20968// method id "vision.projects.operations.get": 20969 20970type ProjectsOperationsGetCall struct { 20971 s *Service 20972 name string 20973 urlParams_ gensupport.URLParams 20974 ifNoneMatch_ string 20975 ctx_ context.Context 20976 header_ http.Header 20977} 20978 20979// Get: Gets the latest state of a long-running operation. Clients can 20980// use this 20981// method to poll the operation result at intervals as recommended by 20982// the API 20983// service. 20984func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall { 20985 c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 20986 c.name = name 20987 return c 20988} 20989 20990// Fields allows partial responses to be retrieved. See 20991// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 20992// for more information. 20993func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall { 20994 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 20995 return c 20996} 20997 20998// IfNoneMatch sets the optional parameter which makes the operation 20999// fail if the object's ETag matches the given value. This is useful for 21000// getting updates only after the object has changed since the last 21001// request. Use googleapi.IsNotModified to check whether the response 21002// error from Do is the result of In-None-Match. 21003func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall { 21004 c.ifNoneMatch_ = entityTag 21005 return c 21006} 21007 21008// Context sets the context to be used in this call's Do method. Any 21009// pending HTTP request will be aborted if the provided context is 21010// canceled. 21011func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall { 21012 c.ctx_ = ctx 21013 return c 21014} 21015 21016// Header returns an http.Header that can be modified by the caller to 21017// add HTTP headers to the request. 21018func (c *ProjectsOperationsGetCall) Header() http.Header { 21019 if c.header_ == nil { 21020 c.header_ = make(http.Header) 21021 } 21022 return c.header_ 21023} 21024 21025func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 21026 reqHeaders := make(http.Header) 21027 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707") 21028 for k, v := range c.header_ { 21029 reqHeaders[k] = v 21030 } 21031 reqHeaders.Set("User-Agent", c.s.userAgent()) 21032 if c.ifNoneMatch_ != "" { 21033 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 21034 } 21035 var body io.Reader = nil 21036 c.urlParams_.Set("alt", alt) 21037 c.urlParams_.Set("prettyPrint", "false") 21038 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 21039 urls += "?" + c.urlParams_.Encode() 21040 req, err := http.NewRequest("GET", urls, body) 21041 if err != nil { 21042 return nil, err 21043 } 21044 req.Header = reqHeaders 21045 googleapi.Expand(req.URL, map[string]string{ 21046 "name": c.name, 21047 }) 21048 return gensupport.SendRequest(c.ctx_, c.s.client, req) 21049} 21050 21051// Do executes the "vision.projects.operations.get" call. 21052// Exactly one of *Operation or error will be non-nil. Any non-2xx 21053// status code is an error. Response headers are in either 21054// *Operation.ServerResponse.Header or (if a response was returned at 21055// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 21056// to check whether the returned error was because 21057// http.StatusNotModified was returned. 21058func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 21059 gensupport.SetOptions(c.urlParams_, opts...) 21060 res, err := c.doRequest("json") 21061 if res != nil && res.StatusCode == http.StatusNotModified { 21062 if res.Body != nil { 21063 res.Body.Close() 21064 } 21065 return nil, &googleapi.Error{ 21066 Code: res.StatusCode, 21067 Header: res.Header, 21068 } 21069 } 21070 if err != nil { 21071 return nil, err 21072 } 21073 defer googleapi.CloseBody(res) 21074 if err := googleapi.CheckResponse(res); err != nil { 21075 return nil, err 21076 } 21077 ret := &Operation{ 21078 ServerResponse: googleapi.ServerResponse{ 21079 Header: res.Header, 21080 HTTPStatusCode: res.StatusCode, 21081 }, 21082 } 21083 target := &ret 21084 if err := gensupport.DecodeResponse(target, res); err != nil { 21085 return nil, err 21086 } 21087 return ret, nil 21088 // { 21089 // "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.", 21090 // "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", 21091 // "httpMethod": "GET", 21092 // "id": "vision.projects.operations.get", 21093 // "parameterOrder": [ 21094 // "name" 21095 // ], 21096 // "parameters": { 21097 // "name": { 21098 // "description": "The name of the operation resource.", 21099 // "location": "path", 21100 // "pattern": "^projects/[^/]+/operations/[^/]+$", 21101 // "required": true, 21102 // "type": "string" 21103 // } 21104 // }, 21105 // "path": "v1/{+name}", 21106 // "response": { 21107 // "$ref": "Operation" 21108 // }, 21109 // "scopes": [ 21110 // "https://www.googleapis.com/auth/cloud-platform", 21111 // "https://www.googleapis.com/auth/cloud-vision" 21112 // ] 21113 // } 21114 21115} 21116