blob: 5c5c2d4adab8ee2707679d401acef4f7891aa852 [file] [log] [blame]
// Copyright 2024 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package translate provides access to the Cloud Translation API.
//
// This package is DEPRECATED. Use package cloud.google.com/go/translate instead.
//
// For product documentation, see: https://cloud.google.com/translate/docs/quickstarts
//
// # Library status
//
// These client libraries are officially supported by Google. However, this
// library is considered complete and is in maintenance mode. This means
// that we will address critical bugs and security issues but will not add
// any new features.
//
// When possible, we recommend using our newer
// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
// that are still actively being worked and iterated on.
//
// # Creating a client
//
// Usage example:
//
// import "google.golang.org/api/translate/v3beta1"
// ...
// ctx := context.Background()
// translateService, err := translate.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for
// authentication. For information on how to create and obtain Application
// Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// # Other authentication options
//
// By default, all available scopes (see "Constants") are used to authenticate.
// To restrict scopes, use [google.golang.org/api/option.WithScopes]:
//
// translateService, err := translate.NewService(ctx, option.WithScopes(translate.CloudTranslationScope))
//
// To use an API key for authentication (note: some APIs do not support API
// keys), use [google.golang.org/api/option.WithAPIKey]:
//
// translateService, err := translate.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
// flow, use [google.golang.org/api/option.WithTokenSource]:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// translateService, err := translate.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See [google.golang.org/api/option.ClientOption] for details on options.
package translate // import "google.golang.org/api/translate/v3beta1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
internal "google.golang.org/api/internal"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
var _ = internal.Version
const apiId = "translate:v3beta1"
const apiName = "translate"
const apiVersion = "v3beta1"
const basePath = "https://translation.googleapis.com/"
const basePathTemplate = "https://translation.UNIVERSE_DOMAIN/"
const mtlsBasePath = "https://translation.mtls.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// See, edit, configure, and delete your Google Cloud data and see the email
// address for your Google Account.
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
// Translate text from one language to another using Google Translate
CloudTranslationScope = "https://www.googleapis.com/auth/cloud-translation"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := internaloption.WithDefaultScopes(
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-translation",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
opts = append(opts, internaloption.EnableNewAuthLibrary())
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Projects = NewProjectsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.Locations = NewProjectsLocationsService(s)
return rs
}
type ProjectsService struct {
s *Service
Locations *ProjectsLocationsService
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
rs.Glossaries = NewProjectsLocationsGlossariesService(s)
rs.Operations = NewProjectsLocationsOperationsService(s)
return rs
}
type ProjectsLocationsService struct {
s *Service
Glossaries *ProjectsLocationsGlossariesService
Operations *ProjectsLocationsOperationsService
}
func NewProjectsLocationsGlossariesService(s *Service) *ProjectsLocationsGlossariesService {
rs := &ProjectsLocationsGlossariesService{s: s}
return rs
}
type ProjectsLocationsGlossariesService struct {
s *Service
}
func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
rs := &ProjectsLocationsOperationsService{s: s}
return rs
}
type ProjectsLocationsOperationsService struct {
s *Service
}
// BatchDocumentInputConfig: Input configuration for BatchTranslateDocument
// request.
type BatchDocumentInputConfig struct {
// GcsSource: Google Cloud Storage location for the source input. This can be a
// single file (for example, `gs://translation-test/input.docx`) or a wildcard
// (for example, `gs://translation-test/*`). File mime type is determined based
// on extension. Supported mime type includes: - `pdf`, application/pdf -
// `docx`,
// application/vnd.openxmlformats-officedocument.wordprocessingml.document -
// `pptx`,
// application/vnd.openxmlformats-officedocument.presentationml.presentation -
// `xlsx`, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
// The max file size to support for `.docx`, `.pptx` and `.xlsx` is 100MB. The
// max file size to support for `.pdf` is 1GB and the max page limit is 1000
// pages. The max file size to support for all input documents is 1GB.
GcsSource *GcsSource `json:"gcsSource,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcsSource") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GcsSource") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *BatchDocumentInputConfig) MarshalJSON() ([]byte, error) {
type NoMethod BatchDocumentInputConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// BatchDocumentOutputConfig: Output configuration for BatchTranslateDocument
// request.
type BatchDocumentOutputConfig struct {
// GcsDestination: Google Cloud Storage destination for output content. For
// every single input document (for example, gs://a/b/c.[extension]), we
// generate at most 2 * n output files. (n is the # of target_language_codes in
// the BatchTranslateDocumentRequest). While the input documents are being
// processed, we write/update an index file `index.csv` under
// `gcs_destination.output_uri_prefix` (for example,
// gs://translation_output/index.csv) The index file is generated/updated as
// new files are being translated. The format is:
// input_document,target_language_code,translation_output,error_output,
// glossary_translation_output,glossary_error_output `input_document` is one
// file we matched using gcs_source.input_uri. `target_language_code` is
// provided in the request. `translation_output` contains the translations.
// (details provided below) `error_output` contains the error message during
// processing of the file. Both translations_file and errors_file could be
// empty strings if we have no content to output. `glossary_translation_output`
// and `glossary_error_output` are the translated output/error when we apply
// glossaries. They could also be empty if we have no content to output. Once a
// row is present in index.csv, the input/output matching never changes.
// Callers should also expect all the content in input_file are processed and
// ready to be consumed (that is, no partial output file is written). Since
// index.csv will be keeping updated during the process, please make sure there
// is no custom retention policy applied on the output bucket that may avoid
// file updating.
// (https://cloud.google.com/storage/docs/bucket-lock#retention-policy) The
// naming format of translation output files follows (for target language code
// [trg]): `translation_output`:
// `gs://translation_output/a_b_c_[trg]_translation.[extension]`
// `glossary_translation_output`:
// `gs://translation_test/a_b_c_[trg]_glossary_translation.[extension]`. The
// output document will maintain the same file format as the input document.
// The naming format of error output files follows (for target language code
// [trg]): `error_output`: `gs://translation_test/a_b_c_[trg]_errors.txt`
// `glossary_error_output`:
// `gs://translation_test/a_b_c_[trg]_glossary_translation.txt` The error
// output is a txt file containing error details.
GcsDestination *GcsDestination `json:"gcsDestination,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcsDestination") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GcsDestination") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *BatchDocumentOutputConfig) MarshalJSON() ([]byte, error) {
type NoMethod BatchDocumentOutputConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// BatchTranslateDocumentRequest: The BatchTranslateDocument request.
type BatchTranslateDocumentRequest struct {
// CustomizedAttribution: Optional. This flag is to support user customized
// attribution. If not provided, the default is `Machine Translated by Google`.
// Customized attribution should follow rules in
// https://cloud.google.com/translate/attribution#attribution_and_logos
CustomizedAttribution string `json:"customizedAttribution,omitempty"`
// EnableRotationCorrection: Optional. If true, enable auto rotation correction
// in DVS.
EnableRotationCorrection bool `json:"enableRotationCorrection,omitempty"`
// EnableShadowRemovalNativePdf: Optional. If true, use the text removal server
// to remove the shadow text on background image for native pdf translation.
// Shadow removal feature can only be enabled when
// is_translate_native_pdf_only: false && pdf_native_only: false
EnableShadowRemovalNativePdf bool `json:"enableShadowRemovalNativePdf,omitempty"`
// FormatConversions: Optional. File format conversion map to be applied to all
// input files. Map's key is the original mime_type. Map's value is the target
// mime_type of translated documents. Supported file format conversion
// includes: - `application/pdf` to
// `application/vnd.openxmlformats-officedocument.wordprocessingml.document` If
// nothing specified, output files will be in the same format as the original
// file.
FormatConversions map[string]string `json:"formatConversions,omitempty"`
// Glossaries: Optional. Glossaries to be applied. It's keyed by target
// language code.
Glossaries map[string]TranslateTextGlossaryConfig `json:"glossaries,omitempty"`
// InputConfigs: Required. Input configurations. The total number of files
// matched should be <= 100. The total content size to translate should be <=
// 100M Unicode codepoints. The files must use UTF-8 encoding.
InputConfigs []*BatchDocumentInputConfig `json:"inputConfigs,omitempty"`
// Models: Optional. The models to use for translation. Map's key is target
// language code. Map's value is the model name. Value can be a built-in
// general model, or an AutoML Translation model. The value format depends on
// model type: - AutoML Translation models:
// `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
// - General (built-in) models:
// `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
// If the map is empty or a specific model is not requested for a language
// pair, then default google model (nmt) is used.
Models map[string]string `json:"models,omitempty"`
// OutputConfig: Required. Output configuration. If 2 input configs match to
// the same file (that is, same input path), we don't generate output for
// duplicate inputs.
OutputConfig *BatchDocumentOutputConfig `json:"outputConfig,omitempty"`
// SourceLanguageCode: Required. The BCP-47 language code of the input document
// if known, for example, "en-US" or "sr-Latn". Supported language codes are
// listed in Language Support
// (https://cloud.google.com/translate/docs/languages).
SourceLanguageCode string `json:"sourceLanguageCode,omitempty"`
// TargetLanguageCodes: Required. The BCP-47 language code to use for
// translation of the input document. Specify up to 10 language codes here.
TargetLanguageCodes []string `json:"targetLanguageCodes,omitempty"`
// ForceSendFields is a list of field names (e.g. "CustomizedAttribution") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CustomizedAttribution") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *BatchTranslateDocumentRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchTranslateDocumentRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// BatchTranslateTextRequest: The batch translation request.
type BatchTranslateTextRequest struct {
// Glossaries: Optional. Glossaries to be applied for translation. It's keyed
// by target language code.
Glossaries map[string]TranslateTextGlossaryConfig `json:"glossaries,omitempty"`
// InputConfigs: Required. Input configurations. The total number of files
// matched should be <= 100. The total content size should be <= 100M Unicode
// codepoints. The files must use UTF-8 encoding.
InputConfigs []*InputConfig `json:"inputConfigs,omitempty"`
// Labels: Optional. The labels with user-defined metadata for the request.
// Label keys and values can be no longer than 63 characters (Unicode
// codepoints), can only contain lowercase letters, numeric characters,
// underscores and dashes. International characters are allowed. Label values
// are optional. Label keys must start with a letter. See
// https://cloud.google.com/translate/docs/labels for more information.
Labels map[string]string `json:"labels,omitempty"`
// Models: Optional. The models to use for translation. Map's key is target
// language code. Map's value is model name. Value can be a built-in general
// model, or an AutoML Translation model. The value format depends on model
// type: - AutoML Translation models:
// `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
// - General (built-in) models:
// `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
// If the map is empty or a specific model is not requested for a language
// pair, then default google model (nmt) is used.
Models map[string]string `json:"models,omitempty"`
// OutputConfig: Required. Output configuration. If 2 input configs match to
// the same file (that is, same input path), we don't generate output for
// duplicate inputs.
OutputConfig *OutputConfig `json:"outputConfig,omitempty"`
// SourceLanguageCode: Required. Source language code.
SourceLanguageCode string `json:"sourceLanguageCode,omitempty"`
// TargetLanguageCodes: Required. Specify up to 10 language codes here.
TargetLanguageCodes []string `json:"targetLanguageCodes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Glossaries") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Glossaries") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *BatchTranslateTextRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchTranslateTextRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// CancelOperationRequest: The request message for Operations.CancelOperation.
type CancelOperationRequest struct {
}
// DetectLanguageRequest: The request message for language detection.
type DetectLanguageRequest struct {
// Content: The content of the input stored as a string.
Content string `json:"content,omitempty"`
// Labels: Optional. The labels with user-defined metadata for the request.
// Label keys and values can be no longer than 63 characters (Unicode
// codepoints), can only contain lowercase letters, numeric characters,
// underscores and dashes. International characters are allowed. Label values
// are optional. Label keys must start with a letter. See
// https://cloud.google.com/translate/docs/labels for more information.
Labels map[string]string `json:"labels,omitempty"`
// MimeType: Optional. The format of the source text, for example, "text/html",
// "text/plain". If left blank, the MIME type defaults to "text/html".
MimeType string `json:"mimeType,omitempty"`
// Model: Optional. The language detection model to be used. Format:
// `projects/{project-number-or-id}/locations/{location-id}/models/language-dete
// ction/{model-id}` Only one language detection model is currently supported:
// `projects/{project-number-or-id}/locations/{location-id}/models/language-dete
// ction/default`. If not specified, the default model is used.
Model string `json:"model,omitempty"`
// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Content") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *DetectLanguageRequest) MarshalJSON() ([]byte, error) {
type NoMethod DetectLanguageRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DetectLanguageResponse: The response message for language detection.
type DetectLanguageResponse struct {
// Languages: A list of detected languages sorted by detection confidence in
// descending order. The most probable language first.
Languages []*DetectedLanguage `json:"languages,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Languages") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Languages") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *DetectLanguageResponse) MarshalJSON() ([]byte, error) {
type NoMethod DetectLanguageResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DetectedLanguage: The response message for language detection.
type DetectedLanguage struct {
// Confidence: The confidence of the detection result for this language.
Confidence float64 `json:"confidence,omitempty"`
// LanguageCode: The BCP-47 language code of source content in the request,
// detected automatically.
LanguageCode string `json:"languageCode,omitempty"`
// ForceSendFields is a list of field names (e.g. "Confidence") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Confidence") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *DetectedLanguage) MarshalJSON() ([]byte, error) {
type NoMethod DetectedLanguage
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
func (s *DetectedLanguage) UnmarshalJSON(data []byte) error {
type NoMethod DetectedLanguage
var s1 struct {
Confidence gensupport.JSONFloat64 `json:"confidence"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Confidence = float64(s1.Confidence)
return nil
}
// DocumentInputConfig: A document translation request input config.
type DocumentInputConfig struct {
// Content: Document's content represented as a stream of bytes.
Content string `json:"content,omitempty"`
// GcsSource: Google Cloud Storage location. This must be a single file. For
// example: gs://example_bucket/example_file.pdf
GcsSource *GcsSource `json:"gcsSource,omitempty"`
// MimeType: Specifies the input document's mime_type. If not specified it will
// be determined using the file extension for gcs_source provided files. For a
// file provided through bytes content the mime_type must be provided.
// Currently supported mime types are: - application/pdf -
// application/vnd.openxmlformats-officedocument.wordprocessingml.document -
// application/vnd.openxmlformats-officedocument.presentationml.presentation -
// application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
MimeType string `json:"mimeType,omitempty"`
// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Content") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *DocumentInputConfig) MarshalJSON() ([]byte, error) {
type NoMethod DocumentInputConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DocumentOutputConfig: A document translation request output config.
type DocumentOutputConfig struct {
// GcsDestination: Optional. Google Cloud Storage destination for the
// translation output, e.g., `gs://my_bucket/my_directory/`. The destination
// directory provided does not have to be empty, but the bucket must exist. If
// a file with the same name as the output file already exists in the
// destination an error will be returned. For a DocumentInputConfig.contents
// provided document, the output file will have the name
// "output_[trg]_translations.[ext]", where - [trg] corresponds to the
// translated file's language code, - [ext] corresponds to the translated
// file's extension according to its mime type. For a
// DocumentInputConfig.gcs_uri provided document, the output file will have a
// name according to its URI. For example: an input file with URI:
// `gs://a/b/c.[extension]` stored in a gcs_destination bucket with name
// "my_bucket" will have an output URI:
// `gs://my_bucket/a_b_c_[trg]_translations.[ext]`, where - [trg] corresponds
// to the translated file's language code, - [ext] corresponds to the
// translated file's extension according to its mime type. If the document was
// directly provided through the request, then the output document will have
// the format: `gs://my_bucket/translated_document_[trg]_translations.[ext]`,
// where - [trg] corresponds to the translated file's language code, - [ext]
// corresponds to the translated file's extension according to its mime type.
// If a glossary was provided, then the output URI for the glossary translation
// will be equal to the default output URI but have `glossary_translations`
// instead of `translations`. For the previous example, its glossary URI would
// be: `gs://my_bucket/a_b_c_[trg]_glossary_translations.[ext]`. Thus the max
// number of output files will be 2 (Translated document, Glossary translated
// document). Callers should expect no partial outputs. If there is any error
// during document translation, no output will be stored in the Cloud Storage
// bucket.
GcsDestination *GcsDestination `json:"gcsDestination,omitempty"`
// MimeType: Optional. Specifies the translated document's mime_type. If not
// specified, the translated file's mime type will be the same as the input
// file's mime type. Currently only support the output mime type to be the same
// as input mime type. - application/pdf -
// application/vnd.openxmlformats-officedocument.wordprocessingml.document -
// application/vnd.openxmlformats-officedocument.presentationml.presentation -
// application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
MimeType string `json:"mimeType,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcsDestination") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GcsDestination") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *DocumentOutputConfig) MarshalJSON() ([]byte, error) {
type NoMethod DocumentOutputConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DocumentTranslation: A translated document message.
type DocumentTranslation struct {
// ByteStreamOutputs: The array of translated documents. It is expected to be
// size 1 for now. We may produce multiple translated documents in the future
// for other type of file formats.
ByteStreamOutputs []string `json:"byteStreamOutputs,omitempty"`
// DetectedLanguageCode: The detected language for the input document. If the
// user did not provide the source language for the input document, this field
// will have the language code automatically detected. If the source language
// was passed, auto-detection of the language does not occur and this field is
// empty.
DetectedLanguageCode string `json:"detectedLanguageCode,omitempty"`
// MimeType: The translated document's mime type.
MimeType string `json:"mimeType,omitempty"`
// ForceSendFields is a list of field names (e.g. "ByteStreamOutputs") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ByteStreamOutputs") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *DocumentTranslation) MarshalJSON() ([]byte, error) {
type NoMethod DocumentTranslation
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Empty: A generic empty message that you can re-use to avoid defining
// duplicated empty messages in your APIs. A typical example is to use it as
// the request or the response type of an API method. For instance: service Foo
// { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
}
// GcsDestination: The Google Cloud Storage location for the output content.
type GcsDestination struct {
// OutputUriPrefix: Required. There must be no files under 'output_uri_prefix'.
// 'output_uri_prefix' must end with "/" and start with "gs://", otherwise an
// INVALID_ARGUMENT (400) error is returned.
OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
// ForceSendFields is a list of field names (e.g. "OutputUriPrefix") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "OutputUriPrefix") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *GcsDestination) MarshalJSON() ([]byte, error) {
type NoMethod GcsDestination
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// GcsSource: The Google Cloud Storage location for the input content.
type GcsSource struct {
// InputUri: Required. Source data URI. For example,
// `gs://my_bucket/my_object`.
InputUri string `json:"inputUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "InputUri") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "InputUri") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *GcsSource) MarshalJSON() ([]byte, error) {
type NoMethod GcsSource
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Glossary: Represents a glossary built from user provided data.
type Glossary struct {
// EndTime: Output only. When the glossary creation was finished.
EndTime string `json:"endTime,omitempty"`
// EntryCount: Output only. The number of entries defined in the glossary.
EntryCount int64 `json:"entryCount,omitempty"`
// InputConfig: Required. Provides examples to build the glossary from. Total
// glossary must not exceed 10M Unicode codepoints.
InputConfig *GlossaryInputConfig `json:"inputConfig,omitempty"`
// LanguageCodesSet: Used with equivalent term set glossaries.
LanguageCodesSet *LanguageCodesSet `json:"languageCodesSet,omitempty"`
// LanguagePair: Used with unidirectional glossaries.
LanguagePair *LanguageCodePair `json:"languagePair,omitempty"`
// Name: Required. The resource name of the glossary. Glossary names have the
// form
// `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary
// -id}`.
Name string `json:"name,omitempty"`
// SubmitTime: Output only. When CreateGlossary was called.
SubmitTime string `json:"submitTime,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EndTime") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *Glossary) MarshalJSON() ([]byte, error) {
type NoMethod Glossary
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// GlossaryInputConfig: Input configuration for glossaries.
type GlossaryInputConfig struct {
// GcsSource: Required. Google Cloud Storage location of glossary data. File
// format is determined based on the filename extension. API returns
// [google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file formats.
// Wildcards are not allowed. This must be a single file in one of the
// following formats: For unidirectional glossaries: - TSV/CSV (`.tsv`/`.csv`):
// 2 column file, tab- or comma-separated. The first column is source text. The
// second column is target text. The file must not contain headers. That is,
// the first row is data, not column names. - TMX (`.tmx`): TMX file with
// parallel data defining source/target term pairs. For equivalent term sets
// glossaries: - CSV (`.csv`): Multi-column CSV file defining equivalent
// glossary terms in multiple languages. See documentation for more information
// - glossaries (https://cloud.google.com/translate/docs/advanced/glossary).
GcsSource *GcsSource `json:"gcsSource,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcsSource") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GcsSource") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *GlossaryInputConfig) MarshalJSON() ([]byte, error) {
type NoMethod GlossaryInputConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// InputConfig: Input configuration for BatchTranslateText request.
type InputConfig struct {
// GcsSource: Required. Google Cloud Storage location for the source input.
// This can be a single file (for example, `gs://translation-test/input.tsv`)
// or a wildcard (for example, `gs://translation-test/*`). If a file extension
// is `.tsv`, it can contain either one or two columns. The first column
// (optional) is the id of the text request. If the first column is missing, we
// use the row number (0-based) from the input file as the ID in the output
// file. The second column is the actual text to be translated. We recommend
// each row be <= 10K Unicode codepoints, otherwise an error might be returned.
// Note that the input tsv must be RFC 4180 compliant. You could use
// https://github.com/Clever/csvlint to check potential formatting errors in
// your tsv file. csvlint --delimiter='\t' your_input_file.tsv The other
// supported file extensions are `.txt` or `.html`, which is treated as a
// single large chunk of text.
GcsSource *GcsSource `json:"gcsSource,omitempty"`
// MimeType: Optional. Can be "text/plain" or "text/html". For `.tsv`,
// "text/html" is used if mime_type is missing. For `.html`, this field must be
// "text/html" or empty. For `.txt`, this field must be "text/plain" or empty.
MimeType string `json:"mimeType,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcsSource") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GcsSource") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *InputConfig) MarshalJSON() ([]byte, error) {
type NoMethod InputConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// LanguageCodePair: Used with unidirectional glossaries.
type LanguageCodePair struct {
// SourceLanguageCode: Required. The BCP-47 language code of the input text,
// for example, "en-US". Expected to be an exact match for
// GlossaryTerm.language_code.
SourceLanguageCode string `json:"sourceLanguageCode,omitempty"`
// TargetLanguageCode: Required. The BCP-47 language code for translation
// output, for example, "zh-CN". Expected to be an exact match for
// GlossaryTerm.language_code.
TargetLanguageCode string `json:"targetLanguageCode,omitempty"`
// ForceSendFields is a list of field names (e.g. "SourceLanguageCode") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "SourceLanguageCode") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *LanguageCodePair) MarshalJSON() ([]byte, error) {
type NoMethod LanguageCodePair
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// LanguageCodesSet: Used with equivalent term set glossaries.
type LanguageCodesSet struct {
// LanguageCodes: The BCP-47 language code(s) for terms defined in the
// glossary. All entries are unique. The list contains at least two entries.
// Expected to be an exact match for GlossaryTerm.language_code.
LanguageCodes []string `json:"languageCodes,omitempty"`
// ForceSendFields is a list of field names (e.g. "LanguageCodes") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "LanguageCodes") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *LanguageCodesSet) MarshalJSON() ([]byte, error) {
type NoMethod LanguageCodesSet
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ListGlossariesResponse: Response message for ListGlossaries.
type ListGlossariesResponse struct {
// Glossaries: The list of glossaries for a project.
Glossaries []*Glossary `json:"glossaries,omitempty"`
// NextPageToken: A token to retrieve a page of results. Pass this value in the
// [ListGlossariesRequest.page_token] field in the subsequent call to
// `ListGlossaries` method to retrieve the next page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Glossaries") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Glossaries") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *ListGlossariesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListGlossariesResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ListLocationsResponse: The response message for Locations.ListLocations.
type ListLocationsResponse struct {
// Locations: A list of locations that matches the specified filter in the
// request.
Locations []*Location `json:"locations,omitempty"`
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Locations") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Locations") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListLocationsResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ListOperationsResponse: The response message for Operations.ListOperations.
type ListOperationsResponse struct {
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// Operations: A list of operations that matches the specified filter in the
// request.
Operations []*Operation `json:"operations,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListOperationsResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Location: A resource that represents a Google Cloud location.
type Location struct {
// DisplayName: The friendly name for this location, typically a nearby city
// name. For example, "Tokyo".
DisplayName string `json:"displayName,omitempty"`
// Labels: Cross-service attributes for the location. For example
// {"cloud.googleapis.com/region": "us-east1"}
Labels map[string]string `json:"labels,omitempty"`
// LocationId: The canonical id for this location. For example: "us-east1".
LocationId string `json:"locationId,omitempty"`
// Metadata: Service-specific metadata. For example the available capacity at
// the given location.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: Resource name for the location, which may vary between
// implementations. For example:
// "projects/example-project/locations/us-east1"
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *Location) MarshalJSON() ([]byte, error) {
type NoMethod Location
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Operation: This resource represents a long-running operation that is the
// result of a network API call.
type Operation struct {
// Done: If the value is `false`, it means the operation is still in progress.
// If `true`, the operation is completed, and either `error` or `response` is
// available.
Done bool `json:"done,omitempty"`
// Error: The error result of the operation in case of failure or cancellation.
Error *Status `json:"error,omitempty"`
// Metadata: Service-specific metadata associated with the operation. It
// typically contains progress information and common metadata such as create
// time. Some services might not provide such metadata. Any method that returns
// a long-running operation should document the metadata type, if any.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: The server-assigned name, which is only unique within the same service
// that originally returns it. If you use the default HTTP mapping, the `name`
// should be a resource name ending with `operations/{unique_id}`.
Name string `json:"name,omitempty"`
// Response: The normal, successful response of the operation. If the original
// method returns no data on success, such as `Delete`, the response is
// `google.protobuf.Empty`. If the original method is standard
// `Get`/`Create`/`Update`, the response should be the resource. For other
// methods, the response should have the type `XxxResponse`, where `Xxx` is the
// original method name. For example, if the original method name is
// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
Response googleapi.RawMessage `json:"response,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Done") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *Operation) MarshalJSON() ([]byte, error) {
type NoMethod Operation
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// OutputConfig: Output configuration for BatchTranslateText request.
type OutputConfig struct {
// GcsDestination: Google Cloud Storage destination for output content. For
// every single input file (for example, gs://a/b/c.[extension]), we generate
// at most 2 * n output files. (n is the # of target_language_codes in the
// BatchTranslateTextRequest). Output files (tsv) generated are compliant with
// RFC 4180 except that record delimiters are '\n' instead of '\r\n'. We don't
// provide any way to change record delimiters. While the input files are being
// processed, we write/update an index file 'index.csv' under
// 'output_uri_prefix' (for example, gs://translation-test/index.csv) The index
// file is generated/updated as new files are being translated. The format is:
// input_file,target_language_code,translations_file,errors_file,
// glossary_translations_file,glossary_errors_file input_file is one file we
// matched using gcs_source.input_uri. target_language_code is provided in the
// request. translations_file contains the translations. (details provided
// below) errors_file contains the errors during processing of the file.
// (details below). Both translations_file and errors_file could be empty
// strings if we have no content to output. glossary_translations_file and
// glossary_errors_file are always empty strings if the input_file is tsv. They
// could also be empty if we have no content to output. Once a row is present
// in index.csv, the input/output matching never changes. Callers should also
// expect all the content in input_file are processed and ready to be consumed
// (that is, no partial output file is written). Since index.csv will be
// keeping updated during the process, please make sure there is no custom
// retention policy applied on the output bucket that may avoid file updating.
// (https://cloud.google.com/storage/docs/bucket-lock#retention-policy) The
// format of translations_file (for target language code 'trg') is:
// `gs://translation_test/a_b_c_'trg'_translations.[extension]` If the input
// file extension is tsv, the output has the following columns: Column 1: ID of
// the request provided in the input, if it's not provided in the input, then
// the input row number is used (0-based). Column 2: source sentence. Column 3:
// translation without applying a glossary. Empty string if there is an error.
// Column 4 (only present if a glossary is provided in the request):
// translation after applying the glossary. Empty string if there is an error
// applying the glossary. Could be same string as column 3 if there is no
// glossary applied. If input file extension is a txt or html, the translation
// is directly written to the output file. If glossary is requested, a separate
// glossary_translations_file has format of
// `gs://translation_test/a_b_c_'trg'_glossary_translations.[extension]` The
// format of errors file (for target language code 'trg') is:
// `gs://translation_test/a_b_c_'trg'_errors.[extension]` If the input file
// extension is tsv, errors_file contains the following: Column 1: ID of the
// request provided in the input, if it's not provided in the input, then the
// input row number is used (0-based). Column 2: source sentence. Column 3:
// Error detail for the translation. Could be empty. Column 4 (only present if
// a glossary is provided in the request): Error when applying the glossary. If
// the input file extension is txt or html, glossary_error_file will be
// generated that contains error details. glossary_error_file has format of
// `gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]`
GcsDestination *GcsDestination `json:"gcsDestination,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcsDestination") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GcsDestination") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *OutputConfig) MarshalJSON() ([]byte, error) {
type NoMethod OutputConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Status: The `Status` type defines a logical error model that is suitable for
// different programming environments, including REST APIs and RPC APIs. It is
// used by gRPC (https://github.com/grpc). Each `Status` message contains three
// pieces of data: error code, error message, and error details. You can find
// out more about this error model and how to work with it in the API Design
// Guide (https://cloud.google.com/apis/design/errors).
type Status struct {
// Code: The status code, which should be an enum value of google.rpc.Code.
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There is a common
// set of message types for APIs to use.
Details []googleapi.RawMessage `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in English. Any
// user-facing error message should be localized and sent in the
// google.rpc.Status.details field, or localized by the client.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// SupportedLanguage: A single supported language response corresponds to
// information related to one supported language.
type SupportedLanguage struct {
// DisplayName: Human readable name of the language localized in the display
// language specified in the request.
DisplayName string `json:"displayName,omitempty"`
// LanguageCode: Supported language code, generally consisting of its ISO 639-1
// identifier, for example, 'en', 'ja'. In certain cases, BCP-47 codes
// including language and region identifiers are returned (for example, 'zh-TW'
// and 'zh-CN')
LanguageCode string `json:"languageCode,omitempty"`
// SupportSource: Can be used as source language.
SupportSource bool `json:"supportSource,omitempty"`
// SupportTarget: Can be used as target language.
SupportTarget bool `json:"supportTarget,omitempty"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *SupportedLanguage) MarshalJSON() ([]byte, error) {
type NoMethod SupportedLanguage
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// SupportedLanguages: The response message for discovering supported
// languages.
type SupportedLanguages struct {
// Languages: A list of supported language responses. This list contains an
// entry for each language the Translation API supports.
Languages []*SupportedLanguage `json:"languages,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Languages") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Languages") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *SupportedLanguages) MarshalJSON() ([]byte, error) {
type NoMethod SupportedLanguages
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// TranslateDocumentRequest: A document translation request.
type TranslateDocumentRequest struct {
// CustomizedAttribution: Optional. This flag is to support user customized
// attribution. If not provided, the default is `Machine Translated by Google`.
// Customized attribution should follow rules in
// https://cloud.google.com/translate/attribution#attribution_and_logos
CustomizedAttribution string `json:"customizedAttribution,omitempty"`
// DocumentInputConfig: Required. Input configurations.
DocumentInputConfig *DocumentInputConfig `json:"documentInputConfig,omitempty"`
// DocumentOutputConfig: Optional. Output configurations. Defines if the output
// file should be stored within Cloud Storage as well as the desired output
// format. If not provided the translated file will only be returned through a
// byte-stream and its output mime type will be the same as the input file's
// mime type.
DocumentOutputConfig *DocumentOutputConfig `json:"documentOutputConfig,omitempty"`
// EnableRotationCorrection: Optional. If true, enable auto rotation correction
// in DVS.
EnableRotationCorrection bool `json:"enableRotationCorrection,omitempty"`
// EnableShadowRemovalNativePdf: Optional. If true, use the text removal server
// to remove the shadow text on background image for native pdf translation.
// Shadow removal feature can only be enabled when
// is_translate_native_pdf_only: false && pdf_native_only: false
EnableShadowRemovalNativePdf bool `json:"enableShadowRemovalNativePdf,omitempty"`
// GlossaryConfig: Optional. Glossary to be applied. The glossary must be
// within the same region (have the same location-id) as the model, otherwise
// an INVALID_ARGUMENT (400) error is returned.
GlossaryConfig *TranslateTextGlossaryConfig `json:"glossaryConfig,omitempty"`
// IsTranslateNativePdfOnly: Optional. is_translate_native_pdf_only field for
// external customers. If true, the page limit of online native pdf translation
// is 300 and only native pdf pages will be translated.
IsTranslateNativePdfOnly bool `json:"isTranslateNativePdfOnly,omitempty"`
// Labels: Optional. The labels with user-defined metadata for the request.
// Label keys and values can be no longer than 63 characters (Unicode
// codepoints), can only contain lowercase letters, numeric characters,
// underscores and dashes. International characters are allowed. Label values
// are optional. Label keys must start with a letter. See
// https://cloud.google.com/translate/docs/advanced/labels for more
// information.
Labels map[string]string `json:"labels,omitempty"`
// Model: Optional. The `model` type requested for this translation. The format
// depends on model type: - AutoML Translation models:
// `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
// - General (built-in) models:
// `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
// If not provided, the default Google model (NMT) will be used for
// translation.
Model string `json:"model,omitempty"`
// SourceLanguageCode: Optional. The BCP-47 language code of the input document
// if known, for example, "en-US" or "sr-Latn". Supported language codes are
// listed in Language Support. If the source language isn't specified, the API
// attempts to identify the source language automatically and returns the
// source language within the response. Source language must be specified if
// the request contains a glossary or a custom model.
SourceLanguageCode string `json:"sourceLanguageCode,omitempty"`
// TargetLanguageCode: Required. The BCP-47 language code to use for
// translation of the input document, set to one of the language codes listed
// in Language Support.
TargetLanguageCode string `json:"targetLanguageCode,omitempty"`
// ForceSendFields is a list of field names (e.g. "CustomizedAttribution") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CustomizedAttribution") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *TranslateDocumentRequest) MarshalJSON() ([]byte, error) {
type NoMethod TranslateDocumentRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// TranslateDocumentResponse: A translated document response message.
type TranslateDocumentResponse struct {
// DocumentTranslation: Translated document.
DocumentTranslation *DocumentTranslation `json:"documentTranslation,omitempty"`
// GlossaryConfig: The `glossary_config` used for this translation.
GlossaryConfig *TranslateTextGlossaryConfig `json:"glossaryConfig,omitempty"`
// GlossaryDocumentTranslation: The document's translation output if a glossary
// is provided in the request. This can be the same as
// [TranslateDocumentResponse.document_translation] if no glossary terms apply.
GlossaryDocumentTranslation *DocumentTranslation `json:"glossaryDocumentTranslation,omitempty"`
// Model: Only present when 'model' is present in the request. 'model' is
// normalized to have a project number. For example: If the 'model' field in
// TranslateDocumentRequest is:
// `projects/{project-id}/locations/{location-id}/models/general/nmt` then
// `model` here would be normalized to
// `projects/{project-number}/locations/{location-id}/models/general/nmt`.
Model string `json:"model,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DocumentTranslation") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DocumentTranslation") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *TranslateDocumentResponse) MarshalJSON() ([]byte, error) {
type NoMethod TranslateDocumentResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// TranslateTextGlossaryConfig: Configures which glossary should be used for a
// specific target language, and defines options for applying that glossary.
type TranslateTextGlossaryConfig struct {
// Glossary: Required. Specifies the glossary used for this translation. Use
// this format: projects/*/locations/*/glossaries/*
Glossary string `json:"glossary,omitempty"`
// IgnoreCase: Optional. Indicates match is case-insensitive. Default value is
// false if missing.
IgnoreCase bool `json:"ignoreCase,omitempty"`
// ForceSendFields is a list of field names (e.g. "Glossary") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Glossary") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *TranslateTextGlossaryConfig) MarshalJSON() ([]byte, error) {
type NoMethod TranslateTextGlossaryConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// TranslateTextRequest: The request message for synchronous translation.
type TranslateTextRequest struct {
// Contents: Required. The content of the input in string format. We recommend
// the total content be less than 30k codepoints. The max length of this field
// is 1024. Use BatchTranslateText for larger text.
Contents []string `json:"contents,omitempty"`
// GlossaryConfig: Optional. Glossary to be applied. The glossary must be
// within the same region (have the same location-id) as the model, otherwise
// an INVALID_ARGUMENT (400) error is returned.
GlossaryConfig *TranslateTextGlossaryConfig `json:"glossaryConfig,omitempty"`
// Labels: Optional. The labels with user-defined metadata for the request.
// Label keys and values can be no longer than 63 characters (Unicode
// codepoints), can only contain lowercase letters, numeric characters,
// underscores and dashes. International characters are allowed. Label values
// are optional. Label keys must start with a letter. See
// https://cloud.google.com/translate/docs/labels for more information.
Labels map[string]string `json:"labels,omitempty"`
// MimeType: Optional. The format of the source text, for example, "text/html",
// "text/plain". If left blank, the MIME type defaults to "text/html".
MimeType string `json:"mimeType,omitempty"`
// Model: Optional. The `model` type requested for this translation. The format
// depends on model type: - AutoML Translation models:
// `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
// - General (built-in) models:
// `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
// For global (non-regionalized) requests, use `location-id` `global`. For
// example,
// `projects/{project-number-or-id}/locations/global/models/general/nmt`. If
// not provided, the default Google model (NMT) will be used
Model string `json:"model,omitempty"`
// SourceLanguageCode: Optional. The BCP-47 language code of the input text if
// known, for example, "en-US" or "sr-Latn". Supported language codes are
// listed in Language Support. If the source language isn't specified, the API
// attempts to identify the source language automatically and returns the
// source language within the response.
SourceLanguageCode string `json:"sourceLanguageCode,omitempty"`
// TargetLanguageCode: Required. The BCP-47 language code to use for
// translation of the input text, set to one of the language codes listed in
// Language Support.
TargetLanguageCode string `json:"targetLanguageCode,omitempty"`
// ForceSendFields is a list of field names (e.g. "Contents") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Contents") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *TranslateTextRequest) MarshalJSON() ([]byte, error) {
type NoMethod TranslateTextRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
type TranslateTextResponse struct {
// GlossaryTranslations: Text translation responses if a glossary is provided
// in the request. This can be the same as `translations` if no terms apply.
// This field has the same length as `contents`.
GlossaryTranslations []*Translation `json:"glossaryTranslations,omitempty"`
// Translations: Text translation responses with no glossary applied. This
// field has the same length as `contents`.
Translations []*Translation `json:"translations,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "GlossaryTranslations") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GlossaryTranslations") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *TranslateTextResponse) MarshalJSON() ([]byte, error) {
type NoMethod TranslateTextResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Translation: A single translation response.
type Translation struct {
// DetectedLanguageCode: The BCP-47 language code of source text in the initial
// request, detected automatically, if no source language was passed within the
// initial request. If the source language was passed, auto-detection of the
// language does not occur and this field is empty.
DetectedLanguageCode string `json:"detectedLanguageCode,omitempty"`
// GlossaryConfig: The `glossary_config` used for this translation.
GlossaryConfig *TranslateTextGlossaryConfig `json:"glossaryConfig,omitempty"`
// Model: Only present when `model` is present in the request. `model` here is
// normalized to have project number. For example: If the `model` requested in
// TranslationTextRequest is
// `projects/{project-id}/locations/{location-id}/models/general/nmt` then
// `model` here would be normalized to
// `projects/{project-number}/locations/{location-id}/models/general/nmt`.
Model string `json:"model,omitempty"`
// TranslatedText: Text translated into the target language. If an error occurs
// during translation, this field might be excluded from the response.
TranslatedText string `json:"translatedText,omitempty"`
// ForceSendFields is a list of field names (e.g. "DetectedLanguageCode") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DetectedLanguageCode") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *Translation) MarshalJSON() ([]byte, error) {
type NoMethod Translation
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// WaitOperationRequest: The request message for Operations.WaitOperation.
type WaitOperationRequest struct {
// Timeout: The maximum duration to wait before timing out. If left blank, the
// wait will be at most the time permitted by the underlying HTTP/RPC protocol.
// If RPC context deadline is also specified, the shorter one will be used.
Timeout string `json:"timeout,omitempty"`
// ForceSendFields is a list of field names (e.g. "Timeout") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Timeout") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s *WaitOperationRequest) MarshalJSON() ([]byte, error) {
type NoMethod WaitOperationRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
type ProjectsDetectLanguageCall struct {
s *Service
parent string
detectlanguagerequest *DetectLanguageRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// DetectLanguage: Detects the language of text within a request.
//
// - parent: Project or location to make a call. Must refer to a caller's
// project. Format: `projects/{project-number-or-id}/locations/{location-id}`
// or `projects/{project-number-or-id}`. For global calls, use
// `projects/{project-number-or-id}/locations/global` or
// `projects/{project-number-or-id}`. Only models within the same region (has
// same location-id) can be used. Otherwise an INVALID_ARGUMENT (400) error
// is returned.
func (r *ProjectsService) DetectLanguage(parent string, detectlanguagerequest *DetectLanguageRequest) *ProjectsDetectLanguageCall {
c := &ProjectsDetectLanguageCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.detectlanguagerequest = detectlanguagerequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDetectLanguageCall) Fields(s ...googleapi.Field) *ProjectsDetectLanguageCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDetectLanguageCall) Context(ctx context.Context) *ProjectsDetectLanguageCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDetectLanguageCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDetectLanguageCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.detectlanguagerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}:detectLanguage")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.detectLanguage" call.
// Any non-2xx status code is an error. Response headers are in either
// *DetectLanguageResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsDetectLanguageCall) Do(opts ...googleapi.CallOption) (*DetectLanguageResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &DetectLanguageResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsGetSupportedLanguagesCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// GetSupportedLanguages: Returns a list of supported languages for
// translation.
//
// - parent: Project or location to make a call. Must refer to a caller's
// project. Format: `projects/{project-number-or-id}` or
// `projects/{project-number-or-id}/locations/{location-id}`. For global
// calls, use `projects/{project-number-or-id}/locations/global` or
// `projects/{project-number-or-id}`. Non-global location is required for
// AutoML models. Only models within the same region (have same location-id)
// can be used, otherwise an INVALID_ARGUMENT (400) error is returned.
func (r *ProjectsService) GetSupportedLanguages(parent string) *ProjectsGetSupportedLanguagesCall {
c := &ProjectsGetSupportedLanguagesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// DisplayLanguageCode sets the optional parameter "displayLanguageCode": The
// language to use to return localized, human readable names of supported
// languages. If missing, then display names are not returned in a response.
func (c *ProjectsGetSupportedLanguagesCall) DisplayLanguageCode(displayLanguageCode string) *ProjectsGetSupportedLanguagesCall {
c.urlParams_.Set("displayLanguageCode", displayLanguageCode)
return c
}
// Model sets the optional parameter "model": Get supported languages of this
// model. The format depends on model type: - AutoML Translation models:
// `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
// - General (built-in) models:
// `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
//
// Returns languages supported by the specified model. If missing, we get
//
// supported languages of Google general NMT model.
func (c *ProjectsGetSupportedLanguagesCall) Model(model string) *ProjectsGetSupportedLanguagesCall {
c.urlParams_.Set("model", model)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsGetSupportedLanguagesCall) Fields(s ...googleapi.Field) *ProjectsGetSupportedLanguagesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsGetSupportedLanguagesCall) IfNoneMatch(entityTag string) *ProjectsGetSupportedLanguagesCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsGetSupportedLanguagesCall) Context(ctx context.Context) *ProjectsGetSupportedLanguagesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsGetSupportedLanguagesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsGetSupportedLanguagesCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}/supportedLanguages")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.getSupportedLanguages" call.
// Any non-2xx status code is an error. Response headers are in either
// *SupportedLanguages.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsGetSupportedLanguagesCall) Do(opts ...googleapi.CallOption) (*SupportedLanguages, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &SupportedLanguages{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsTranslateTextCall struct {
s *Service
parent string
translatetextrequest *TranslateTextRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// TranslateText: Translates input text and returns translated text.
//
// - parent: Project or location to make a call. Must refer to a caller's
// project. Format: `projects/{project-number-or-id}` or
// `projects/{project-number-or-id}/locations/{location-id}`. For global
// calls, use `projects/{project-number-or-id}/locations/global` or
// `projects/{project-number-or-id}`. Non-global location is required for
// requests using AutoML models or custom glossaries. Models and glossaries
// must be within the same region (have same location-id), otherwise an
// INVALID_ARGUMENT (400) error is returned.
func (r *ProjectsService) TranslateText(parent string, translatetextrequest *TranslateTextRequest) *ProjectsTranslateTextCall {
c := &ProjectsTranslateTextCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.translatetextrequest = translatetextrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsTranslateTextCall) Fields(s ...googleapi.Field) *ProjectsTranslateTextCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsTranslateTextCall) Context(ctx context.Context) *ProjectsTranslateTextCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsTranslateTextCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsTranslateTextCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.translatetextrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}:translateText")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.translateText" call.
// Any non-2xx status code is an error. Response headers are in either
// *TranslateTextResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsTranslateTextCall) Do(opts ...googleapi.CallOption) (*TranslateTextResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &TranslateTextResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsBatchTranslateDocumentCall struct {
s *Service
parent string
batchtranslatedocumentrequest *BatchTranslateDocumentRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BatchTranslateDocument: Translates a large volume of document in
// asynchronous batch mode. This function provides real-time output as the
// inputs are being processed. If caller cancels a request, the partial results
// (for an input file, it's all or nothing) may still be available on the
// specified output location. This call returns immediately and you can use
// google.longrunning.Operation.name to poll the status of the call.
//
// - parent: Location to make a regional call. Format:
// `projects/{project-number-or-id}/locations/{location-id}`. The `global`
// location is not supported for batch translation. Only AutoML Translation
// models or glossaries within the same region (have the same location-id)
// can be used, otherwise an INVALID_ARGUMENT (400) error is returned.
func (r *ProjectsLocationsService) BatchTranslateDocument(parent string, batchtranslatedocumentrequest *BatchTranslateDocumentRequest) *ProjectsLocationsBatchTranslateDocumentCall {
c := &ProjectsLocationsBatchTranslateDocumentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.batchtranslatedocumentrequest = batchtranslatedocumentrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBatchTranslateDocumentCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchTranslateDocumentCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBatchTranslateDocumentCall) Context(ctx context.Context) *ProjectsLocationsBatchTranslateDocumentCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBatchTranslateDocumentCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsBatchTranslateDocumentCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchtranslatedocumentrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}:batchTranslateDocument")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.batchTranslateDocument" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsBatchTranslateDocumentCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsBatchTranslateTextCall struct {
s *Service
parent string
batchtranslatetextrequest *BatchTranslateTextRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BatchTranslateText: Translates a large volume of text in asynchronous batch
// mode. This function provides real-time output as the inputs are being
// processed. If caller cancels a request, the partial results (for an input
// file, it's all or nothing) may still be available on the specified output
// location. This call returns immediately and you can use
// google.longrunning.Operation.name to poll the status of the call.
//
// - parent: Location to make a call. Must refer to a caller's project. Format:
// `projects/{project-number-or-id}/locations/{location-id}`. The `global`
// location is not supported for batch translation. Only AutoML Translation
// models or glossaries within the same region (have the same location-id)
// can be used, otherwise an INVALID_ARGUMENT (400) error is returned.
func (r *ProjectsLocationsService) BatchTranslateText(parent string, batchtranslatetextrequest *BatchTranslateTextRequest) *ProjectsLocationsBatchTranslateTextCall {
c := &ProjectsLocationsBatchTranslateTextCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.batchtranslatetextrequest = batchtranslatetextrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBatchTranslateTextCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchTranslateTextCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBatchTranslateTextCall) Context(ctx context.Context) *ProjectsLocationsBatchTranslateTextCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBatchTranslateTextCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsBatchTranslateTextCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchtranslatetextrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}:batchTranslateText")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.batchTranslateText" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsBatchTranslateTextCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsDetectLanguageCall struct {
s *Service
parent string
detectlanguagerequest *DetectLanguageRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// DetectLanguage: Detects the language of text within a request.
//
// - parent: Project or location to make a call. Must refer to a caller's
// project. Format: `projects/{project-number-or-id}/locations/{location-id}`
// or `projects/{project-number-or-id}`. For global calls, use
// `projects/{project-number-or-id}/locations/global` or
// `projects/{project-number-or-id}`. Only models within the same region (has
// same location-id) can be used. Otherwise an INVALID_ARGUMENT (400) error
// is returned.
func (r *ProjectsLocationsService) DetectLanguage(parent string, detectlanguagerequest *DetectLanguageRequest) *ProjectsLocationsDetectLanguageCall {
c := &ProjectsLocationsDetectLanguageCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.detectlanguagerequest = detectlanguagerequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDetectLanguageCall) Fields(s ...googleapi.Field) *ProjectsLocationsDetectLanguageCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDetectLanguageCall) Context(ctx context.Context) *ProjectsLocationsDetectLanguageCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDetectLanguageCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsDetectLanguageCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.detectlanguagerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}:detectLanguage")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.detectLanguage" call.
// Any non-2xx status code is an error. Response headers are in either
// *DetectLanguageResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDetectLanguageCall) Do(opts ...googleapi.CallOption) (*DetectLanguageResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &DetectLanguageResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a location.
//
// - name: Resource name for the location.
func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Location.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Location{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsGetSupportedLanguagesCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// GetSupportedLanguages: Returns a list of supported languages for
// translation.
//
// - parent: Project or location to make a call. Must refer to a caller's
// project. Format: `projects/{project-number-or-id}` or
// `projects/{project-number-or-id}/locations/{location-id}`. For global
// calls, use `projects/{project-number-or-id}/locations/global` or
// `projects/{project-number-or-id}`. Non-global location is required for
// AutoML models. Only models within the same region (have same location-id)
// can be used, otherwise an INVALID_ARGUMENT (400) error is returned.
func (r *ProjectsLocationsService) GetSupportedLanguages(parent string) *ProjectsLocationsGetSupportedLanguagesCall {
c := &ProjectsLocationsGetSupportedLanguagesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// DisplayLanguageCode sets the optional parameter "displayLanguageCode": The
// language to use to return localized, human readable names of supported
// languages. If missing, then display names are not returned in a response.
func (c *ProjectsLocationsGetSupportedLanguagesCall) DisplayLanguageCode(displayLanguageCode string) *ProjectsLocationsGetSupportedLanguagesCall {
c.urlParams_.Set("displayLanguageCode", displayLanguageCode)
return c
}
// Model sets the optional parameter "model": Get supported languages of this
// model. The format depends on model type: - AutoML Translation models:
// `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
// - General (built-in) models:
// `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
//
// Returns languages supported by the specified model. If missing, we get
//
// supported languages of Google general NMT model.
func (c *ProjectsLocationsGetSupportedLanguagesCall) Model(model string) *ProjectsLocationsGetSupportedLanguagesCall {
c.urlParams_.Set("model", model)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGetSupportedLanguagesCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetSupportedLanguagesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGetSupportedLanguagesCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetSupportedLanguagesCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGetSupportedLanguagesCall) Context(ctx context.Context) *ProjectsLocationsGetSupportedLanguagesCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGetSupportedLanguagesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGetSupportedLanguagesCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}/supportedLanguages")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.getSupportedLanguages" call.
// Any non-2xx status code is an error. Response headers are in either
// *SupportedLanguages.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsGetSupportedLanguagesCall) Do(opts ...googleapi.CallOption) (*SupportedLanguages, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &SupportedLanguages{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsListCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists information about the supported locations for this service.
//
// - name: The resource that owns the locations collection, if applicable.
func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Filter sets the optional parameter "filter": A filter to narrow down results
// to a preferred subset. The filtering language accepts strings like
// "displayName=tokyo", and is documented in more detail in AIP-160
// (https://google.aip.dev/160).
func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number of
// results to return. If not set, the service selects a default.
func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A page token received
// from the `next_page_token` field in the response. Send that page token to
// receive the subsequent page.
func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+name}/locations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListLocationsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &ListLocationsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsLocationsTranslateDocumentCall struct {
s *Service
parent string
translatedocumentrequest *TranslateDocumentRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// TranslateDocument: Translates documents in synchronous mode.
//
// - parent: Location to make a regional call. Format:
// `projects/{project-number-or-id}/locations/{location-id}`. For global
// calls, use `projects/{project-number-or-id}/locations/global`. Non-global
// location is required for requests using AutoML models or custom
// glossaries. Models and glossaries must be within the same region (have the
// same location-id), otherwise an INVALID_ARGUMENT (400) error is returned.
func (r *ProjectsLocationsService) TranslateDocument(parent string, translatedocumentrequest *TranslateDocumentRequest) *ProjectsLocationsTranslateDocumentCall {
c := &ProjectsLocationsTranslateDocumentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.translatedocumentrequest = translatedocumentrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTranslateDocumentCall) Fields(s ...googleapi.Field) *ProjectsLocationsTranslateDocumentCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTranslateDocumentCall) Context(ctx context.Context) *ProjectsLocationsTranslateDocumentCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTranslateDocumentCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsTranslateDocumentCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.translatedocumentrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}:translateDocument")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.translateDocument" call.
// Any non-2xx status code is an error. Response headers are in either
// *TranslateDocumentResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTranslateDocumentCall) Do(opts ...googleapi.CallOption) (*TranslateDocumentResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &TranslateDocumentResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsTranslateTextCall struct {
s *Service
parent string
translatetextrequest *TranslateTextRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// TranslateText: Translates input text and returns translated text.
//
// - parent: Project or location to make a call. Must refer to a caller's
// project. Format: `projects/{project-number-or-id}` or
// `projects/{project-number-or-id}/locations/{location-id}`. For global
// calls, use `projects/{project-number-or-id}/locations/global` or
// `projects/{project-number-or-id}`. Non-global location is required for
// requests using AutoML models or custom glossaries. Models and glossaries
// must be within the same region (have same location-id), otherwise an
// INVALID_ARGUMENT (400) error is returned.
func (r *ProjectsLocationsService) TranslateText(parent string, translatetextrequest *TranslateTextRequest) *ProjectsLocationsTranslateTextCall {
c := &ProjectsLocationsTranslateTextCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.translatetextrequest = translatetextrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTranslateTextCall) Fields(s ...googleapi.Field) *ProjectsLocationsTranslateTextCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTranslateTextCall) Context(ctx context.Context) *ProjectsLocationsTranslateTextCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTranslateTextCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsTranslateTextCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.translatetextrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}:translateText")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.translateText" call.
// Any non-2xx status code is an error. Response headers are in either
// *TranslateTextResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTranslateTextCall) Do(opts ...googleapi.CallOption) (*TranslateTextResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &TranslateTextResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsGlossariesCreateCall struct {
s *Service
parent string
glossary *Glossary
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a glossary and returns the long-running operation. Returns
// NOT_FOUND, if the project doesn't exist.
//
// - parent: The project name.
func (r *ProjectsLocationsGlossariesService) Create(parent string, glossary *Glossary) *ProjectsLocationsGlossariesCreateCall {
c := &ProjectsLocationsGlossariesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.glossary = glossary
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGlossariesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlossariesCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGlossariesCreateCall) Context(ctx context.Context) *ProjectsLocationsGlossariesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGlossariesCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGlossariesCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.glossary)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}/glossaries")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.glossaries.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGlossariesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsGlossariesDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a glossary, or cancels glossary construction if the glossary
// isn't created yet. Returns NOT_FOUND, if the glossary doesn't exist.
//
// - name: The name of the glossary to delete.
func (r *ProjectsLocationsGlossariesService) Delete(name string) *ProjectsLocationsGlossariesDeleteCall {
c := &ProjectsLocationsGlossariesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGlossariesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlossariesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGlossariesDeleteCall) Context(ctx context.Context) *ProjectsLocationsGlossariesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGlossariesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGlossariesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.glossaries.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGlossariesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsGlossariesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a glossary. Returns NOT_FOUND, if the glossary doesn't exist.
//
// - name: The name of the glossary to retrieve.
func (r *ProjectsLocationsGlossariesService) Get(name string) *ProjectsLocationsGlossariesGetCall {
c := &ProjectsLocationsGlossariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGlossariesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlossariesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGlossariesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlossariesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGlossariesGetCall) Context(ctx context.Context) *ProjectsLocationsGlossariesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGlossariesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGlossariesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.glossaries.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Glossary.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGlossariesGetCall) Do(opts ...googleapi.CallOption) (*Glossary, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Glossary{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsGlossariesListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists glossaries in a project. Returns NOT_FOUND, if the project
// doesn't exist.
//
// - parent: The name of the project from which to list all of the glossaries.
func (r *ProjectsLocationsGlossariesService) List(parent string) *ProjectsLocationsGlossariesListCall {
c := &ProjectsLocationsGlossariesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": Filter specifying constraints
// of a list operation. Specify the constraint by the format of "key=value",
// where key must be "src" or "tgt", and the value must be a valid language
// code. For multiple restrictions, concatenate them by "AND" (uppercase only),
// such as: "src=en-US AND tgt=zh-CN". Notice that the exact match is used
// here, which means using 'en-US' and 'en' can lead to different results,
// which depends on the language code you used when you create the glossary.
// For the unidirectional glossaries, the "src" and "tgt" add restrictions on
// the source and target language code separately. For the equivalent term set
// glossaries, the "src" and/or "tgt" add restrictions on the term set. For
// example: "src=en-US AND tgt=zh-CN" will only pick the unidirectional
// glossaries which exactly match the source language code as "en-US" and the
// target language code "zh-CN", but all equivalent term set glossaries which
// contain "en-US" and "zh-CN" in their language set will be picked. If
// missing, no filtering is performed.
func (c *ProjectsLocationsGlossariesListCall) Filter(filter string) *ProjectsLocationsGlossariesListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": Requested page size. The
// server may return fewer glossaries than requested. If unspecified, the
// server picks an appropriate default.
func (c *ProjectsLocationsGlossariesListCall) PageSize(pageSize int64) *ProjectsLocationsGlossariesListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return. Typically, this is the value of
// [ListGlossariesResponse.next_page_token] returned from the previous call to
// `ListGlossaries` method. The first page is returned if `page_token`is empty
// or missing.
func (c *ProjectsLocationsGlossariesListCall) PageToken(pageToken string) *ProjectsLocationsGlossariesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGlossariesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlossariesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGlossariesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlossariesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGlossariesListCall) Context(ctx context.Context) *ProjectsLocationsGlossariesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGlossariesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGlossariesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+parent}/glossaries")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.glossaries.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListGlossariesResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsGlossariesListCall) Do(opts ...googleapi.CallOption) (*ListGlossariesResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &ListGlossariesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGlossariesListCall) Pages(ctx context.Context, f func(*ListGlossariesResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsLocationsOperationsCancelCall struct {
s *Service
name string
canceloperationrequest *CancelOperationRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of 1, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.canceloperationrequest = canceloperationrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+name}:cancel")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsOperationsDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsOperationsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsOperationsListCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+name}/operations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListOperationsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &ListOperationsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsLocationsOperationsWaitCall struct {
s *Service
name string
waitoperationrequest *WaitOperationRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsOperationsService) Wait(name string, waitoperationrequest *WaitOperationRequest) *ProjectsLocationsOperationsWaitCall {
c := &ProjectsLocationsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.waitoperationrequest = waitoperationrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsWaitCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsOperationsWaitCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsWaitCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.waitoperationrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v3beta1/{+name}:wait")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "translate.projects.locations.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}