1// Copyright 2021 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package transcoder provides access to the Transcoder API.
8//
9// For product documentation, see: https://cloud.google.com/transcoder/docs/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/transcoder/v1beta1"
16//   ...
17//   ctx := context.Background()
18//   transcoderService, err := transcoder.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
27//
28//   transcoderService, err := transcoder.NewService(ctx, option.WithAPIKey("AIza..."))
29//
30// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
31//
32//   config := &oauth2.Config{...}
33//   // ...
34//   token, err := config.Exchange(ctx, ...)
35//   transcoderService, err := transcoder.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
36//
37// See https://godoc.org/google.golang.org/api/option/ for details on options.
38package transcoder // import "google.golang.org/api/transcoder/v1beta1"
39
40import (
41	"bytes"
42	"context"
43	"encoding/json"
44	"errors"
45	"fmt"
46	"io"
47	"net/http"
48	"net/url"
49	"strconv"
50	"strings"
51
52	googleapi "google.golang.org/api/googleapi"
53	gensupport "google.golang.org/api/internal/gensupport"
54	option "google.golang.org/api/option"
55	internaloption "google.golang.org/api/option/internaloption"
56	htransport "google.golang.org/api/transport/http"
57)
58
59// Always reference these packages, just in case the auto-generated code
60// below doesn't.
61var _ = bytes.NewBuffer
62var _ = strconv.Itoa
63var _ = fmt.Sprintf
64var _ = json.NewDecoder
65var _ = io.Copy
66var _ = url.Parse
67var _ = gensupport.MarshalJSON
68var _ = googleapi.Version
69var _ = errors.New
70var _ = strings.Replace
71var _ = context.Canceled
72var _ = internaloption.WithDefaultEndpoint
73
74const apiId = "transcoder:v1beta1"
75const apiName = "transcoder"
76const apiVersion = "v1beta1"
77const basePath = "https://transcoder.googleapis.com/"
78const mtlsBasePath = "https://transcoder.mtls.googleapis.com/"
79
80// OAuth2 scopes used by this API.
81const (
82	// See, edit, configure, and delete your Google Cloud Platform data
83	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
84)
85
86// NewService creates a new Service.
87func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
88	scopesOption := option.WithScopes(
89		"https://www.googleapis.com/auth/cloud-platform",
90	)
91	// NOTE: prepend, so we don't override user-specified scopes.
92	opts = append([]option.ClientOption{scopesOption}, opts...)
93	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
94	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
95	client, endpoint, err := htransport.NewClient(ctx, opts...)
96	if err != nil {
97		return nil, err
98	}
99	s, err := New(client)
100	if err != nil {
101		return nil, err
102	}
103	if endpoint != "" {
104		s.BasePath = endpoint
105	}
106	return s, nil
107}
108
109// New creates a new Service. It uses the provided http.Client for requests.
110//
111// Deprecated: please use NewService instead.
112// To provide a custom HTTP client, use option.WithHTTPClient.
113// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
114func New(client *http.Client) (*Service, error) {
115	if client == nil {
116		return nil, errors.New("client is nil")
117	}
118	s := &Service{client: client, BasePath: basePath}
119	s.Projects = NewProjectsService(s)
120	return s, nil
121}
122
123type Service struct {
124	client    *http.Client
125	BasePath  string // API endpoint base URL
126	UserAgent string // optional additional User-Agent fragment
127
128	Projects *ProjectsService
129}
130
131func (s *Service) userAgent() string {
132	if s.UserAgent == "" {
133		return googleapi.UserAgent
134	}
135	return googleapi.UserAgent + " " + s.UserAgent
136}
137
138func NewProjectsService(s *Service) *ProjectsService {
139	rs := &ProjectsService{s: s}
140	rs.Locations = NewProjectsLocationsService(s)
141	return rs
142}
143
144type ProjectsService struct {
145	s *Service
146
147	Locations *ProjectsLocationsService
148}
149
150func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
151	rs := &ProjectsLocationsService{s: s}
152	rs.JobTemplates = NewProjectsLocationsJobTemplatesService(s)
153	rs.Jobs = NewProjectsLocationsJobsService(s)
154	return rs
155}
156
157type ProjectsLocationsService struct {
158	s *Service
159
160	JobTemplates *ProjectsLocationsJobTemplatesService
161
162	Jobs *ProjectsLocationsJobsService
163}
164
165func NewProjectsLocationsJobTemplatesService(s *Service) *ProjectsLocationsJobTemplatesService {
166	rs := &ProjectsLocationsJobTemplatesService{s: s}
167	return rs
168}
169
170type ProjectsLocationsJobTemplatesService struct {
171	s *Service
172}
173
174func NewProjectsLocationsJobsService(s *Service) *ProjectsLocationsJobsService {
175	rs := &ProjectsLocationsJobsService{s: s}
176	return rs
177}
178
179type ProjectsLocationsJobsService struct {
180	s *Service
181}
182
183// AdBreak: Ad break.
184type AdBreak struct {
185	// StartTimeOffset: Start time in seconds for the ad break, relative to
186	// the output file timeline. The default is `0s`.
187	StartTimeOffset string `json:"startTimeOffset,omitempty"`
188
189	// ForceSendFields is a list of field names (e.g. "StartTimeOffset") to
190	// unconditionally include in API requests. By default, fields with
191	// empty values are omitted from API requests. However, any non-pointer,
192	// non-interface field appearing in ForceSendFields will be sent to the
193	// server regardless of whether the field is empty or not. This may be
194	// used to include empty fields in Patch requests.
195	ForceSendFields []string `json:"-"`
196
197	// NullFields is a list of field names (e.g. "StartTimeOffset") to
198	// include in API requests with the JSON null value. By default, fields
199	// with empty values are omitted from API requests. However, any field
200	// with an empty value appearing in NullFields will be sent to the
201	// server as null. It is an error if a field in this list has a
202	// non-empty value. This may be used to include null fields in Patch
203	// requests.
204	NullFields []string `json:"-"`
205}
206
207func (s *AdBreak) MarshalJSON() ([]byte, error) {
208	type NoMethod AdBreak
209	raw := NoMethod(*s)
210	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
211}
212
213// Aes128Encryption: Configuration for AES-128 encryption.
214type Aes128Encryption struct {
215	// KeyUri: Required. URI of the key delivery service. This URI is
216	// inserted into the M3U8 header.
217	KeyUri string `json:"keyUri,omitempty"`
218
219	// ForceSendFields is a list of field names (e.g. "KeyUri") to
220	// unconditionally include in API requests. By default, fields with
221	// empty values are omitted from API requests. However, any non-pointer,
222	// non-interface field appearing in ForceSendFields will be sent to the
223	// server regardless of whether the field is empty or not. This may be
224	// used to include empty fields in Patch requests.
225	ForceSendFields []string `json:"-"`
226
227	// NullFields is a list of field names (e.g. "KeyUri") to include in API
228	// requests with the JSON null value. By default, fields with empty
229	// values are omitted from API requests. However, any field with an
230	// empty value appearing in NullFields will be sent to the server as
231	// null. It is an error if a field in this list has a non-empty value.
232	// This may be used to include null fields in Patch requests.
233	NullFields []string `json:"-"`
234}
235
236func (s *Aes128Encryption) MarshalJSON() ([]byte, error) {
237	type NoMethod Aes128Encryption
238	raw := NoMethod(*s)
239	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
240}
241
242// Animation: Animation types.
243type Animation struct {
244	// AnimationEnd: End previous animation.
245	AnimationEnd *AnimationEnd `json:"animationEnd,omitempty"`
246
247	// AnimationFade: Display overlay object with fade animation.
248	AnimationFade *AnimationFade `json:"animationFade,omitempty"`
249
250	// AnimationStatic: Display static overlay object.
251	AnimationStatic *AnimationStatic `json:"animationStatic,omitempty"`
252
253	// ForceSendFields is a list of field names (e.g. "AnimationEnd") to
254	// unconditionally include in API requests. By default, fields with
255	// empty values are omitted from API requests. However, any non-pointer,
256	// non-interface field appearing in ForceSendFields will be sent to the
257	// server regardless of whether the field is empty or not. This may be
258	// used to include empty fields in Patch requests.
259	ForceSendFields []string `json:"-"`
260
261	// NullFields is a list of field names (e.g. "AnimationEnd") to include
262	// in API requests with the JSON null value. By default, fields with
263	// empty values are omitted from API requests. However, any field with
264	// an empty value appearing in NullFields will be sent to the server as
265	// null. It is an error if a field in this list has a non-empty value.
266	// This may be used to include null fields in Patch requests.
267	NullFields []string `json:"-"`
268}
269
270func (s *Animation) MarshalJSON() ([]byte, error) {
271	type NoMethod Animation
272	raw := NoMethod(*s)
273	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
274}
275
276// AnimationEnd: End previous overlay animation from the video. Without
277// AnimationEnd, the overlay object will keep the state of previous
278// animation until the end of the video.
279type AnimationEnd struct {
280	// StartTimeOffset: The time to end overlay object, in seconds. Default:
281	// 0
282	StartTimeOffset string `json:"startTimeOffset,omitempty"`
283
284	// ForceSendFields is a list of field names (e.g. "StartTimeOffset") to
285	// unconditionally include in API requests. By default, fields with
286	// empty values are omitted from API requests. However, any non-pointer,
287	// non-interface field appearing in ForceSendFields will be sent to the
288	// server regardless of whether the field is empty or not. This may be
289	// used to include empty fields in Patch requests.
290	ForceSendFields []string `json:"-"`
291
292	// NullFields is a list of field names (e.g. "StartTimeOffset") to
293	// include in API requests with the JSON null value. By default, fields
294	// with empty values are omitted from API requests. However, any field
295	// with an empty value appearing in NullFields will be sent to the
296	// server as null. It is an error if a field in this list has a
297	// non-empty value. This may be used to include null fields in Patch
298	// requests.
299	NullFields []string `json:"-"`
300}
301
302func (s *AnimationEnd) MarshalJSON() ([]byte, error) {
303	type NoMethod AnimationEnd
304	raw := NoMethod(*s)
305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
306}
307
308// AnimationFade: Display overlay object with fade animation.
309type AnimationFade struct {
310	// EndTimeOffset: The time to end the fade animation, in seconds.
311	// Default: `start_time_offset` + 1s
312	EndTimeOffset string `json:"endTimeOffset,omitempty"`
313
314	// FadeType: Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
315	//
316	// Possible values:
317	//   "FADE_TYPE_UNSPECIFIED" - The fade type is not specified.
318	//   "FADE_IN" - Fade the overlay object into view.
319	//   "FADE_OUT" - Fade the overlay object out of view.
320	FadeType string `json:"fadeType,omitempty"`
321
322	// StartTimeOffset: The time to start the fade animation, in seconds.
323	// Default: 0
324	StartTimeOffset string `json:"startTimeOffset,omitempty"`
325
326	// Xy: Normalized coordinates based on output video resolution. Valid
327	// values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the
328	// overlay object. For example, use the x and y coordinates {0,0} to
329	// position the top-left corner of the overlay animation in the top-left
330	// corner of the output video.
331	Xy *NormalizedCoordinate `json:"xy,omitempty"`
332
333	// ForceSendFields is a list of field names (e.g. "EndTimeOffset") to
334	// unconditionally include in API requests. By default, fields with
335	// empty values are omitted from API requests. However, any non-pointer,
336	// non-interface field appearing in ForceSendFields will be sent to the
337	// server regardless of whether the field is empty or not. This may be
338	// used to include empty fields in Patch requests.
339	ForceSendFields []string `json:"-"`
340
341	// NullFields is a list of field names (e.g. "EndTimeOffset") to include
342	// in API requests with the JSON null value. By default, fields with
343	// empty values are omitted from API requests. However, any field with
344	// an empty value appearing in NullFields will be sent to the server as
345	// null. It is an error if a field in this list has a non-empty value.
346	// This may be used to include null fields in Patch requests.
347	NullFields []string `json:"-"`
348}
349
350func (s *AnimationFade) MarshalJSON() ([]byte, error) {
351	type NoMethod AnimationFade
352	raw := NoMethod(*s)
353	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
354}
355
356// AnimationStatic: Display static overlay object.
357type AnimationStatic struct {
358	// StartTimeOffset: The time to start displaying the overlay object, in
359	// seconds. Default: 0
360	StartTimeOffset string `json:"startTimeOffset,omitempty"`
361
362	// Xy: Normalized coordinates based on output video resolution. Valid
363	// values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the
364	// overlay object. For example, use the x and y coordinates {0,0} to
365	// position the top-left corner of the overlay animation in the top-left
366	// corner of the output video.
367	Xy *NormalizedCoordinate `json:"xy,omitempty"`
368
369	// ForceSendFields is a list of field names (e.g. "StartTimeOffset") to
370	// unconditionally include in API requests. By default, fields with
371	// empty values are omitted from API requests. However, any non-pointer,
372	// non-interface field appearing in ForceSendFields will be sent to the
373	// server regardless of whether the field is empty or not. This may be
374	// used to include empty fields in Patch requests.
375	ForceSendFields []string `json:"-"`
376
377	// NullFields is a list of field names (e.g. "StartTimeOffset") to
378	// include in API requests with the JSON null value. By default, fields
379	// with empty values are omitted from API requests. However, any field
380	// with an empty value appearing in NullFields will be sent to the
381	// server as null. It is an error if a field in this list has a
382	// non-empty value. This may be used to include null fields in Patch
383	// requests.
384	NullFields []string `json:"-"`
385}
386
387func (s *AnimationStatic) MarshalJSON() ([]byte, error) {
388	type NoMethod AnimationStatic
389	raw := NoMethod(*s)
390	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
391}
392
393// Audio: Audio preprocessing configuration.
394type Audio struct {
395	// HighBoost: Enable boosting high frequency components. The default is
396	// `false`.
397	HighBoost bool `json:"highBoost,omitempty"`
398
399	// LowBoost: Enable boosting low frequency components. The default is
400	// `false`.
401	LowBoost bool `json:"lowBoost,omitempty"`
402
403	// Lufs: Specify audio loudness normalization in loudness units relative
404	// to full scale (LUFS). Enter a value between -24 and 0 (the default),
405	// where: * -24 is the Advanced Television Systems Committee (ATSC A/85)
406	// standard * -23 is the EU R128 broadcast standard * -19 is the prior
407	// standard for online mono audio * -18 is the ReplayGain standard * -16
408	// is the prior standard for stereo audio * -14 is the new online audio
409	// standard recommended by Spotify, as well as Amazon Echo * 0 disables
410	// normalization
411	Lufs float64 `json:"lufs,omitempty"`
412
413	// ForceSendFields is a list of field names (e.g. "HighBoost") to
414	// unconditionally include in API requests. By default, fields with
415	// empty values are omitted from API requests. However, any non-pointer,
416	// non-interface field appearing in ForceSendFields will be sent to the
417	// server regardless of whether the field is empty or not. This may be
418	// used to include empty fields in Patch requests.
419	ForceSendFields []string `json:"-"`
420
421	// NullFields is a list of field names (e.g. "HighBoost") to include in
422	// API requests with the JSON null value. By default, fields with empty
423	// values are omitted from API requests. However, any field with an
424	// empty value appearing in NullFields will be sent to the server as
425	// null. It is an error if a field in this list has a non-empty value.
426	// This may be used to include null fields in Patch requests.
427	NullFields []string `json:"-"`
428}
429
430func (s *Audio) MarshalJSON() ([]byte, error) {
431	type NoMethod Audio
432	raw := NoMethod(*s)
433	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
434}
435
436func (s *Audio) UnmarshalJSON(data []byte) error {
437	type NoMethod Audio
438	var s1 struct {
439		Lufs gensupport.JSONFloat64 `json:"lufs"`
440		*NoMethod
441	}
442	s1.NoMethod = (*NoMethod)(s)
443	if err := json.Unmarshal(data, &s1); err != nil {
444		return err
445	}
446	s.Lufs = float64(s1.Lufs)
447	return nil
448}
449
450// AudioAtom: The mapping for the `Job.edit_list` atoms with audio
451// `EditAtom.inputs`.
452type AudioAtom struct {
453	// Channels: List of `Channel`s for this audio stream. for in-depth
454	// explanation.
455	Channels []*AudioChannel `json:"channels,omitempty"`
456
457	// Key: Required. The `EditAtom.key` that references the atom with audio
458	// inputs in the `Job.edit_list`.
459	Key string `json:"key,omitempty"`
460
461	// ForceSendFields is a list of field names (e.g. "Channels") to
462	// unconditionally include in API requests. By default, fields with
463	// empty values are omitted from API requests. However, any non-pointer,
464	// non-interface field appearing in ForceSendFields will be sent to the
465	// server regardless of whether the field is empty or not. This may be
466	// used to include empty fields in Patch requests.
467	ForceSendFields []string `json:"-"`
468
469	// NullFields is a list of field names (e.g. "Channels") to include in
470	// API requests with the JSON null value. By default, fields with empty
471	// values are omitted from API requests. However, any field with an
472	// empty value appearing in NullFields will be sent to the server as
473	// null. It is an error if a field in this list has a non-empty value.
474	// This may be used to include null fields in Patch requests.
475	NullFields []string `json:"-"`
476}
477
478func (s *AudioAtom) MarshalJSON() ([]byte, error) {
479	type NoMethod AudioAtom
480	raw := NoMethod(*s)
481	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
482}
483
484// AudioChannel: The audio channel.
485type AudioChannel struct {
486	// Inputs: List of `Job.inputs` for this audio channel.
487	Inputs []*AudioChannelInput `json:"inputs,omitempty"`
488
489	// ForceSendFields is a list of field names (e.g. "Inputs") to
490	// unconditionally include in API requests. By default, fields with
491	// empty values are omitted from API requests. However, any non-pointer,
492	// non-interface field appearing in ForceSendFields will be sent to the
493	// server regardless of whether the field is empty or not. This may be
494	// used to include empty fields in Patch requests.
495	ForceSendFields []string `json:"-"`
496
497	// NullFields is a list of field names (e.g. "Inputs") to include in API
498	// requests with the JSON null value. By default, fields with empty
499	// values are omitted from API requests. However, any field with an
500	// empty value appearing in NullFields will be sent to the server as
501	// null. It is an error if a field in this list has a non-empty value.
502	// This may be used to include null fields in Patch requests.
503	NullFields []string `json:"-"`
504}
505
506func (s *AudioChannel) MarshalJSON() ([]byte, error) {
507	type NoMethod AudioChannel
508	raw := NoMethod(*s)
509	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
510}
511
512// AudioChannelInput: Identifies which input file, track, and channel
513// should be used.
514type AudioChannelInput struct {
515	// Channel: Required. The zero-based index of the channel in the input
516	// file.
517	Channel int64 `json:"channel,omitempty"`
518
519	// GainDb: Audio volume control in dB. Negative values decrease volume,
520	// positive values increase. The default is 0.
521	GainDb float64 `json:"gainDb,omitempty"`
522
523	// Key: Required. The `Input.key` that identifies the input file.
524	Key string `json:"key,omitempty"`
525
526	// Track: Required. The zero-based index of the track in the input file.
527	Track int64 `json:"track,omitempty"`
528
529	// ForceSendFields is a list of field names (e.g. "Channel") to
530	// unconditionally include in API requests. By default, fields with
531	// empty values are omitted from API requests. However, any non-pointer,
532	// non-interface field appearing in ForceSendFields will be sent to the
533	// server regardless of whether the field is empty or not. This may be
534	// used to include empty fields in Patch requests.
535	ForceSendFields []string `json:"-"`
536
537	// NullFields is a list of field names (e.g. "Channel") to include in
538	// API requests with the JSON null value. By default, fields with empty
539	// values are omitted from API requests. However, any field with an
540	// empty value appearing in NullFields will be sent to the server as
541	// null. It is an error if a field in this list has a non-empty value.
542	// This may be used to include null fields in Patch requests.
543	NullFields []string `json:"-"`
544}
545
546func (s *AudioChannelInput) MarshalJSON() ([]byte, error) {
547	type NoMethod AudioChannelInput
548	raw := NoMethod(*s)
549	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
550}
551
552func (s *AudioChannelInput) UnmarshalJSON(data []byte) error {
553	type NoMethod AudioChannelInput
554	var s1 struct {
555		GainDb gensupport.JSONFloat64 `json:"gainDb"`
556		*NoMethod
557	}
558	s1.NoMethod = (*NoMethod)(s)
559	if err := json.Unmarshal(data, &s1); err != nil {
560		return err
561	}
562	s.GainDb = float64(s1.GainDb)
563	return nil
564}
565
566// AudioStream: Audio stream resource.
567type AudioStream struct {
568	// BitrateBps: Required. Audio bitrate in bits per second. Must be
569	// between 1 and 10,000,000.
570	BitrateBps int64 `json:"bitrateBps,omitempty"`
571
572	// ChannelCount: Number of audio channels. Must be between 1 and 6. The
573	// default is 2.
574	ChannelCount int64 `json:"channelCount,omitempty"`
575
576	// ChannelLayout: A list of channel names specifying layout of the audio
577	// channels. This only affects the metadata embedded in the container
578	// headers, if supported by the specified format. The default is `["fl",
579	// "fr"]`. Supported channel names: - 'fl' - Front left channel - 'fr' -
580	// Front right channel - 'sl' - Side left channel - 'sr' - Side right
581	// channel - 'fc' - Front center channel - 'lfe' - Low frequency
582	ChannelLayout []string `json:"channelLayout,omitempty"`
583
584	// Codec: The codec for this audio stream. The default is "aac".
585	// Supported audio codecs: - 'aac' - 'aac-he' - 'aac-he-v2' - 'mp3' -
586	// 'ac3' - 'eac3'
587	Codec string `json:"codec,omitempty"`
588
589	// Mapping: The mapping for the `Job.edit_list` atoms with audio
590	// `EditAtom.inputs`.
591	Mapping []*AudioAtom `json:"mapping,omitempty"`
592
593	// SampleRateHertz: The audio sample rate in Hertz. The default is 48000
594	// Hertz.
595	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
596
597	// ForceSendFields is a list of field names (e.g. "BitrateBps") to
598	// unconditionally include in API requests. By default, fields with
599	// empty values are omitted from API requests. However, any non-pointer,
600	// non-interface field appearing in ForceSendFields will be sent to the
601	// server regardless of whether the field is empty or not. This may be
602	// used to include empty fields in Patch requests.
603	ForceSendFields []string `json:"-"`
604
605	// NullFields is a list of field names (e.g. "BitrateBps") to include in
606	// API requests with the JSON null value. By default, fields with empty
607	// values are omitted from API requests. However, any field with an
608	// empty value appearing in NullFields will be sent to the server as
609	// null. It is an error if a field in this list has a non-empty value.
610	// This may be used to include null fields in Patch requests.
611	NullFields []string `json:"-"`
612}
613
614func (s *AudioStream) MarshalJSON() ([]byte, error) {
615	type NoMethod AudioStream
616	raw := NoMethod(*s)
617	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
618}
619
620// Color: Color preprocessing configuration.
621type Color struct {
622	// Brightness: Control brightness of the video. Enter a value between -1
623	// and 1, where -1 is minimum brightness and 1 is maximum brightness. 0
624	// is no change. The default is 0.
625	Brightness float64 `json:"brightness,omitempty"`
626
627	// Contrast: Control black and white contrast of the video. Enter a
628	// value between -1 and 1, where -1 is minimum contrast and 1 is maximum
629	// contrast. 0 is no change. The default is 0.
630	Contrast float64 `json:"contrast,omitempty"`
631
632	// Saturation: Control color saturation of the video. Enter a value
633	// between -1 and 1, where -1 is fully desaturated and 1 is maximum
634	// saturation. 0 is no change. The default is 0.
635	Saturation float64 `json:"saturation,omitempty"`
636
637	// ForceSendFields is a list of field names (e.g. "Brightness") to
638	// unconditionally include in API requests. By default, fields with
639	// empty values are omitted from API requests. However, any non-pointer,
640	// non-interface field appearing in ForceSendFields will be sent to the
641	// server regardless of whether the field is empty or not. This may be
642	// used to include empty fields in Patch requests.
643	ForceSendFields []string `json:"-"`
644
645	// NullFields is a list of field names (e.g. "Brightness") to include in
646	// API requests with the JSON null value. By default, fields with empty
647	// values are omitted from API requests. However, any field with an
648	// empty value appearing in NullFields will be sent to the server as
649	// null. It is an error if a field in this list has a non-empty value.
650	// This may be used to include null fields in Patch requests.
651	NullFields []string `json:"-"`
652}
653
654func (s *Color) MarshalJSON() ([]byte, error) {
655	type NoMethod Color
656	raw := NoMethod(*s)
657	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
658}
659
660func (s *Color) UnmarshalJSON(data []byte) error {
661	type NoMethod Color
662	var s1 struct {
663		Brightness gensupport.JSONFloat64 `json:"brightness"`
664		Contrast   gensupport.JSONFloat64 `json:"contrast"`
665		Saturation gensupport.JSONFloat64 `json:"saturation"`
666		*NoMethod
667	}
668	s1.NoMethod = (*NoMethod)(s)
669	if err := json.Unmarshal(data, &s1); err != nil {
670		return err
671	}
672	s.Brightness = float64(s1.Brightness)
673	s.Contrast = float64(s1.Contrast)
674	s.Saturation = float64(s1.Saturation)
675	return nil
676}
677
678// Crop: Video cropping configuration for the input video. The cropped
679// input video is scaled to match the output resolution.
680type Crop struct {
681	// BottomPixels: The number of pixels to crop from the bottom. The
682	// default is 0.
683	BottomPixels int64 `json:"bottomPixels,omitempty"`
684
685	// LeftPixels: The number of pixels to crop from the left. The default
686	// is 0.
687	LeftPixels int64 `json:"leftPixels,omitempty"`
688
689	// RightPixels: The number of pixels to crop from the right. The default
690	// is 0.
691	RightPixels int64 `json:"rightPixels,omitempty"`
692
693	// TopPixels: The number of pixels to crop from the top. The default is
694	// 0.
695	TopPixels int64 `json:"topPixels,omitempty"`
696
697	// ForceSendFields is a list of field names (e.g. "BottomPixels") to
698	// unconditionally include in API requests. By default, fields with
699	// empty values are omitted from API requests. However, any non-pointer,
700	// non-interface field appearing in ForceSendFields will be sent to the
701	// server regardless of whether the field is empty or not. This may be
702	// used to include empty fields in Patch requests.
703	ForceSendFields []string `json:"-"`
704
705	// NullFields is a list of field names (e.g. "BottomPixels") to include
706	// in API requests with the JSON null value. By default, fields with
707	// empty values are omitted from API requests. However, any field with
708	// an empty value appearing in NullFields will be sent to the server as
709	// null. It is an error if a field in this list has a non-empty value.
710	// This may be used to include null fields in Patch requests.
711	NullFields []string `json:"-"`
712}
713
714func (s *Crop) MarshalJSON() ([]byte, error) {
715	type NoMethod Crop
716	raw := NoMethod(*s)
717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
718}
719
720// Deblock: Deblock preprocessing configuration.
721type Deblock struct {
722	// Enabled: Enable deblocker. The default is `false`.
723	Enabled bool `json:"enabled,omitempty"`
724
725	// Strength: Set strength of the deblocker. Enter a value between 0 and
726	// 1. The higher the value, the stronger the block removal. 0 is no
727	// deblocking. The default is 0.
728	Strength float64 `json:"strength,omitempty"`
729
730	// ForceSendFields is a list of field names (e.g. "Enabled") to
731	// unconditionally include in API requests. By default, fields with
732	// empty values are omitted from API requests. However, any non-pointer,
733	// non-interface field appearing in ForceSendFields will be sent to the
734	// server regardless of whether the field is empty or not. This may be
735	// used to include empty fields in Patch requests.
736	ForceSendFields []string `json:"-"`
737
738	// NullFields is a list of field names (e.g. "Enabled") to include in
739	// API requests with the JSON null value. By default, fields with empty
740	// values are omitted from API requests. However, any field with an
741	// empty value appearing in NullFields will be sent to the server as
742	// null. It is an error if a field in this list has a non-empty value.
743	// This may be used to include null fields in Patch requests.
744	NullFields []string `json:"-"`
745}
746
747func (s *Deblock) MarshalJSON() ([]byte, error) {
748	type NoMethod Deblock
749	raw := NoMethod(*s)
750	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
751}
752
753func (s *Deblock) UnmarshalJSON(data []byte) error {
754	type NoMethod Deblock
755	var s1 struct {
756		Strength gensupport.JSONFloat64 `json:"strength"`
757		*NoMethod
758	}
759	s1.NoMethod = (*NoMethod)(s)
760	if err := json.Unmarshal(data, &s1); err != nil {
761		return err
762	}
763	s.Strength = float64(s1.Strength)
764	return nil
765}
766
767// Denoise: Denoise preprocessing configuration.
768type Denoise struct {
769	// Strength: Set strength of the denoise. Enter a value between 0 and 1.
770	// The higher the value, the smoother the image. 0 is no denoising. The
771	// default is 0.
772	Strength float64 `json:"strength,omitempty"`
773
774	// Tune: Set the denoiser mode. The default is "standard". Supported
775	// denoiser modes: - 'standard' - 'grain'
776	Tune string `json:"tune,omitempty"`
777
778	// ForceSendFields is a list of field names (e.g. "Strength") to
779	// unconditionally include in API requests. By default, fields with
780	// empty values are omitted from API requests. However, any non-pointer,
781	// non-interface field appearing in ForceSendFields will be sent to the
782	// server regardless of whether the field is empty or not. This may be
783	// used to include empty fields in Patch requests.
784	ForceSendFields []string `json:"-"`
785
786	// NullFields is a list of field names (e.g. "Strength") to include in
787	// API requests with the JSON null value. By default, fields with empty
788	// values are omitted from API requests. However, any field with an
789	// empty value appearing in NullFields will be sent to the server as
790	// null. It is an error if a field in this list has a non-empty value.
791	// This may be used to include null fields in Patch requests.
792	NullFields []string `json:"-"`
793}
794
795func (s *Denoise) MarshalJSON() ([]byte, error) {
796	type NoMethod Denoise
797	raw := NoMethod(*s)
798	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
799}
800
801func (s *Denoise) UnmarshalJSON(data []byte) error {
802	type NoMethod Denoise
803	var s1 struct {
804		Strength gensupport.JSONFloat64 `json:"strength"`
805		*NoMethod
806	}
807	s1.NoMethod = (*NoMethod)(s)
808	if err := json.Unmarshal(data, &s1); err != nil {
809		return err
810	}
811	s.Strength = float64(s1.Strength)
812	return nil
813}
814
815// EditAtom: Edit atom.
816type EditAtom struct {
817	// EndTimeOffset: End time in seconds for the atom, relative to the
818	// input file timeline. When `end_time_offset` is not specified, the
819	// `inputs` are used until the end of the atom.
820	EndTimeOffset string `json:"endTimeOffset,omitempty"`
821
822	// Inputs: List of `Input.key`s identifying files that should be used in
823	// this atom. The listed `inputs` must have the same timeline.
824	Inputs []string `json:"inputs,omitempty"`
825
826	// Key: A unique key for this atom. Must be specified when using
827	// advanced mapping.
828	Key string `json:"key,omitempty"`
829
830	// StartTimeOffset: Start time in seconds for the atom, relative to the
831	// input file timeline. The default is `0s`.
832	StartTimeOffset string `json:"startTimeOffset,omitempty"`
833
834	// ForceSendFields is a list of field names (e.g. "EndTimeOffset") to
835	// unconditionally include in API requests. By default, fields with
836	// empty values are omitted from API requests. However, any non-pointer,
837	// non-interface field appearing in ForceSendFields will be sent to the
838	// server regardless of whether the field is empty or not. This may be
839	// used to include empty fields in Patch requests.
840	ForceSendFields []string `json:"-"`
841
842	// NullFields is a list of field names (e.g. "EndTimeOffset") to include
843	// in API requests with the JSON null value. By default, fields with
844	// empty values are omitted from API requests. However, any field with
845	// an empty value appearing in NullFields will be sent to the server as
846	// null. It is an error if a field in this list has a non-empty value.
847	// This may be used to include null fields in Patch requests.
848	NullFields []string `json:"-"`
849}
850
851func (s *EditAtom) MarshalJSON() ([]byte, error) {
852	type NoMethod EditAtom
853	raw := NoMethod(*s)
854	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
855}
856
857// ElementaryStream: Encoding of an input file such as an audio, video,
858// or text track. Elementary streams must be packaged before mapping and
859// sharing between different output formats.
860type ElementaryStream struct {
861	// AudioStream: Encoding of an audio stream.
862	AudioStream *AudioStream `json:"audioStream,omitempty"`
863
864	// Key: A unique key for this elementary stream.
865	Key string `json:"key,omitempty"`
866
867	// TextStream: Encoding of a text stream. For example, closed captions
868	// or subtitles.
869	TextStream *TextStream `json:"textStream,omitempty"`
870
871	// VideoStream: Encoding of a video stream.
872	VideoStream *VideoStream `json:"videoStream,omitempty"`
873
874	// ForceSendFields is a list of field names (e.g. "AudioStream") to
875	// unconditionally include in API requests. By default, fields with
876	// empty values are omitted from API requests. However, any non-pointer,
877	// non-interface field appearing in ForceSendFields will be sent to the
878	// server regardless of whether the field is empty or not. This may be
879	// used to include empty fields in Patch requests.
880	ForceSendFields []string `json:"-"`
881
882	// NullFields is a list of field names (e.g. "AudioStream") to include
883	// in API requests with the JSON null value. By default, fields with
884	// empty values are omitted from API requests. However, any field with
885	// an empty value appearing in NullFields will be sent to the server as
886	// null. It is an error if a field in this list has a non-empty value.
887	// This may be used to include null fields in Patch requests.
888	NullFields []string `json:"-"`
889}
890
891func (s *ElementaryStream) MarshalJSON() ([]byte, error) {
892	type NoMethod ElementaryStream
893	raw := NoMethod(*s)
894	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
895}
896
897// Empty: A generic empty message that you can re-use to avoid defining
898// duplicated empty messages in your APIs. A typical example is to use
899// it as the request or the response type of an API method. For
900// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
901// (google.protobuf.Empty); } The JSON representation for `Empty` is
902// empty JSON object `{}`.
903type Empty struct {
904	// ServerResponse contains the HTTP response code and headers from the
905	// server.
906	googleapi.ServerResponse `json:"-"`
907}
908
909// Encryption: Encryption settings.
910type Encryption struct {
911	// Aes128: Configuration for AES-128 encryption.
912	Aes128 *Aes128Encryption `json:"aes128,omitempty"`
913
914	// Iv: Required. 128 bit Initialization Vector (IV) represented as
915	// lowercase hexadecimal digits.
916	Iv string `json:"iv,omitempty"`
917
918	// Key: Required. 128 bit encryption key represented as lowercase
919	// hexadecimal digits.
920	Key string `json:"key,omitempty"`
921
922	// MpegCenc: Configuration for MPEG Common Encryption (MPEG-CENC).
923	MpegCenc *MpegCommonEncryption `json:"mpegCenc,omitempty"`
924
925	// SampleAes: Configuration for SAMPLE-AES encryption.
926	SampleAes *SampleAesEncryption `json:"sampleAes,omitempty"`
927
928	// ForceSendFields is a list of field names (e.g. "Aes128") to
929	// unconditionally include in API requests. By default, fields with
930	// empty values are omitted from API requests. However, any non-pointer,
931	// non-interface field appearing in ForceSendFields will be sent to the
932	// server regardless of whether the field is empty or not. This may be
933	// used to include empty fields in Patch requests.
934	ForceSendFields []string `json:"-"`
935
936	// NullFields is a list of field names (e.g. "Aes128") to include in API
937	// requests with the JSON null value. By default, fields with empty
938	// values are omitted from API requests. However, any field with an
939	// empty value appearing in NullFields will be sent to the server as
940	// null. It is an error if a field in this list has a non-empty value.
941	// This may be used to include null fields in Patch requests.
942	NullFields []string `json:"-"`
943}
944
945func (s *Encryption) MarshalJSON() ([]byte, error) {
946	type NoMethod Encryption
947	raw := NoMethod(*s)
948	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
949}
950
951// FailureDetail: Additional information about the reasons for the
952// failure.
953type FailureDetail struct {
954	// Description: A description of the failure.
955	Description string `json:"description,omitempty"`
956
957	// ForceSendFields is a list of field names (e.g. "Description") to
958	// unconditionally include in API requests. By default, fields with
959	// empty values are omitted from API requests. However, any non-pointer,
960	// non-interface field appearing in ForceSendFields will be sent to the
961	// server regardless of whether the field is empty or not. This may be
962	// used to include empty fields in Patch requests.
963	ForceSendFields []string `json:"-"`
964
965	// NullFields is a list of field names (e.g. "Description") to include
966	// in API requests with the JSON null value. By default, fields with
967	// empty values are omitted from API requests. However, any field with
968	// an empty value appearing in NullFields will be sent to the server as
969	// null. It is an error if a field in this list has a non-empty value.
970	// This may be used to include null fields in Patch requests.
971	NullFields []string `json:"-"`
972}
973
974func (s *FailureDetail) MarshalJSON() ([]byte, error) {
975	type NoMethod FailureDetail
976	raw := NoMethod(*s)
977	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
978}
979
980// Image: Overlaid jpeg image.
981type Image struct {
982	// Alpha: Target image opacity. Valid values are from `1.0` (solid,
983	// default) to `0.0` (transparent), exclusive. Set this to a value
984	// greater than `0.0`.
985	Alpha float64 `json:"alpha,omitempty"`
986
987	// Resolution: Normalized image resolution, based on output video
988	// resolution. Valid values: `0.0`–`1.0`. To respect the original
989	// image aspect ratio, set either `x` or `y` to `0.0`. To use the
990	// original image resolution, set both `x` and `y` to `0.0`.
991	Resolution *NormalizedCoordinate `json:"resolution,omitempty"`
992
993	// Uri: Required. URI of the JPEG image in Cloud Storage. For example,
994	// `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image
995	// type.
996	Uri string `json:"uri,omitempty"`
997
998	// ForceSendFields is a list of field names (e.g. "Alpha") to
999	// unconditionally include in API requests. By default, fields with
1000	// empty values are omitted from API requests. However, any non-pointer,
1001	// non-interface field appearing in ForceSendFields will be sent to the
1002	// server regardless of whether the field is empty or not. This may be
1003	// used to include empty fields in Patch requests.
1004	ForceSendFields []string `json:"-"`
1005
1006	// NullFields is a list of field names (e.g. "Alpha") to include in API
1007	// requests with the JSON null value. By default, fields with empty
1008	// values are omitted from API requests. However, any field with an
1009	// empty value appearing in NullFields will be sent to the server as
1010	// null. It is an error if a field in this list has a non-empty value.
1011	// This may be used to include null fields in Patch requests.
1012	NullFields []string `json:"-"`
1013}
1014
1015func (s *Image) MarshalJSON() ([]byte, error) {
1016	type NoMethod Image
1017	raw := NoMethod(*s)
1018	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1019}
1020
1021func (s *Image) UnmarshalJSON(data []byte) error {
1022	type NoMethod Image
1023	var s1 struct {
1024		Alpha gensupport.JSONFloat64 `json:"alpha"`
1025		*NoMethod
1026	}
1027	s1.NoMethod = (*NoMethod)(s)
1028	if err := json.Unmarshal(data, &s1); err != nil {
1029		return err
1030	}
1031	s.Alpha = float64(s1.Alpha)
1032	return nil
1033}
1034
1035// Input: Input asset.
1036type Input struct {
1037	// Key: A unique key for this input. Must be specified when using
1038	// advanced mapping and edit lists.
1039	Key string `json:"key,omitempty"`
1040
1041	// PreprocessingConfig: Preprocessing configurations.
1042	PreprocessingConfig *PreprocessingConfig `json:"preprocessingConfig,omitempty"`
1043
1044	// Uri: URI of the media. Input files must be at least 5 seconds in
1045	// duration and stored in Cloud Storage (for example,
1046	// `gs://bucket/inputs/file.mp4`). If empty, the value will be populated
1047	// from `Job.input_uri`.
1048	Uri string `json:"uri,omitempty"`
1049
1050	// ForceSendFields is a list of field names (e.g. "Key") to
1051	// unconditionally include in API requests. By default, fields with
1052	// empty values are omitted from API requests. However, any non-pointer,
1053	// non-interface field appearing in ForceSendFields will be sent to the
1054	// server regardless of whether the field is empty or not. This may be
1055	// used to include empty fields in Patch requests.
1056	ForceSendFields []string `json:"-"`
1057
1058	// NullFields is a list of field names (e.g. "Key") to include in API
1059	// requests with the JSON null value. By default, fields with empty
1060	// values are omitted from API requests. However, any field with an
1061	// empty value appearing in NullFields will be sent to the server as
1062	// null. It is an error if a field in this list has a non-empty value.
1063	// This may be used to include null fields in Patch requests.
1064	NullFields []string `json:"-"`
1065}
1066
1067func (s *Input) MarshalJSON() ([]byte, error) {
1068	type NoMethod Input
1069	raw := NoMethod(*s)
1070	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1071}
1072
1073// Job: Transcoding job resource.
1074type Job struct {
1075	// Config: The configuration for this job.
1076	Config *JobConfig `json:"config,omitempty"`
1077
1078	// CreateTime: Output only. The time the job was created.
1079	CreateTime string `json:"createTime,omitempty"`
1080
1081	// EndTime: Output only. The time the transcoding finished.
1082	EndTime string `json:"endTime,omitempty"`
1083
1084	// FailureDetails: Output only. List of failure details. This property
1085	// may contain additional information about the failure when
1086	// `failure_reason` is present. *Note*: This feature is not yet
1087	// available.
1088	FailureDetails []*FailureDetail `json:"failureDetails,omitempty"`
1089
1090	// FailureReason: Output only. A description of the reason for the
1091	// failure. This property is always present when `state` is `FAILED`.
1092	FailureReason string `json:"failureReason,omitempty"`
1093
1094	// InputUri: Input only. Specify the `input_uri` to populate empty `uri`
1095	// fields in each element of `Job.config.inputs` or
1096	// `JobTemplate.config.inputs` when using template. URI of the media.
1097	// Input files must be at least 5 seconds in duration and stored in
1098	// Cloud Storage (for example, `gs://bucket/inputs/file.mp4`).
1099	InputUri string `json:"inputUri,omitempty"`
1100
1101	// Name: The resource name of the job. Format:
1102	// `projects/{project}/locations/{location}/jobs/{job}`
1103	Name string `json:"name,omitempty"`
1104
1105	// OriginUri: Output only. The origin URI. *Note*: This feature is not
1106	// yet available.
1107	OriginUri *OriginUri `json:"originUri,omitempty"`
1108
1109	// OutputUri: Input only. Specify the `output_uri` to populate an empty
1110	// `Job.config.output.uri` or `JobTemplate.config.output.uri` when using
1111	// template. URI for the output file(s). For example,
1112	// `gs://my-bucket/outputs/`.
1113	OutputUri string `json:"outputUri,omitempty"`
1114
1115	// Priority: Specify the priority of the job. Enter a value between 0
1116	// and 100, where 0 is the lowest priority and 100 is the highest
1117	// priority. The default is 0.
1118	Priority int64 `json:"priority,omitempty"`
1119
1120	// Progress: Output only. Estimated fractional progress, from `0` to `1`
1121	// for each step. *Note*: This feature is not yet available.
1122	Progress *Progress `json:"progress,omitempty"`
1123
1124	// StartTime: Output only. The time the transcoding started.
1125	StartTime string `json:"startTime,omitempty"`
1126
1127	// State: Output only. The current state of the job.
1128	//
1129	// Possible values:
1130	//   "PROCESSING_STATE_UNSPECIFIED" - The processing state is not
1131	// specified.
1132	//   "PENDING" - The job is enqueued and will be picked up for
1133	// processing soon.
1134	//   "RUNNING" - The job is being processed.
1135	//   "SUCCEEDED" - The job has been completed successfully.
1136	//   "FAILED" - The job has failed. For additional information, see
1137	// `failure_reason` and `failure_details`
1138	State string `json:"state,omitempty"`
1139
1140	// TemplateId: Input only. Specify the `template_id` to use for
1141	// populating `Job.config`. The default is `preset/web-hd`. Preset
1142	// Transcoder templates: - `preset/{preset_id}` - User defined
1143	// JobTemplate: `{job_template_id}`
1144	TemplateId string `json:"templateId,omitempty"`
1145
1146	// TtlAfterCompletionDays: Job time to live value in days, which will be
1147	// effective after job completion. Job should be deleted automatically
1148	// after the given TTL. Enter a value between 1 and 90. The default is
1149	// 30.
1150	TtlAfterCompletionDays int64 `json:"ttlAfterCompletionDays,omitempty"`
1151
1152	// ServerResponse contains the HTTP response code and headers from the
1153	// server.
1154	googleapi.ServerResponse `json:"-"`
1155
1156	// ForceSendFields is a list of field names (e.g. "Config") to
1157	// unconditionally include in API requests. By default, fields with
1158	// empty values are omitted from API requests. However, any non-pointer,
1159	// non-interface field appearing in ForceSendFields will be sent to the
1160	// server regardless of whether the field is empty or not. This may be
1161	// used to include empty fields in Patch requests.
1162	ForceSendFields []string `json:"-"`
1163
1164	// NullFields is a list of field names (e.g. "Config") to include in API
1165	// requests with the JSON null value. By default, fields with empty
1166	// values are omitted from API requests. However, any field with an
1167	// empty value appearing in NullFields will be sent to the server as
1168	// null. It is an error if a field in this list has a non-empty value.
1169	// This may be used to include null fields in Patch requests.
1170	NullFields []string `json:"-"`
1171}
1172
1173func (s *Job) MarshalJSON() ([]byte, error) {
1174	type NoMethod Job
1175	raw := NoMethod(*s)
1176	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1177}
1178
1179// JobConfig: Job configuration
1180type JobConfig struct {
1181	// AdBreaks: List of ad breaks. Specifies where to insert ad break tags
1182	// in the output manifests.
1183	AdBreaks []*AdBreak `json:"adBreaks,omitempty"`
1184
1185	// EditList: List of `Edit atom`s. Defines the ultimate timeline of the
1186	// resulting file or manifest.
1187	EditList []*EditAtom `json:"editList,omitempty"`
1188
1189	// ElementaryStreams: List of elementary streams.
1190	ElementaryStreams []*ElementaryStream `json:"elementaryStreams,omitempty"`
1191
1192	// Inputs: List of input assets stored in Cloud Storage.
1193	Inputs []*Input `json:"inputs,omitempty"`
1194
1195	// Manifests: List of output manifests.
1196	Manifests []*Manifest `json:"manifests,omitempty"`
1197
1198	// MuxStreams: List of multiplexing settings for output streams.
1199	MuxStreams []*MuxStream `json:"muxStreams,omitempty"`
1200
1201	// Output: Output configuration.
1202	Output *Output `json:"output,omitempty"`
1203
1204	// Overlays: List of overlays on the output video, in descending
1205	// Z-order.
1206	Overlays []*Overlay `json:"overlays,omitempty"`
1207
1208	// PubsubDestination: Destination on Pub/Sub.
1209	PubsubDestination *PubsubDestination `json:"pubsubDestination,omitempty"`
1210
1211	// SpriteSheets: List of output sprite sheets.
1212	SpriteSheets []*SpriteSheet `json:"spriteSheets,omitempty"`
1213
1214	// ForceSendFields is a list of field names (e.g. "AdBreaks") to
1215	// unconditionally include in API requests. By default, fields with
1216	// empty values are omitted from API requests. However, any non-pointer,
1217	// non-interface field appearing in ForceSendFields will be sent to the
1218	// server regardless of whether the field is empty or not. This may be
1219	// used to include empty fields in Patch requests.
1220	ForceSendFields []string `json:"-"`
1221
1222	// NullFields is a list of field names (e.g. "AdBreaks") to include in
1223	// API requests with the JSON null value. By default, fields with empty
1224	// values are omitted from API requests. However, any field with an
1225	// empty value appearing in NullFields will be sent to the server as
1226	// null. It is an error if a field in this list has a non-empty value.
1227	// This may be used to include null fields in Patch requests.
1228	NullFields []string `json:"-"`
1229}
1230
1231func (s *JobConfig) MarshalJSON() ([]byte, error) {
1232	type NoMethod JobConfig
1233	raw := NoMethod(*s)
1234	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1235}
1236
1237// JobTemplate: Transcoding job template resource.
1238type JobTemplate struct {
1239	// Config: The configuration for this template.
1240	Config *JobConfig `json:"config,omitempty"`
1241
1242	// Name: The resource name of the job template. Format:
1243	// `projects/{project}/locations/{location}/jobTemplates/{job_template}`
1244	Name string `json:"name,omitempty"`
1245
1246	// ServerResponse contains the HTTP response code and headers from the
1247	// server.
1248	googleapi.ServerResponse `json:"-"`
1249
1250	// ForceSendFields is a list of field names (e.g. "Config") to
1251	// unconditionally include in API requests. By default, fields with
1252	// empty values are omitted from API requests. However, any non-pointer,
1253	// non-interface field appearing in ForceSendFields will be sent to the
1254	// server regardless of whether the field is empty or not. This may be
1255	// used to include empty fields in Patch requests.
1256	ForceSendFields []string `json:"-"`
1257
1258	// NullFields is a list of field names (e.g. "Config") to include in API
1259	// requests with the JSON null value. By default, fields with empty
1260	// values are omitted from API requests. However, any field with an
1261	// empty value appearing in NullFields will be sent to the server as
1262	// null. It is an error if a field in this list has a non-empty value.
1263	// This may be used to include null fields in Patch requests.
1264	NullFields []string `json:"-"`
1265}
1266
1267func (s *JobTemplate) MarshalJSON() ([]byte, error) {
1268	type NoMethod JobTemplate
1269	raw := NoMethod(*s)
1270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1271}
1272
1273// ListJobTemplatesResponse: Response message for
1274// `TranscoderService.ListJobTemplates`.
1275type ListJobTemplatesResponse struct {
1276	// JobTemplates: List of job templates in the specified region.
1277	JobTemplates []*JobTemplate `json:"jobTemplates,omitempty"`
1278
1279	// NextPageToken: The pagination token.
1280	NextPageToken string `json:"nextPageToken,omitempty"`
1281
1282	// ServerResponse contains the HTTP response code and headers from the
1283	// server.
1284	googleapi.ServerResponse `json:"-"`
1285
1286	// ForceSendFields is a list of field names (e.g. "JobTemplates") to
1287	// unconditionally include in API requests. By default, fields with
1288	// empty values are omitted from API requests. However, any non-pointer,
1289	// non-interface field appearing in ForceSendFields will be sent to the
1290	// server regardless of whether the field is empty or not. This may be
1291	// used to include empty fields in Patch requests.
1292	ForceSendFields []string `json:"-"`
1293
1294	// NullFields is a list of field names (e.g. "JobTemplates") to include
1295	// in API requests with the JSON null value. By default, fields with
1296	// empty values are omitted from API requests. However, any field with
1297	// an empty value appearing in NullFields will be sent to the server as
1298	// null. It is an error if a field in this list has a non-empty value.
1299	// This may be used to include null fields in Patch requests.
1300	NullFields []string `json:"-"`
1301}
1302
1303func (s *ListJobTemplatesResponse) MarshalJSON() ([]byte, error) {
1304	type NoMethod ListJobTemplatesResponse
1305	raw := NoMethod(*s)
1306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1307}
1308
1309// ListJobsResponse: Response message for `TranscoderService.ListJobs`.
1310type ListJobsResponse struct {
1311	// Jobs: List of jobs in the specified region.
1312	Jobs []*Job `json:"jobs,omitempty"`
1313
1314	// NextPageToken: The pagination token.
1315	NextPageToken string `json:"nextPageToken,omitempty"`
1316
1317	// ServerResponse contains the HTTP response code and headers from the
1318	// server.
1319	googleapi.ServerResponse `json:"-"`
1320
1321	// ForceSendFields is a list of field names (e.g. "Jobs") to
1322	// unconditionally include in API requests. By default, fields with
1323	// empty values are omitted from API requests. However, any non-pointer,
1324	// non-interface field appearing in ForceSendFields will be sent to the
1325	// server regardless of whether the field is empty or not. This may be
1326	// used to include empty fields in Patch requests.
1327	ForceSendFields []string `json:"-"`
1328
1329	// NullFields is a list of field names (e.g. "Jobs") to include in API
1330	// requests with the JSON null value. By default, fields with empty
1331	// values are omitted from API requests. However, any field with an
1332	// empty value appearing in NullFields will be sent to the server as
1333	// null. It is an error if a field in this list has a non-empty value.
1334	// This may be used to include null fields in Patch requests.
1335	NullFields []string `json:"-"`
1336}
1337
1338func (s *ListJobsResponse) MarshalJSON() ([]byte, error) {
1339	type NoMethod ListJobsResponse
1340	raw := NoMethod(*s)
1341	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1342}
1343
1344// Manifest: Manifest configuration.
1345type Manifest struct {
1346	// FileName: The name of the generated file. The default is "manifest"
1347	// with the extension suffix corresponding to the `Manifest.type`.
1348	FileName string `json:"fileName,omitempty"`
1349
1350	// MuxStreams: Required. List of user given `MuxStream.key`s that should
1351	// appear in this manifest. When `Manifest.type` is `HLS`, a media
1352	// manifest with name `MuxStream.key` and `.m3u8` extension is generated
1353	// for each element of the `Manifest.mux_streams`.
1354	MuxStreams []string `json:"muxStreams,omitempty"`
1355
1356	// Type: Required. Type of the manifest, can be "HLS" or "DASH".
1357	//
1358	// Possible values:
1359	//   "MANIFEST_TYPE_UNSPECIFIED" - The manifest type is not specified.
1360	//   "HLS" - Create "HLS" manifest. The corresponding file extension
1361	// is ".m3u8".
1362	//   "DASH" - Create "DASH" manifest. The corresponding file extension
1363	// is ".mpd".
1364	Type string `json:"type,omitempty"`
1365
1366	// ForceSendFields is a list of field names (e.g. "FileName") to
1367	// unconditionally include in API requests. By default, fields with
1368	// empty values are omitted from API requests. However, any non-pointer,
1369	// non-interface field appearing in ForceSendFields will be sent to the
1370	// server regardless of whether the field is empty or not. This may be
1371	// used to include empty fields in Patch requests.
1372	ForceSendFields []string `json:"-"`
1373
1374	// NullFields is a list of field names (e.g. "FileName") to include in
1375	// API requests with the JSON null value. By default, fields with empty
1376	// values are omitted from API requests. However, any field with an
1377	// empty value appearing in NullFields will be sent to the server as
1378	// null. It is an error if a field in this list has a non-empty value.
1379	// This may be used to include null fields in Patch requests.
1380	NullFields []string `json:"-"`
1381}
1382
1383func (s *Manifest) MarshalJSON() ([]byte, error) {
1384	type NoMethod Manifest
1385	raw := NoMethod(*s)
1386	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1387}
1388
1389// MpegCommonEncryption: Configuration for MPEG Common Encryption
1390// (MPEG-CENC).
1391type MpegCommonEncryption struct {
1392	// KeyId: Required. 128 bit Key ID represented as lowercase hexadecimal
1393	// digits for use with common encryption.
1394	KeyId string `json:"keyId,omitempty"`
1395
1396	// Scheme: Required. Specify the encryption scheme. Supported encryption
1397	// schemes: - 'cenc' - 'cbcs'
1398	Scheme string `json:"scheme,omitempty"`
1399
1400	// ForceSendFields is a list of field names (e.g. "KeyId") to
1401	// unconditionally include in API requests. By default, fields with
1402	// empty values are omitted from API requests. However, any non-pointer,
1403	// non-interface field appearing in ForceSendFields will be sent to the
1404	// server regardless of whether the field is empty or not. This may be
1405	// used to include empty fields in Patch requests.
1406	ForceSendFields []string `json:"-"`
1407
1408	// NullFields is a list of field names (e.g. "KeyId") to include in API
1409	// requests with the JSON null value. By default, fields with empty
1410	// values are omitted from API requests. However, any field with an
1411	// empty value appearing in NullFields will be sent to the server as
1412	// null. It is an error if a field in this list has a non-empty value.
1413	// This may be used to include null fields in Patch requests.
1414	NullFields []string `json:"-"`
1415}
1416
1417func (s *MpegCommonEncryption) MarshalJSON() ([]byte, error) {
1418	type NoMethod MpegCommonEncryption
1419	raw := NoMethod(*s)
1420	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1421}
1422
1423// MuxStream: Multiplexing settings for output stream.
1424type MuxStream struct {
1425	// Container: The container format. The default is "mp4" Supported
1426	// container formats: - 'ts' - 'fmp4'- the corresponding file extension
1427	// is ".m4s" - 'mp4' - 'vtt'
1428	Container string `json:"container,omitempty"`
1429
1430	// ElementaryStreams: List of `ElementaryStream.key`s multiplexed in
1431	// this stream.
1432	ElementaryStreams []string `json:"elementaryStreams,omitempty"`
1433
1434	// Encryption: Encryption settings.
1435	Encryption *Encryption `json:"encryption,omitempty"`
1436
1437	// FileName: The name of the generated file. The default is
1438	// `MuxStream.key` with the extension suffix corresponding to the
1439	// `MuxStream.container`. Individual segments also have an incremental
1440	// 10-digit zero-padded suffix starting from 0 before the extension,
1441	// such as "mux_stream0000000123.ts".
1442	FileName string `json:"fileName,omitempty"`
1443
1444	// Key: A unique key for this multiplexed stream. HLS media manifests
1445	// will be named `MuxStream.key` with the ".m3u8" extension suffix.
1446	Key string `json:"key,omitempty"`
1447
1448	// SegmentSettings: Segment settings for "ts", "fmp4" and "vtt".
1449	SegmentSettings *SegmentSettings `json:"segmentSettings,omitempty"`
1450
1451	// ForceSendFields is a list of field names (e.g. "Container") to
1452	// unconditionally include in API requests. By default, fields with
1453	// empty values are omitted from API requests. However, any non-pointer,
1454	// non-interface field appearing in ForceSendFields will be sent to the
1455	// server regardless of whether the field is empty or not. This may be
1456	// used to include empty fields in Patch requests.
1457	ForceSendFields []string `json:"-"`
1458
1459	// NullFields is a list of field names (e.g. "Container") to include in
1460	// API requests with the JSON null value. By default, fields with empty
1461	// values are omitted from API requests. However, any field with an
1462	// empty value appearing in NullFields will be sent to the server as
1463	// null. It is an error if a field in this list has a non-empty value.
1464	// This may be used to include null fields in Patch requests.
1465	NullFields []string `json:"-"`
1466}
1467
1468func (s *MuxStream) MarshalJSON() ([]byte, error) {
1469	type NoMethod MuxStream
1470	raw := NoMethod(*s)
1471	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1472}
1473
1474// NormalizedCoordinate: 2D normalized coordinates. Default: `{0.0,
1475// 0.0}`
1476type NormalizedCoordinate struct {
1477	// X: Normalized x coordinate.
1478	X float64 `json:"x,omitempty"`
1479
1480	// Y: Normalized y coordinate.
1481	Y float64 `json:"y,omitempty"`
1482
1483	// ForceSendFields is a list of field names (e.g. "X") to
1484	// unconditionally include in API requests. By default, fields with
1485	// empty values are omitted from API requests. However, any non-pointer,
1486	// non-interface field appearing in ForceSendFields will be sent to the
1487	// server regardless of whether the field is empty or not. This may be
1488	// used to include empty fields in Patch requests.
1489	ForceSendFields []string `json:"-"`
1490
1491	// NullFields is a list of field names (e.g. "X") to include in API
1492	// requests with the JSON null value. By default, fields with empty
1493	// values are omitted from API requests. However, any field with an
1494	// empty value appearing in NullFields will be sent to the server as
1495	// null. It is an error if a field in this list has a non-empty value.
1496	// This may be used to include null fields in Patch requests.
1497	NullFields []string `json:"-"`
1498}
1499
1500func (s *NormalizedCoordinate) MarshalJSON() ([]byte, error) {
1501	type NoMethod NormalizedCoordinate
1502	raw := NoMethod(*s)
1503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1504}
1505
1506func (s *NormalizedCoordinate) UnmarshalJSON(data []byte) error {
1507	type NoMethod NormalizedCoordinate
1508	var s1 struct {
1509		X gensupport.JSONFloat64 `json:"x"`
1510		Y gensupport.JSONFloat64 `json:"y"`
1511		*NoMethod
1512	}
1513	s1.NoMethod = (*NoMethod)(s)
1514	if err := json.Unmarshal(data, &s1); err != nil {
1515		return err
1516	}
1517	s.X = float64(s1.X)
1518	s.Y = float64(s1.Y)
1519	return nil
1520}
1521
1522// OperationMetadata: Represents the metadata of the long-running
1523// operation.
1524type OperationMetadata struct {
1525	// ApiVersion: Output only. API version used to start the operation.
1526	ApiVersion string `json:"apiVersion,omitempty"`
1527
1528	// CancelRequested: Output only. Identifies whether the user has
1529	// requested cancellation of the operation. Operations that have
1530	// successfully been cancelled have Operation.error value with a
1531	// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
1532	CancelRequested bool `json:"cancelRequested,omitempty"`
1533
1534	// CreateTime: Output only. The time the operation was created.
1535	CreateTime string `json:"createTime,omitempty"`
1536
1537	// EndTime: Output only. The time the operation finished running.
1538	EndTime string `json:"endTime,omitempty"`
1539
1540	// StatusDetail: Output only. Human-readable status of the operation, if
1541	// any.
1542	StatusDetail string `json:"statusDetail,omitempty"`
1543
1544	// Target: Output only. Server-defined resource path for the target of
1545	// the operation.
1546	Target string `json:"target,omitempty"`
1547
1548	// Verb: Output only. Name of the verb executed by the operation.
1549	Verb string `json:"verb,omitempty"`
1550
1551	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
1552	// unconditionally include in API requests. By default, fields with
1553	// empty values are omitted from API requests. However, any non-pointer,
1554	// non-interface field appearing in ForceSendFields will be sent to the
1555	// server regardless of whether the field is empty or not. This may be
1556	// used to include empty fields in Patch requests.
1557	ForceSendFields []string `json:"-"`
1558
1559	// NullFields is a list of field names (e.g. "ApiVersion") to include in
1560	// API requests with the JSON null value. By default, fields with empty
1561	// values are omitted from API requests. However, any field with an
1562	// empty value appearing in NullFields will be sent to the server as
1563	// null. It is an error if a field in this list has a non-empty value.
1564	// This may be used to include null fields in Patch requests.
1565	NullFields []string `json:"-"`
1566}
1567
1568func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
1569	type NoMethod OperationMetadata
1570	raw := NoMethod(*s)
1571	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1572}
1573
1574// OriginUri: The origin URI.
1575type OriginUri struct {
1576	// Dash: Dash manifest URI. If multiple Dash manifests are created, only
1577	// the first one is listed.
1578	Dash string `json:"dash,omitempty"`
1579
1580	// Hls: HLS manifest URI per
1581	// https://tools.ietf.org/html/rfc8216#section-4.3.4. If multiple HLS
1582	// manifests are created, only the first one is listed.
1583	Hls string `json:"hls,omitempty"`
1584
1585	// ForceSendFields is a list of field names (e.g. "Dash") to
1586	// unconditionally include in API requests. By default, fields with
1587	// empty values are omitted from API requests. However, any non-pointer,
1588	// non-interface field appearing in ForceSendFields will be sent to the
1589	// server regardless of whether the field is empty or not. This may be
1590	// used to include empty fields in Patch requests.
1591	ForceSendFields []string `json:"-"`
1592
1593	// NullFields is a list of field names (e.g. "Dash") to include in API
1594	// requests with the JSON null value. By default, fields with empty
1595	// values are omitted from API requests. However, any field with an
1596	// empty value appearing in NullFields will be sent to the server as
1597	// null. It is an error if a field in this list has a non-empty value.
1598	// This may be used to include null fields in Patch requests.
1599	NullFields []string `json:"-"`
1600}
1601
1602func (s *OriginUri) MarshalJSON() ([]byte, error) {
1603	type NoMethod OriginUri
1604	raw := NoMethod(*s)
1605	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1606}
1607
1608// Output: Location of output file(s) in a Cloud Storage bucket.
1609type Output struct {
1610	// Uri: URI for the output file(s). For example,
1611	// `gs://my-bucket/outputs/`. If empty the value is populated from
1612	// `Job.output_uri`.
1613	Uri string `json:"uri,omitempty"`
1614
1615	// ForceSendFields is a list of field names (e.g. "Uri") to
1616	// unconditionally include in API requests. By default, fields with
1617	// empty values are omitted from API requests. However, any non-pointer,
1618	// non-interface field appearing in ForceSendFields will be sent to the
1619	// server regardless of whether the field is empty or not. This may be
1620	// used to include empty fields in Patch requests.
1621	ForceSendFields []string `json:"-"`
1622
1623	// NullFields is a list of field names (e.g. "Uri") to include in API
1624	// requests with the JSON null value. By default, fields with empty
1625	// values are omitted from API requests. However, any field with an
1626	// empty value appearing in NullFields will be sent to the server as
1627	// null. It is an error if a field in this list has a non-empty value.
1628	// This may be used to include null fields in Patch requests.
1629	NullFields []string `json:"-"`
1630}
1631
1632func (s *Output) MarshalJSON() ([]byte, error) {
1633	type NoMethod Output
1634	raw := NoMethod(*s)
1635	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1636}
1637
1638// Overlay: Overlay configuration.
1639type Overlay struct {
1640	// Animations: List of Animations. The list should be chronological,
1641	// without any time overlap.
1642	Animations []*Animation `json:"animations,omitempty"`
1643
1644	// Image: Image overlay.
1645	Image *Image `json:"image,omitempty"`
1646
1647	// ForceSendFields is a list of field names (e.g. "Animations") to
1648	// unconditionally include in API requests. By default, fields with
1649	// empty values are omitted from API requests. However, any non-pointer,
1650	// non-interface field appearing in ForceSendFields will be sent to the
1651	// server regardless of whether the field is empty or not. This may be
1652	// used to include empty fields in Patch requests.
1653	ForceSendFields []string `json:"-"`
1654
1655	// NullFields is a list of field names (e.g. "Animations") to include in
1656	// API requests with the JSON null value. By default, fields with empty
1657	// values are omitted from API requests. However, any field with an
1658	// empty value appearing in NullFields will be sent to the server as
1659	// null. It is an error if a field in this list has a non-empty value.
1660	// This may be used to include null fields in Patch requests.
1661	NullFields []string `json:"-"`
1662}
1663
1664func (s *Overlay) MarshalJSON() ([]byte, error) {
1665	type NoMethod Overlay
1666	raw := NoMethod(*s)
1667	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1668}
1669
1670// Pad: Pad filter configuration for the input video. The padded input
1671// video is scaled after padding with black to match the output
1672// resolution.
1673type Pad struct {
1674	// BottomPixels: The number of pixels to add to the bottom. The default
1675	// is 0.
1676	BottomPixels int64 `json:"bottomPixels,omitempty"`
1677
1678	// LeftPixels: The number of pixels to add to the left. The default is
1679	// 0.
1680	LeftPixels int64 `json:"leftPixels,omitempty"`
1681
1682	// RightPixels: The number of pixels to add to the right. The default is
1683	// 0.
1684	RightPixels int64 `json:"rightPixels,omitempty"`
1685
1686	// TopPixels: The number of pixels to add to the top. The default is 0.
1687	TopPixels int64 `json:"topPixels,omitempty"`
1688
1689	// ForceSendFields is a list of field names (e.g. "BottomPixels") to
1690	// unconditionally include in API requests. By default, fields with
1691	// empty values are omitted from API requests. However, any non-pointer,
1692	// non-interface field appearing in ForceSendFields will be sent to the
1693	// server regardless of whether the field is empty or not. This may be
1694	// used to include empty fields in Patch requests.
1695	ForceSendFields []string `json:"-"`
1696
1697	// NullFields is a list of field names (e.g. "BottomPixels") to include
1698	// in API requests with the JSON null value. By default, fields with
1699	// empty values are omitted from API requests. However, any field with
1700	// an empty value appearing in NullFields will be sent to the server as
1701	// null. It is an error if a field in this list has a non-empty value.
1702	// This may be used to include null fields in Patch requests.
1703	NullFields []string `json:"-"`
1704}
1705
1706func (s *Pad) MarshalJSON() ([]byte, error) {
1707	type NoMethod Pad
1708	raw := NoMethod(*s)
1709	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1710}
1711
1712// PreprocessingConfig: Preprocessing configurations.
1713type PreprocessingConfig struct {
1714	// Audio: Audio preprocessing configuration.
1715	Audio *Audio `json:"audio,omitempty"`
1716
1717	// Color: Color preprocessing configuration.
1718	Color *Color `json:"color,omitempty"`
1719
1720	// Crop: Specify the video cropping configuration.
1721	Crop *Crop `json:"crop,omitempty"`
1722
1723	// Deblock: Deblock preprocessing configuration.
1724	Deblock *Deblock `json:"deblock,omitempty"`
1725
1726	// Denoise: Denoise preprocessing configuration.
1727	Denoise *Denoise `json:"denoise,omitempty"`
1728
1729	// Pad: Specify the video pad filter configuration.
1730	Pad *Pad `json:"pad,omitempty"`
1731
1732	// ForceSendFields is a list of field names (e.g. "Audio") to
1733	// unconditionally include in API requests. By default, fields with
1734	// empty values are omitted from API requests. However, any non-pointer,
1735	// non-interface field appearing in ForceSendFields will be sent to the
1736	// server regardless of whether the field is empty or not. This may be
1737	// used to include empty fields in Patch requests.
1738	ForceSendFields []string `json:"-"`
1739
1740	// NullFields is a list of field names (e.g. "Audio") to include in API
1741	// requests with the JSON null value. By default, fields with empty
1742	// values are omitted from API requests. However, any field with an
1743	// empty value appearing in NullFields will be sent to the server as
1744	// null. It is an error if a field in this list has a non-empty value.
1745	// This may be used to include null fields in Patch requests.
1746	NullFields []string `json:"-"`
1747}
1748
1749func (s *PreprocessingConfig) MarshalJSON() ([]byte, error) {
1750	type NoMethod PreprocessingConfig
1751	raw := NoMethod(*s)
1752	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1753}
1754
1755// Progress: Estimated fractional progress for each step, from `0` to
1756// `1`.
1757type Progress struct {
1758	// Analyzed: Estimated fractional progress for `analyzing` step.
1759	Analyzed float64 `json:"analyzed,omitempty"`
1760
1761	// Encoded: Estimated fractional progress for `encoding` step.
1762	Encoded float64 `json:"encoded,omitempty"`
1763
1764	// Notified: Estimated fractional progress for `notifying` step.
1765	Notified float64 `json:"notified,omitempty"`
1766
1767	// Uploaded: Estimated fractional progress for `uploading` step.
1768	Uploaded float64 `json:"uploaded,omitempty"`
1769
1770	// ForceSendFields is a list of field names (e.g. "Analyzed") to
1771	// unconditionally include in API requests. By default, fields with
1772	// empty values are omitted from API requests. However, any non-pointer,
1773	// non-interface field appearing in ForceSendFields will be sent to the
1774	// server regardless of whether the field is empty or not. This may be
1775	// used to include empty fields in Patch requests.
1776	ForceSendFields []string `json:"-"`
1777
1778	// NullFields is a list of field names (e.g. "Analyzed") to include in
1779	// API requests with the JSON null value. By default, fields with empty
1780	// values are omitted from API requests. However, any field with an
1781	// empty value appearing in NullFields will be sent to the server as
1782	// null. It is an error if a field in this list has a non-empty value.
1783	// This may be used to include null fields in Patch requests.
1784	NullFields []string `json:"-"`
1785}
1786
1787func (s *Progress) MarshalJSON() ([]byte, error) {
1788	type NoMethod Progress
1789	raw := NoMethod(*s)
1790	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1791}
1792
1793func (s *Progress) UnmarshalJSON(data []byte) error {
1794	type NoMethod Progress
1795	var s1 struct {
1796		Analyzed gensupport.JSONFloat64 `json:"analyzed"`
1797		Encoded  gensupport.JSONFloat64 `json:"encoded"`
1798		Notified gensupport.JSONFloat64 `json:"notified"`
1799		Uploaded gensupport.JSONFloat64 `json:"uploaded"`
1800		*NoMethod
1801	}
1802	s1.NoMethod = (*NoMethod)(s)
1803	if err := json.Unmarshal(data, &s1); err != nil {
1804		return err
1805	}
1806	s.Analyzed = float64(s1.Analyzed)
1807	s.Encoded = float64(s1.Encoded)
1808	s.Notified = float64(s1.Notified)
1809	s.Uploaded = float64(s1.Uploaded)
1810	return nil
1811}
1812
1813// PubsubDestination: A Pub/Sub destination.
1814type PubsubDestination struct {
1815	// Topic: The name of the Pub/Sub topic to publish job completion
1816	// notification to. For example: `projects/{project}/topics/{topic}`.
1817	Topic string `json:"topic,omitempty"`
1818
1819	// ForceSendFields is a list of field names (e.g. "Topic") to
1820	// unconditionally include in API requests. By default, fields with
1821	// empty values are omitted from API requests. However, any non-pointer,
1822	// non-interface field appearing in ForceSendFields will be sent to the
1823	// server regardless of whether the field is empty or not. This may be
1824	// used to include empty fields in Patch requests.
1825	ForceSendFields []string `json:"-"`
1826
1827	// NullFields is a list of field names (e.g. "Topic") to include in API
1828	// requests with the JSON null value. By default, fields with empty
1829	// values are omitted from API requests. However, any field with an
1830	// empty value appearing in NullFields will be sent to the server as
1831	// null. It is an error if a field in this list has a non-empty value.
1832	// This may be used to include null fields in Patch requests.
1833	NullFields []string `json:"-"`
1834}
1835
1836func (s *PubsubDestination) MarshalJSON() ([]byte, error) {
1837	type NoMethod PubsubDestination
1838	raw := NoMethod(*s)
1839	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1840}
1841
1842// SampleAesEncryption: Configuration for SAMPLE-AES encryption.
1843type SampleAesEncryption struct {
1844	// KeyUri: Required. URI of the key delivery service. This URI is
1845	// inserted into the M3U8 header.
1846	KeyUri string `json:"keyUri,omitempty"`
1847
1848	// ForceSendFields is a list of field names (e.g. "KeyUri") to
1849	// unconditionally include in API requests. By default, fields with
1850	// empty values are omitted from API requests. However, any non-pointer,
1851	// non-interface field appearing in ForceSendFields will be sent to the
1852	// server regardless of whether the field is empty or not. This may be
1853	// used to include empty fields in Patch requests.
1854	ForceSendFields []string `json:"-"`
1855
1856	// NullFields is a list of field names (e.g. "KeyUri") to include in API
1857	// requests with the JSON null value. By default, fields with empty
1858	// values are omitted from API requests. However, any field with an
1859	// empty value appearing in NullFields will be sent to the server as
1860	// null. It is an error if a field in this list has a non-empty value.
1861	// This may be used to include null fields in Patch requests.
1862	NullFields []string `json:"-"`
1863}
1864
1865func (s *SampleAesEncryption) MarshalJSON() ([]byte, error) {
1866	type NoMethod SampleAesEncryption
1867	raw := NoMethod(*s)
1868	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1869}
1870
1871// SegmentSettings: Segment settings for "ts", "fmp4" and "vtt".
1872type SegmentSettings struct {
1873	// IndividualSegments: Required. Create an individual segment file. The
1874	// default is `false`.
1875	IndividualSegments bool `json:"individualSegments,omitempty"`
1876
1877	// SegmentDuration: Duration of the segments in seconds. The default is
1878	// "6.0s". Note that `segmentDuration` must be greater than or equal
1879	// to `gopDuration` (#videostream), and `segmentDuration` must be
1880	// divisible by `gopDuration` (#videostream).
1881	SegmentDuration string `json:"segmentDuration,omitempty"`
1882
1883	// ForceSendFields is a list of field names (e.g. "IndividualSegments")
1884	// to unconditionally include in API requests. By default, fields with
1885	// empty values are omitted from API requests. However, any non-pointer,
1886	// non-interface field appearing in ForceSendFields will be sent to the
1887	// server regardless of whether the field is empty or not. This may be
1888	// used to include empty fields in Patch requests.
1889	ForceSendFields []string `json:"-"`
1890
1891	// NullFields is a list of field names (e.g. "IndividualSegments") to
1892	// include in API requests with the JSON null value. By default, fields
1893	// with empty values are omitted from API requests. However, any field
1894	// with an empty value appearing in NullFields will be sent to the
1895	// server as null. It is an error if a field in this list has a
1896	// non-empty value. This may be used to include null fields in Patch
1897	// requests.
1898	NullFields []string `json:"-"`
1899}
1900
1901func (s *SegmentSettings) MarshalJSON() ([]byte, error) {
1902	type NoMethod SegmentSettings
1903	raw := NoMethod(*s)
1904	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1905}
1906
1907// SpriteSheet: Sprite sheet configuration.
1908type SpriteSheet struct {
1909	// ColumnCount: The maximum number of sprites per row in a sprite sheet.
1910	// The default is 0, which indicates no maximum limit.
1911	ColumnCount int64 `json:"columnCount,omitempty"`
1912
1913	// EndTimeOffset: End time in seconds, relative to the output file
1914	// timeline. When `end_time_offset` is not specified, the sprites are
1915	// generated until the end of the output file.
1916	EndTimeOffset string `json:"endTimeOffset,omitempty"`
1917
1918	// FilePrefix: Required. File name prefix for the generated sprite
1919	// sheets. Each sprite sheet has an incremental 10-digit zero-padded
1920	// suffix starting from 0 before the extension, such as
1921	// "sprite_sheet0000000123.jpeg".
1922	FilePrefix string `json:"filePrefix,omitempty"`
1923
1924	// Format: Format type. The default is "jpeg". Supported formats: -
1925	// 'jpeg'
1926	Format string `json:"format,omitempty"`
1927
1928	// Interval: Starting from `0s`, create sprites at regular intervals.
1929	// Specify the interval value in seconds.
1930	Interval string `json:"interval,omitempty"`
1931
1932	// Quality: The quality of the generated sprite sheet. Enter a value
1933	// between 1 and 100, where 1 is the lowest quality and 100 is the
1934	// highest quality. The default is 100. A high quality value corresponds
1935	// to a low image data compression ratio.
1936	Quality int64 `json:"quality,omitempty"`
1937
1938	// RowCount: The maximum number of rows per sprite sheet. When the
1939	// sprite sheet is full, a new sprite sheet is created. The default is
1940	// 0, which indicates no maximum limit.
1941	RowCount int64 `json:"rowCount,omitempty"`
1942
1943	// SpriteHeightPixels: Required. The height of sprite in pixels. Must be
1944	// an even integer. To preserve the source aspect ratio, set the
1945	// SpriteSheet.sprite_height_pixels field or the
1946	// SpriteSheet.sprite_width_pixels field, but not both (the API will
1947	// automatically calculate the missing field).
1948	SpriteHeightPixels int64 `json:"spriteHeightPixels,omitempty"`
1949
1950	// SpriteWidthPixels: Required. The width of sprite in pixels. Must be
1951	// an even integer. To preserve the source aspect ratio, set the
1952	// SpriteSheet.sprite_width_pixels field or the
1953	// SpriteSheet.sprite_height_pixels field, but not both (the API will
1954	// automatically calculate the missing field).
1955	SpriteWidthPixels int64 `json:"spriteWidthPixels,omitempty"`
1956
1957	// StartTimeOffset: Start time in seconds, relative to the output file
1958	// timeline. Determines the first sprite to pick. The default is `0s`.
1959	StartTimeOffset string `json:"startTimeOffset,omitempty"`
1960
1961	// TotalCount: Total number of sprites. Create the specified number of
1962	// sprites distributed evenly across the timeline of the output media.
1963	// The default is 100.
1964	TotalCount int64 `json:"totalCount,omitempty"`
1965
1966	// ForceSendFields is a list of field names (e.g. "ColumnCount") to
1967	// unconditionally include in API requests. By default, fields with
1968	// empty values are omitted from API requests. However, any non-pointer,
1969	// non-interface field appearing in ForceSendFields will be sent to the
1970	// server regardless of whether the field is empty or not. This may be
1971	// used to include empty fields in Patch requests.
1972	ForceSendFields []string `json:"-"`
1973
1974	// NullFields is a list of field names (e.g. "ColumnCount") to include
1975	// in API requests with the JSON null value. By default, fields with
1976	// empty values are omitted from API requests. However, any field with
1977	// an empty value appearing in NullFields will be sent to the server as
1978	// null. It is an error if a field in this list has a non-empty value.
1979	// This may be used to include null fields in Patch requests.
1980	NullFields []string `json:"-"`
1981}
1982
1983func (s *SpriteSheet) MarshalJSON() ([]byte, error) {
1984	type NoMethod SpriteSheet
1985	raw := NoMethod(*s)
1986	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1987}
1988
1989// TextAtom: The mapping for the `Job.edit_list` atoms with text
1990// `EditAtom.inputs`.
1991type TextAtom struct {
1992	// Inputs: List of `Job.inputs` that should be embedded in this atom.
1993	// Only one input is supported.
1994	Inputs []*TextInput `json:"inputs,omitempty"`
1995
1996	// Key: Required. The `EditAtom.key` that references atom with text
1997	// inputs in the `Job.edit_list`.
1998	Key string `json:"key,omitempty"`
1999
2000	// ForceSendFields is a list of field names (e.g. "Inputs") to
2001	// unconditionally include in API requests. By default, fields with
2002	// empty values are omitted from API requests. However, any non-pointer,
2003	// non-interface field appearing in ForceSendFields will be sent to the
2004	// server regardless of whether the field is empty or not. This may be
2005	// used to include empty fields in Patch requests.
2006	ForceSendFields []string `json:"-"`
2007
2008	// NullFields is a list of field names (e.g. "Inputs") to include in API
2009	// requests with the JSON null value. By default, fields with empty
2010	// values are omitted from API requests. However, any field with an
2011	// empty value appearing in NullFields will be sent to the server as
2012	// null. It is an error if a field in this list has a non-empty value.
2013	// This may be used to include null fields in Patch requests.
2014	NullFields []string `json:"-"`
2015}
2016
2017func (s *TextAtom) MarshalJSON() ([]byte, error) {
2018	type NoMethod TextAtom
2019	raw := NoMethod(*s)
2020	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2021}
2022
2023// TextInput: Identifies which input file and track should be used.
2024type TextInput struct {
2025	// Key: Required. The `Input.key` that identifies the input file.
2026	Key string `json:"key,omitempty"`
2027
2028	// Track: Required. The zero-based index of the track in the input file.
2029	Track int64 `json:"track,omitempty"`
2030
2031	// ForceSendFields is a list of field names (e.g. "Key") to
2032	// unconditionally include in API requests. By default, fields with
2033	// empty values are omitted from API requests. However, any non-pointer,
2034	// non-interface field appearing in ForceSendFields will be sent to the
2035	// server regardless of whether the field is empty or not. This may be
2036	// used to include empty fields in Patch requests.
2037	ForceSendFields []string `json:"-"`
2038
2039	// NullFields is a list of field names (e.g. "Key") to include in API
2040	// requests with the JSON null value. By default, fields with empty
2041	// values are omitted from API requests. However, any field with an
2042	// empty value appearing in NullFields will be sent to the server as
2043	// null. It is an error if a field in this list has a non-empty value.
2044	// This may be used to include null fields in Patch requests.
2045	NullFields []string `json:"-"`
2046}
2047
2048func (s *TextInput) MarshalJSON() ([]byte, error) {
2049	type NoMethod TextInput
2050	raw := NoMethod(*s)
2051	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2052}
2053
2054// TextStream: Encoding of a text stream. For example, closed captions
2055// or subtitles.
2056type TextStream struct {
2057	// Codec: The codec for this text stream. The default is "webvtt".
2058	// Supported text codecs: - 'srt' - 'ttml' - 'cea608' - 'cea708' -
2059	// 'webvtt'
2060	Codec string `json:"codec,omitempty"`
2061
2062	// LanguageCode: Required. The BCP-47 language code, such as "en-US"
2063	// or "sr-Latn". For more information, see
2064	// https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
2065	LanguageCode string `json:"languageCode,omitempty"`
2066
2067	// Mapping: The mapping for the `Job.edit_list` atoms with text
2068	// `EditAtom.inputs`.
2069	Mapping []*TextAtom `json:"mapping,omitempty"`
2070
2071	// ForceSendFields is a list of field names (e.g. "Codec") to
2072	// unconditionally include in API requests. By default, fields with
2073	// empty values are omitted from API requests. However, any non-pointer,
2074	// non-interface field appearing in ForceSendFields will be sent to the
2075	// server regardless of whether the field is empty or not. This may be
2076	// used to include empty fields in Patch requests.
2077	ForceSendFields []string `json:"-"`
2078
2079	// NullFields is a list of field names (e.g. "Codec") to include in API
2080	// requests with the JSON null value. By default, fields with empty
2081	// values are omitted from API requests. However, any field with an
2082	// empty value appearing in NullFields will be sent to the server as
2083	// null. It is an error if a field in this list has a non-empty value.
2084	// This may be used to include null fields in Patch requests.
2085	NullFields []string `json:"-"`
2086}
2087
2088func (s *TextStream) MarshalJSON() ([]byte, error) {
2089	type NoMethod TextStream
2090	raw := NoMethod(*s)
2091	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2092}
2093
2094// VideoStream: Video stream resource.
2095type VideoStream struct {
2096	// AllowOpenGop: Specifies whether an open Group of Pictures (GOP)
2097	// structure should be allowed or not. The default is `false`.
2098	AllowOpenGop bool `json:"allowOpenGop,omitempty"`
2099
2100	// AqStrength: Specify the intensity of the adaptive quantizer (AQ).
2101	// Must be between 0 and 1, where 0 disables the quantizer and 1
2102	// maximizes the quantizer. A higher value equals a lower bitrate but
2103	// smoother image. The default is 0.
2104	AqStrength float64 `json:"aqStrength,omitempty"`
2105
2106	// BFrameCount: The number of consecutive B-frames. Must be greater than
2107	// or equal to zero. Must be less than `VideoStream.gop_frame_count` if
2108	// set. The default is 0.
2109	BFrameCount int64 `json:"bFrameCount,omitempty"`
2110
2111	// BPyramid: Allow B-pyramid for reference frame selection. This may not
2112	// be supported on all decoders. The default is `false`.
2113	BPyramid bool `json:"bPyramid,omitempty"`
2114
2115	// BitrateBps: Required. The video bitrate in bits per second. Must be
2116	// between 1 and 1,000,000,000.
2117	BitrateBps int64 `json:"bitrateBps,omitempty"`
2118
2119	// Codec: Codec type. The following codecs are supported: * `h264`
2120	// (default) * `h265` * `vp9`
2121	Codec string `json:"codec,omitempty"`
2122
2123	// CrfLevel: Target CRF level. Must be between 10 and 36, where 10 is
2124	// the highest quality and 36 is the most efficient compression. The
2125	// default is 21.
2126	CrfLevel int64 `json:"crfLevel,omitempty"`
2127
2128	// EnableTwoPass: Use two-pass encoding strategy to achieve better video
2129	// quality. `VideoStream.rate_control_mode` must be "vbr". The default
2130	// is `false`.
2131	EnableTwoPass bool `json:"enableTwoPass,omitempty"`
2132
2133	// EntropyCoder: The entropy coder to use. The default is "cabac".
2134	// Supported entropy coders: - 'cavlc' - 'cabac'
2135	EntropyCoder string `json:"entropyCoder,omitempty"`
2136
2137	// FrameRate: Required. The target video frame rate in frames per second
2138	// (FPS). Must be less than or equal to 120. Will default to the input
2139	// frame rate if larger than the input frame rate. The API will generate
2140	// an output FPS that is divisible by the input FPS, and smaller or
2141	// equal to the target FPS. See Calculate frame rate
2142	// (https://cloud.google.com/transcoder/docs/concepts/frame-rate) for
2143	// more information.
2144	FrameRate float64 `json:"frameRate,omitempty"`
2145
2146	// GopDuration: Select the GOP size based on the specified duration. The
2147	// default is "3s". Note that `gopDuration` must be less than or equal
2148	// to `segmentDuration` (#SegmentSettings), and `segmentDuration`
2149	// (#SegmentSettings) must be divisible by `gopDuration`.
2150	GopDuration string `json:"gopDuration,omitempty"`
2151
2152	// GopFrameCount: Select the GOP size based on the specified frame
2153	// count. Must be greater than zero.
2154	GopFrameCount int64 `json:"gopFrameCount,omitempty"`
2155
2156	// HeightPixels: The height of the video in pixels. Must be an even
2157	// integer. When not specified, the height is adjusted to match the
2158	// specified width and input aspect ratio. If both are omitted, the
2159	// input height is used.
2160	HeightPixels int64 `json:"heightPixels,omitempty"`
2161
2162	// PixelFormat: Pixel format to use. The default is "yuv420p".
2163	// Supported pixel formats: - 'yuv420p' pixel format. - 'yuv422p' pixel
2164	// format. - 'yuv444p' pixel format. - 'yuv420p10' 10-bit HDR pixel
2165	// format. - 'yuv422p10' 10-bit HDR pixel format. - 'yuv444p10' 10-bit
2166	// HDR pixel format. - 'yuv420p12' 12-bit HDR pixel format. -
2167	// 'yuv422p12' 12-bit HDR pixel format. - 'yuv444p12' 12-bit HDR pixel
2168	// format.
2169	PixelFormat string `json:"pixelFormat,omitempty"`
2170
2171	// Preset: Enforces the specified codec preset. The default is
2172	// `veryfast`. The available options are FFmpeg-compatible. Note that
2173	// certain values for this field may cause the transcoder to override
2174	// other fields you set in the `VideoStream` message.
2175	Preset string `json:"preset,omitempty"`
2176
2177	// Profile: Enforces the specified codec profile. The following profiles
2178	// are supported: * `baseline` * `main` * `high` (default) The available
2179	// options are FFmpeg-compatible. Note that certain values for this
2180	// field may cause the transcoder to override other fields you set in
2181	// the `VideoStream` message.
2182	Profile string `json:"profile,omitempty"`
2183
2184	// RateControlMode: Specify the `rate_control_mode`. The default is
2185	// "vbr". Supported rate control modes: - 'vbr' - variable bitrate -
2186	// 'crf' - constant rate factor
2187	RateControlMode string `json:"rateControlMode,omitempty"`
2188
2189	// Tune: Enforces the specified codec tune. The available options are
2190	// FFmpeg-compatible. Note that certain values for this field may cause
2191	// the transcoder to override other fields you set in the `VideoStream`
2192	// message.
2193	Tune string `json:"tune,omitempty"`
2194
2195	// VbvFullnessBits: Initial fullness of the Video Buffering Verifier
2196	// (VBV) buffer in bits. Must be greater than zero. The default is equal
2197	// to 90% of `VideoStream.vbv_size_bits`.
2198	VbvFullnessBits int64 `json:"vbvFullnessBits,omitempty"`
2199
2200	// VbvSizeBits: Size of the Video Buffering Verifier (VBV) buffer in
2201	// bits. Must be greater than zero. The default is equal to
2202	// `VideoStream.bitrate_bps`.
2203	VbvSizeBits int64 `json:"vbvSizeBits,omitempty"`
2204
2205	// WidthPixels: The width of the video in pixels. Must be an even
2206	// integer. When not specified, the width is adjusted to match the
2207	// specified height and input aspect ratio. If both are omitted, the
2208	// input width is used.
2209	WidthPixels int64 `json:"widthPixels,omitempty"`
2210
2211	// ForceSendFields is a list of field names (e.g. "AllowOpenGop") to
2212	// unconditionally include in API requests. By default, fields with
2213	// empty values are omitted from API requests. However, any non-pointer,
2214	// non-interface field appearing in ForceSendFields will be sent to the
2215	// server regardless of whether the field is empty or not. This may be
2216	// used to include empty fields in Patch requests.
2217	ForceSendFields []string `json:"-"`
2218
2219	// NullFields is a list of field names (e.g. "AllowOpenGop") to include
2220	// in API requests with the JSON null value. By default, fields with
2221	// empty values are omitted from API requests. However, any field with
2222	// an empty value appearing in NullFields will be sent to the server as
2223	// null. It is an error if a field in this list has a non-empty value.
2224	// This may be used to include null fields in Patch requests.
2225	NullFields []string `json:"-"`
2226}
2227
2228func (s *VideoStream) MarshalJSON() ([]byte, error) {
2229	type NoMethod VideoStream
2230	raw := NoMethod(*s)
2231	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2232}
2233
2234func (s *VideoStream) UnmarshalJSON(data []byte) error {
2235	type NoMethod VideoStream
2236	var s1 struct {
2237		AqStrength gensupport.JSONFloat64 `json:"aqStrength"`
2238		FrameRate  gensupport.JSONFloat64 `json:"frameRate"`
2239		*NoMethod
2240	}
2241	s1.NoMethod = (*NoMethod)(s)
2242	if err := json.Unmarshal(data, &s1); err != nil {
2243		return err
2244	}
2245	s.AqStrength = float64(s1.AqStrength)
2246	s.FrameRate = float64(s1.FrameRate)
2247	return nil
2248}
2249
2250// method id "transcoder.projects.locations.jobTemplates.create":
2251
2252type ProjectsLocationsJobTemplatesCreateCall struct {
2253	s           *Service
2254	parent      string
2255	jobtemplate *JobTemplate
2256	urlParams_  gensupport.URLParams
2257	ctx_        context.Context
2258	header_     http.Header
2259}
2260
2261// Create: Creates a job template in the specified region.
2262//
2263// - parent: The parent location to create this job template. Format:
2264//   `projects/{project}/locations/{location}`.
2265func (r *ProjectsLocationsJobTemplatesService) Create(parent string, jobtemplate *JobTemplate) *ProjectsLocationsJobTemplatesCreateCall {
2266	c := &ProjectsLocationsJobTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2267	c.parent = parent
2268	c.jobtemplate = jobtemplate
2269	return c
2270}
2271
2272// JobTemplateId sets the optional parameter "jobTemplateId": Required.
2273// The ID to use for the job template, which will become the final
2274// component of the job template's resource name. This value should be
2275// 4-63 characters, and valid characters must match the regular
2276// expression `a-zA-Z*`.
2277func (c *ProjectsLocationsJobTemplatesCreateCall) JobTemplateId(jobTemplateId string) *ProjectsLocationsJobTemplatesCreateCall {
2278	c.urlParams_.Set("jobTemplateId", jobTemplateId)
2279	return c
2280}
2281
2282// Fields allows partial responses to be retrieved. See
2283// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2284// for more information.
2285func (c *ProjectsLocationsJobTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobTemplatesCreateCall {
2286	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2287	return c
2288}
2289
2290// Context sets the context to be used in this call's Do method. Any
2291// pending HTTP request will be aborted if the provided context is
2292// canceled.
2293func (c *ProjectsLocationsJobTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsJobTemplatesCreateCall {
2294	c.ctx_ = ctx
2295	return c
2296}
2297
2298// Header returns an http.Header that can be modified by the caller to
2299// add HTTP headers to the request.
2300func (c *ProjectsLocationsJobTemplatesCreateCall) Header() http.Header {
2301	if c.header_ == nil {
2302		c.header_ = make(http.Header)
2303	}
2304	return c.header_
2305}
2306
2307func (c *ProjectsLocationsJobTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
2308	reqHeaders := make(http.Header)
2309	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
2310	for k, v := range c.header_ {
2311		reqHeaders[k] = v
2312	}
2313	reqHeaders.Set("User-Agent", c.s.userAgent())
2314	var body io.Reader = nil
2315	body, err := googleapi.WithoutDataWrapper.JSONReader(c.jobtemplate)
2316	if err != nil {
2317		return nil, err
2318	}
2319	reqHeaders.Set("Content-Type", "application/json")
2320	c.urlParams_.Set("alt", alt)
2321	c.urlParams_.Set("prettyPrint", "false")
2322	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/jobTemplates")
2323	urls += "?" + c.urlParams_.Encode()
2324	req, err := http.NewRequest("POST", urls, body)
2325	if err != nil {
2326		return nil, err
2327	}
2328	req.Header = reqHeaders
2329	googleapi.Expand(req.URL, map[string]string{
2330		"parent": c.parent,
2331	})
2332	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2333}
2334
2335// Do executes the "transcoder.projects.locations.jobTemplates.create" call.
2336// Exactly one of *JobTemplate or error will be non-nil. Any non-2xx
2337// status code is an error. Response headers are in either
2338// *JobTemplate.ServerResponse.Header or (if a response was returned at
2339// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2340// to check whether the returned error was because
2341// http.StatusNotModified was returned.
2342func (c *ProjectsLocationsJobTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*JobTemplate, error) {
2343	gensupport.SetOptions(c.urlParams_, opts...)
2344	res, err := c.doRequest("json")
2345	if res != nil && res.StatusCode == http.StatusNotModified {
2346		if res.Body != nil {
2347			res.Body.Close()
2348		}
2349		return nil, &googleapi.Error{
2350			Code:   res.StatusCode,
2351			Header: res.Header,
2352		}
2353	}
2354	if err != nil {
2355		return nil, err
2356	}
2357	defer googleapi.CloseBody(res)
2358	if err := googleapi.CheckResponse(res); err != nil {
2359		return nil, err
2360	}
2361	ret := &JobTemplate{
2362		ServerResponse: googleapi.ServerResponse{
2363			Header:         res.Header,
2364			HTTPStatusCode: res.StatusCode,
2365		},
2366	}
2367	target := &ret
2368	if err := gensupport.DecodeResponse(target, res); err != nil {
2369		return nil, err
2370	}
2371	return ret, nil
2372	// {
2373	//   "description": "Creates a job template in the specified region.",
2374	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobTemplates",
2375	//   "httpMethod": "POST",
2376	//   "id": "transcoder.projects.locations.jobTemplates.create",
2377	//   "parameterOrder": [
2378	//     "parent"
2379	//   ],
2380	//   "parameters": {
2381	//     "jobTemplateId": {
2382	//       "description": "Required. The ID to use for the job template, which will become the final component of the job template's resource name. This value should be 4-63 characters, and valid characters must match the regular expression `a-zA-Z*`.",
2383	//       "location": "query",
2384	//       "type": "string"
2385	//     },
2386	//     "parent": {
2387	//       "description": "Required. The parent location to create this job template. Format: `projects/{project}/locations/{location}`",
2388	//       "location": "path",
2389	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
2390	//       "required": true,
2391	//       "type": "string"
2392	//     }
2393	//   },
2394	//   "path": "v1beta1/{+parent}/jobTemplates",
2395	//   "request": {
2396	//     "$ref": "JobTemplate"
2397	//   },
2398	//   "response": {
2399	//     "$ref": "JobTemplate"
2400	//   },
2401	//   "scopes": [
2402	//     "https://www.googleapis.com/auth/cloud-platform"
2403	//   ]
2404	// }
2405
2406}
2407
2408// method id "transcoder.projects.locations.jobTemplates.delete":
2409
2410type ProjectsLocationsJobTemplatesDeleteCall struct {
2411	s          *Service
2412	name       string
2413	urlParams_ gensupport.URLParams
2414	ctx_       context.Context
2415	header_    http.Header
2416}
2417
2418// Delete: Deletes a job template.
2419//
2420// - name: The name of the job template to delete.
2421//   `projects/{project}/locations/{location}/jobTemplates/{job_template}
2422//   `.
2423func (r *ProjectsLocationsJobTemplatesService) Delete(name string) *ProjectsLocationsJobTemplatesDeleteCall {
2424	c := &ProjectsLocationsJobTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2425	c.name = name
2426	return c
2427}
2428
2429// Fields allows partial responses to be retrieved. See
2430// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2431// for more information.
2432func (c *ProjectsLocationsJobTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobTemplatesDeleteCall {
2433	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2434	return c
2435}
2436
2437// Context sets the context to be used in this call's Do method. Any
2438// pending HTTP request will be aborted if the provided context is
2439// canceled.
2440func (c *ProjectsLocationsJobTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsJobTemplatesDeleteCall {
2441	c.ctx_ = ctx
2442	return c
2443}
2444
2445// Header returns an http.Header that can be modified by the caller to
2446// add HTTP headers to the request.
2447func (c *ProjectsLocationsJobTemplatesDeleteCall) Header() http.Header {
2448	if c.header_ == nil {
2449		c.header_ = make(http.Header)
2450	}
2451	return c.header_
2452}
2453
2454func (c *ProjectsLocationsJobTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
2455	reqHeaders := make(http.Header)
2456	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
2457	for k, v := range c.header_ {
2458		reqHeaders[k] = v
2459	}
2460	reqHeaders.Set("User-Agent", c.s.userAgent())
2461	var body io.Reader = nil
2462	c.urlParams_.Set("alt", alt)
2463	c.urlParams_.Set("prettyPrint", "false")
2464	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
2465	urls += "?" + c.urlParams_.Encode()
2466	req, err := http.NewRequest("DELETE", urls, body)
2467	if err != nil {
2468		return nil, err
2469	}
2470	req.Header = reqHeaders
2471	googleapi.Expand(req.URL, map[string]string{
2472		"name": c.name,
2473	})
2474	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2475}
2476
2477// Do executes the "transcoder.projects.locations.jobTemplates.delete" call.
2478// Exactly one of *Empty or error will be non-nil. Any non-2xx status
2479// code is an error. Response headers are in either
2480// *Empty.ServerResponse.Header or (if a response was returned at all)
2481// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
2482// check whether the returned error was because http.StatusNotModified
2483// was returned.
2484func (c *ProjectsLocationsJobTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
2485	gensupport.SetOptions(c.urlParams_, opts...)
2486	res, err := c.doRequest("json")
2487	if res != nil && res.StatusCode == http.StatusNotModified {
2488		if res.Body != nil {
2489			res.Body.Close()
2490		}
2491		return nil, &googleapi.Error{
2492			Code:   res.StatusCode,
2493			Header: res.Header,
2494		}
2495	}
2496	if err != nil {
2497		return nil, err
2498	}
2499	defer googleapi.CloseBody(res)
2500	if err := googleapi.CheckResponse(res); err != nil {
2501		return nil, err
2502	}
2503	ret := &Empty{
2504		ServerResponse: googleapi.ServerResponse{
2505			Header:         res.Header,
2506			HTTPStatusCode: res.StatusCode,
2507		},
2508	}
2509	target := &ret
2510	if err := gensupport.DecodeResponse(target, res); err != nil {
2511		return nil, err
2512	}
2513	return ret, nil
2514	// {
2515	//   "description": "Deletes a job template.",
2516	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobTemplates/{jobTemplatesId}",
2517	//   "httpMethod": "DELETE",
2518	//   "id": "transcoder.projects.locations.jobTemplates.delete",
2519	//   "parameterOrder": [
2520	//     "name"
2521	//   ],
2522	//   "parameters": {
2523	//     "name": {
2524	//       "description": "Required. The name of the job template to delete. `projects/{project}/locations/{location}/jobTemplates/{job_template}`",
2525	//       "location": "path",
2526	//       "pattern": "^projects/[^/]+/locations/[^/]+/jobTemplates/[^/]+$",
2527	//       "required": true,
2528	//       "type": "string"
2529	//     }
2530	//   },
2531	//   "path": "v1beta1/{+name}",
2532	//   "response": {
2533	//     "$ref": "Empty"
2534	//   },
2535	//   "scopes": [
2536	//     "https://www.googleapis.com/auth/cloud-platform"
2537	//   ]
2538	// }
2539
2540}
2541
2542// method id "transcoder.projects.locations.jobTemplates.get":
2543
2544type ProjectsLocationsJobTemplatesGetCall struct {
2545	s            *Service
2546	name         string
2547	urlParams_   gensupport.URLParams
2548	ifNoneMatch_ string
2549	ctx_         context.Context
2550	header_      http.Header
2551}
2552
2553// Get: Returns the job template data.
2554//
2555// - name: The name of the job template to retrieve. Format:
2556//   `projects/{project}/locations/{location}/jobTemplates/{job_template}
2557//   `.
2558func (r *ProjectsLocationsJobTemplatesService) Get(name string) *ProjectsLocationsJobTemplatesGetCall {
2559	c := &ProjectsLocationsJobTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2560	c.name = name
2561	return c
2562}
2563
2564// Fields allows partial responses to be retrieved. See
2565// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2566// for more information.
2567func (c *ProjectsLocationsJobTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobTemplatesGetCall {
2568	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2569	return c
2570}
2571
2572// IfNoneMatch sets the optional parameter which makes the operation
2573// fail if the object's ETag matches the given value. This is useful for
2574// getting updates only after the object has changed since the last
2575// request. Use googleapi.IsNotModified to check whether the response
2576// error from Do is the result of In-None-Match.
2577func (c *ProjectsLocationsJobTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobTemplatesGetCall {
2578	c.ifNoneMatch_ = entityTag
2579	return c
2580}
2581
2582// Context sets the context to be used in this call's Do method. Any
2583// pending HTTP request will be aborted if the provided context is
2584// canceled.
2585func (c *ProjectsLocationsJobTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsJobTemplatesGetCall {
2586	c.ctx_ = ctx
2587	return c
2588}
2589
2590// Header returns an http.Header that can be modified by the caller to
2591// add HTTP headers to the request.
2592func (c *ProjectsLocationsJobTemplatesGetCall) Header() http.Header {
2593	if c.header_ == nil {
2594		c.header_ = make(http.Header)
2595	}
2596	return c.header_
2597}
2598
2599func (c *ProjectsLocationsJobTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
2600	reqHeaders := make(http.Header)
2601	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
2602	for k, v := range c.header_ {
2603		reqHeaders[k] = v
2604	}
2605	reqHeaders.Set("User-Agent", c.s.userAgent())
2606	if c.ifNoneMatch_ != "" {
2607		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2608	}
2609	var body io.Reader = nil
2610	c.urlParams_.Set("alt", alt)
2611	c.urlParams_.Set("prettyPrint", "false")
2612	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
2613	urls += "?" + c.urlParams_.Encode()
2614	req, err := http.NewRequest("GET", urls, body)
2615	if err != nil {
2616		return nil, err
2617	}
2618	req.Header = reqHeaders
2619	googleapi.Expand(req.URL, map[string]string{
2620		"name": c.name,
2621	})
2622	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2623}
2624
2625// Do executes the "transcoder.projects.locations.jobTemplates.get" call.
2626// Exactly one of *JobTemplate or error will be non-nil. Any non-2xx
2627// status code is an error. Response headers are in either
2628// *JobTemplate.ServerResponse.Header or (if a response was returned at
2629// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
2630// to check whether the returned error was because
2631// http.StatusNotModified was returned.
2632func (c *ProjectsLocationsJobTemplatesGetCall) Do(opts ...googleapi.CallOption) (*JobTemplate, error) {
2633	gensupport.SetOptions(c.urlParams_, opts...)
2634	res, err := c.doRequest("json")
2635	if res != nil && res.StatusCode == http.StatusNotModified {
2636		if res.Body != nil {
2637			res.Body.Close()
2638		}
2639		return nil, &googleapi.Error{
2640			Code:   res.StatusCode,
2641			Header: res.Header,
2642		}
2643	}
2644	if err != nil {
2645		return nil, err
2646	}
2647	defer googleapi.CloseBody(res)
2648	if err := googleapi.CheckResponse(res); err != nil {
2649		return nil, err
2650	}
2651	ret := &JobTemplate{
2652		ServerResponse: googleapi.ServerResponse{
2653			Header:         res.Header,
2654			HTTPStatusCode: res.StatusCode,
2655		},
2656	}
2657	target := &ret
2658	if err := gensupport.DecodeResponse(target, res); err != nil {
2659		return nil, err
2660	}
2661	return ret, nil
2662	// {
2663	//   "description": "Returns the job template data.",
2664	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobTemplates/{jobTemplatesId}",
2665	//   "httpMethod": "GET",
2666	//   "id": "transcoder.projects.locations.jobTemplates.get",
2667	//   "parameterOrder": [
2668	//     "name"
2669	//   ],
2670	//   "parameters": {
2671	//     "name": {
2672	//       "description": "Required. The name of the job template to retrieve. Format: `projects/{project}/locations/{location}/jobTemplates/{job_template}`",
2673	//       "location": "path",
2674	//       "pattern": "^projects/[^/]+/locations/[^/]+/jobTemplates/[^/]+$",
2675	//       "required": true,
2676	//       "type": "string"
2677	//     }
2678	//   },
2679	//   "path": "v1beta1/{+name}",
2680	//   "response": {
2681	//     "$ref": "JobTemplate"
2682	//   },
2683	//   "scopes": [
2684	//     "https://www.googleapis.com/auth/cloud-platform"
2685	//   ]
2686	// }
2687
2688}
2689
2690// method id "transcoder.projects.locations.jobTemplates.list":
2691
2692type ProjectsLocationsJobTemplatesListCall struct {
2693	s            *Service
2694	parent       string
2695	urlParams_   gensupport.URLParams
2696	ifNoneMatch_ string
2697	ctx_         context.Context
2698	header_      http.Header
2699}
2700
2701// List: Lists job templates in the specified region.
2702//
2703// - parent: The parent location from which to retrieve the collection
2704//   of job templates. Format: `projects/{project}/locations/{location}`.
2705func (r *ProjectsLocationsJobTemplatesService) List(parent string) *ProjectsLocationsJobTemplatesListCall {
2706	c := &ProjectsLocationsJobTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2707	c.parent = parent
2708	return c
2709}
2710
2711// PageSize sets the optional parameter "pageSize": The maximum number
2712// of items to return.
2713func (c *ProjectsLocationsJobTemplatesListCall) PageSize(pageSize int64) *ProjectsLocationsJobTemplatesListCall {
2714	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
2715	return c
2716}
2717
2718// PageToken sets the optional parameter "pageToken": The
2719// `next_page_token` value returned from a previous List request, if
2720// any.
2721func (c *ProjectsLocationsJobTemplatesListCall) PageToken(pageToken string) *ProjectsLocationsJobTemplatesListCall {
2722	c.urlParams_.Set("pageToken", pageToken)
2723	return c
2724}
2725
2726// Fields allows partial responses to be retrieved. See
2727// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2728// for more information.
2729func (c *ProjectsLocationsJobTemplatesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobTemplatesListCall {
2730	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2731	return c
2732}
2733
2734// IfNoneMatch sets the optional parameter which makes the operation
2735// fail if the object's ETag matches the given value. This is useful for
2736// getting updates only after the object has changed since the last
2737// request. Use googleapi.IsNotModified to check whether the response
2738// error from Do is the result of In-None-Match.
2739func (c *ProjectsLocationsJobTemplatesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobTemplatesListCall {
2740	c.ifNoneMatch_ = entityTag
2741	return c
2742}
2743
2744// Context sets the context to be used in this call's Do method. Any
2745// pending HTTP request will be aborted if the provided context is
2746// canceled.
2747func (c *ProjectsLocationsJobTemplatesListCall) Context(ctx context.Context) *ProjectsLocationsJobTemplatesListCall {
2748	c.ctx_ = ctx
2749	return c
2750}
2751
2752// Header returns an http.Header that can be modified by the caller to
2753// add HTTP headers to the request.
2754func (c *ProjectsLocationsJobTemplatesListCall) Header() http.Header {
2755	if c.header_ == nil {
2756		c.header_ = make(http.Header)
2757	}
2758	return c.header_
2759}
2760
2761func (c *ProjectsLocationsJobTemplatesListCall) doRequest(alt string) (*http.Response, error) {
2762	reqHeaders := make(http.Header)
2763	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
2764	for k, v := range c.header_ {
2765		reqHeaders[k] = v
2766	}
2767	reqHeaders.Set("User-Agent", c.s.userAgent())
2768	if c.ifNoneMatch_ != "" {
2769		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2770	}
2771	var body io.Reader = nil
2772	c.urlParams_.Set("alt", alt)
2773	c.urlParams_.Set("prettyPrint", "false")
2774	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/jobTemplates")
2775	urls += "?" + c.urlParams_.Encode()
2776	req, err := http.NewRequest("GET", urls, body)
2777	if err != nil {
2778		return nil, err
2779	}
2780	req.Header = reqHeaders
2781	googleapi.Expand(req.URL, map[string]string{
2782		"parent": c.parent,
2783	})
2784	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2785}
2786
2787// Do executes the "transcoder.projects.locations.jobTemplates.list" call.
2788// Exactly one of *ListJobTemplatesResponse or error will be non-nil.
2789// Any non-2xx status code is an error. Response headers are in either
2790// *ListJobTemplatesResponse.ServerResponse.Header or (if a response was
2791// returned at all) in error.(*googleapi.Error).Header. Use
2792// googleapi.IsNotModified to check whether the returned error was
2793// because http.StatusNotModified was returned.
2794func (c *ProjectsLocationsJobTemplatesListCall) Do(opts ...googleapi.CallOption) (*ListJobTemplatesResponse, error) {
2795	gensupport.SetOptions(c.urlParams_, opts...)
2796	res, err := c.doRequest("json")
2797	if res != nil && res.StatusCode == http.StatusNotModified {
2798		if res.Body != nil {
2799			res.Body.Close()
2800		}
2801		return nil, &googleapi.Error{
2802			Code:   res.StatusCode,
2803			Header: res.Header,
2804		}
2805	}
2806	if err != nil {
2807		return nil, err
2808	}
2809	defer googleapi.CloseBody(res)
2810	if err := googleapi.CheckResponse(res); err != nil {
2811		return nil, err
2812	}
2813	ret := &ListJobTemplatesResponse{
2814		ServerResponse: googleapi.ServerResponse{
2815			Header:         res.Header,
2816			HTTPStatusCode: res.StatusCode,
2817		},
2818	}
2819	target := &ret
2820	if err := gensupport.DecodeResponse(target, res); err != nil {
2821		return nil, err
2822	}
2823	return ret, nil
2824	// {
2825	//   "description": "Lists job templates in the specified region.",
2826	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobTemplates",
2827	//   "httpMethod": "GET",
2828	//   "id": "transcoder.projects.locations.jobTemplates.list",
2829	//   "parameterOrder": [
2830	//     "parent"
2831	//   ],
2832	//   "parameters": {
2833	//     "pageSize": {
2834	//       "description": "The maximum number of items to return.",
2835	//       "format": "int32",
2836	//       "location": "query",
2837	//       "type": "integer"
2838	//     },
2839	//     "pageToken": {
2840	//       "description": "The `next_page_token` value returned from a previous List request, if any.",
2841	//       "location": "query",
2842	//       "type": "string"
2843	//     },
2844	//     "parent": {
2845	//       "description": "Required. The parent location from which to retrieve the collection of job templates. Format: `projects/{project}/locations/{location}`",
2846	//       "location": "path",
2847	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
2848	//       "required": true,
2849	//       "type": "string"
2850	//     }
2851	//   },
2852	//   "path": "v1beta1/{+parent}/jobTemplates",
2853	//   "response": {
2854	//     "$ref": "ListJobTemplatesResponse"
2855	//   },
2856	//   "scopes": [
2857	//     "https://www.googleapis.com/auth/cloud-platform"
2858	//   ]
2859	// }
2860
2861}
2862
2863// Pages invokes f for each page of results.
2864// A non-nil error returned from f will halt the iteration.
2865// The provided context supersedes any context provided to the Context method.
2866func (c *ProjectsLocationsJobTemplatesListCall) Pages(ctx context.Context, f func(*ListJobTemplatesResponse) error) error {
2867	c.ctx_ = ctx
2868	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
2869	for {
2870		x, err := c.Do()
2871		if err != nil {
2872			return err
2873		}
2874		if err := f(x); err != nil {
2875			return err
2876		}
2877		if x.NextPageToken == "" {
2878			return nil
2879		}
2880		c.PageToken(x.NextPageToken)
2881	}
2882}
2883
2884// method id "transcoder.projects.locations.jobs.create":
2885
2886type ProjectsLocationsJobsCreateCall struct {
2887	s          *Service
2888	parent     string
2889	job        *Job
2890	urlParams_ gensupport.URLParams
2891	ctx_       context.Context
2892	header_    http.Header
2893}
2894
2895// Create: Creates a job in the specified region.
2896//
2897// - parent: The parent location to create and process this job. Format:
2898//   `projects/{project}/locations/{location}`.
2899func (r *ProjectsLocationsJobsService) Create(parent string, job *Job) *ProjectsLocationsJobsCreateCall {
2900	c := &ProjectsLocationsJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2901	c.parent = parent
2902	c.job = job
2903	return c
2904}
2905
2906// Fields allows partial responses to be retrieved. See
2907// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2908// for more information.
2909func (c *ProjectsLocationsJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsCreateCall {
2910	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2911	return c
2912}
2913
2914// Context sets the context to be used in this call's Do method. Any
2915// pending HTTP request will be aborted if the provided context is
2916// canceled.
2917func (c *ProjectsLocationsJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsJobsCreateCall {
2918	c.ctx_ = ctx
2919	return c
2920}
2921
2922// Header returns an http.Header that can be modified by the caller to
2923// add HTTP headers to the request.
2924func (c *ProjectsLocationsJobsCreateCall) Header() http.Header {
2925	if c.header_ == nil {
2926		c.header_ = make(http.Header)
2927	}
2928	return c.header_
2929}
2930
2931func (c *ProjectsLocationsJobsCreateCall) doRequest(alt string) (*http.Response, error) {
2932	reqHeaders := make(http.Header)
2933	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
2934	for k, v := range c.header_ {
2935		reqHeaders[k] = v
2936	}
2937	reqHeaders.Set("User-Agent", c.s.userAgent())
2938	var body io.Reader = nil
2939	body, err := googleapi.WithoutDataWrapper.JSONReader(c.job)
2940	if err != nil {
2941		return nil, err
2942	}
2943	reqHeaders.Set("Content-Type", "application/json")
2944	c.urlParams_.Set("alt", alt)
2945	c.urlParams_.Set("prettyPrint", "false")
2946	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/jobs")
2947	urls += "?" + c.urlParams_.Encode()
2948	req, err := http.NewRequest("POST", urls, body)
2949	if err != nil {
2950		return nil, err
2951	}
2952	req.Header = reqHeaders
2953	googleapi.Expand(req.URL, map[string]string{
2954		"parent": c.parent,
2955	})
2956	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2957}
2958
2959// Do executes the "transcoder.projects.locations.jobs.create" call.
2960// Exactly one of *Job or error will be non-nil. Any non-2xx status code
2961// is an error. Response headers are in either
2962// *Job.ServerResponse.Header or (if a response was returned at all) in
2963// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2964// whether the returned error was because http.StatusNotModified was
2965// returned.
2966func (c *ProjectsLocationsJobsCreateCall) Do(opts ...googleapi.CallOption) (*Job, error) {
2967	gensupport.SetOptions(c.urlParams_, opts...)
2968	res, err := c.doRequest("json")
2969	if res != nil && res.StatusCode == http.StatusNotModified {
2970		if res.Body != nil {
2971			res.Body.Close()
2972		}
2973		return nil, &googleapi.Error{
2974			Code:   res.StatusCode,
2975			Header: res.Header,
2976		}
2977	}
2978	if err != nil {
2979		return nil, err
2980	}
2981	defer googleapi.CloseBody(res)
2982	if err := googleapi.CheckResponse(res); err != nil {
2983		return nil, err
2984	}
2985	ret := &Job{
2986		ServerResponse: googleapi.ServerResponse{
2987			Header:         res.Header,
2988			HTTPStatusCode: res.StatusCode,
2989		},
2990	}
2991	target := &ret
2992	if err := gensupport.DecodeResponse(target, res); err != nil {
2993		return nil, err
2994	}
2995	return ret, nil
2996	// {
2997	//   "description": "Creates a job in the specified region.",
2998	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs",
2999	//   "httpMethod": "POST",
3000	//   "id": "transcoder.projects.locations.jobs.create",
3001	//   "parameterOrder": [
3002	//     "parent"
3003	//   ],
3004	//   "parameters": {
3005	//     "parent": {
3006	//       "description": "Required. The parent location to create and process this job. Format: `projects/{project}/locations/{location}`",
3007	//       "location": "path",
3008	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
3009	//       "required": true,
3010	//       "type": "string"
3011	//     }
3012	//   },
3013	//   "path": "v1beta1/{+parent}/jobs",
3014	//   "request": {
3015	//     "$ref": "Job"
3016	//   },
3017	//   "response": {
3018	//     "$ref": "Job"
3019	//   },
3020	//   "scopes": [
3021	//     "https://www.googleapis.com/auth/cloud-platform"
3022	//   ]
3023	// }
3024
3025}
3026
3027// method id "transcoder.projects.locations.jobs.delete":
3028
3029type ProjectsLocationsJobsDeleteCall struct {
3030	s          *Service
3031	name       string
3032	urlParams_ gensupport.URLParams
3033	ctx_       context.Context
3034	header_    http.Header
3035}
3036
3037// Delete: Deletes a job.
3038//
3039// - name: The name of the job to delete. Format:
3040//   `projects/{project}/locations/{location}/jobs/{job}`.
3041func (r *ProjectsLocationsJobsService) Delete(name string) *ProjectsLocationsJobsDeleteCall {
3042	c := &ProjectsLocationsJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3043	c.name = name
3044	return c
3045}
3046
3047// Fields allows partial responses to be retrieved. See
3048// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3049// for more information.
3050func (c *ProjectsLocationsJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsDeleteCall {
3051	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3052	return c
3053}
3054
3055// Context sets the context to be used in this call's Do method. Any
3056// pending HTTP request will be aborted if the provided context is
3057// canceled.
3058func (c *ProjectsLocationsJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsJobsDeleteCall {
3059	c.ctx_ = ctx
3060	return c
3061}
3062
3063// Header returns an http.Header that can be modified by the caller to
3064// add HTTP headers to the request.
3065func (c *ProjectsLocationsJobsDeleteCall) Header() http.Header {
3066	if c.header_ == nil {
3067		c.header_ = make(http.Header)
3068	}
3069	return c.header_
3070}
3071
3072func (c *ProjectsLocationsJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
3073	reqHeaders := make(http.Header)
3074	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
3075	for k, v := range c.header_ {
3076		reqHeaders[k] = v
3077	}
3078	reqHeaders.Set("User-Agent", c.s.userAgent())
3079	var body io.Reader = nil
3080	c.urlParams_.Set("alt", alt)
3081	c.urlParams_.Set("prettyPrint", "false")
3082	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3083	urls += "?" + c.urlParams_.Encode()
3084	req, err := http.NewRequest("DELETE", urls, body)
3085	if err != nil {
3086		return nil, err
3087	}
3088	req.Header = reqHeaders
3089	googleapi.Expand(req.URL, map[string]string{
3090		"name": c.name,
3091	})
3092	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3093}
3094
3095// Do executes the "transcoder.projects.locations.jobs.delete" call.
3096// Exactly one of *Empty or error will be non-nil. Any non-2xx status
3097// code is an error. Response headers are in either
3098// *Empty.ServerResponse.Header or (if a response was returned at all)
3099// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3100// check whether the returned error was because http.StatusNotModified
3101// was returned.
3102func (c *ProjectsLocationsJobsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
3103	gensupport.SetOptions(c.urlParams_, opts...)
3104	res, err := c.doRequest("json")
3105	if res != nil && res.StatusCode == http.StatusNotModified {
3106		if res.Body != nil {
3107			res.Body.Close()
3108		}
3109		return nil, &googleapi.Error{
3110			Code:   res.StatusCode,
3111			Header: res.Header,
3112		}
3113	}
3114	if err != nil {
3115		return nil, err
3116	}
3117	defer googleapi.CloseBody(res)
3118	if err := googleapi.CheckResponse(res); err != nil {
3119		return nil, err
3120	}
3121	ret := &Empty{
3122		ServerResponse: googleapi.ServerResponse{
3123			Header:         res.Header,
3124			HTTPStatusCode: res.StatusCode,
3125		},
3126	}
3127	target := &ret
3128	if err := gensupport.DecodeResponse(target, res); err != nil {
3129		return nil, err
3130	}
3131	return ret, nil
3132	// {
3133	//   "description": "Deletes a job.",
3134	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}",
3135	//   "httpMethod": "DELETE",
3136	//   "id": "transcoder.projects.locations.jobs.delete",
3137	//   "parameterOrder": [
3138	//     "name"
3139	//   ],
3140	//   "parameters": {
3141	//     "name": {
3142	//       "description": "Required. The name of the job to delete. Format: `projects/{project}/locations/{location}/jobs/{job}`",
3143	//       "location": "path",
3144	//       "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$",
3145	//       "required": true,
3146	//       "type": "string"
3147	//     }
3148	//   },
3149	//   "path": "v1beta1/{+name}",
3150	//   "response": {
3151	//     "$ref": "Empty"
3152	//   },
3153	//   "scopes": [
3154	//     "https://www.googleapis.com/auth/cloud-platform"
3155	//   ]
3156	// }
3157
3158}
3159
3160// method id "transcoder.projects.locations.jobs.get":
3161
3162type ProjectsLocationsJobsGetCall struct {
3163	s            *Service
3164	name         string
3165	urlParams_   gensupport.URLParams
3166	ifNoneMatch_ string
3167	ctx_         context.Context
3168	header_      http.Header
3169}
3170
3171// Get: Returns the job data.
3172//
3173// - name: The name of the job to retrieve. Format:
3174//   `projects/{project}/locations/{location}/jobs/{job}`.
3175func (r *ProjectsLocationsJobsService) Get(name string) *ProjectsLocationsJobsGetCall {
3176	c := &ProjectsLocationsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3177	c.name = name
3178	return c
3179}
3180
3181// Fields allows partial responses to be retrieved. See
3182// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3183// for more information.
3184func (c *ProjectsLocationsJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsGetCall {
3185	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3186	return c
3187}
3188
3189// IfNoneMatch sets the optional parameter which makes the operation
3190// fail if the object's ETag matches the given value. This is useful for
3191// getting updates only after the object has changed since the last
3192// request. Use googleapi.IsNotModified to check whether the response
3193// error from Do is the result of In-None-Match.
3194func (c *ProjectsLocationsJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobsGetCall {
3195	c.ifNoneMatch_ = entityTag
3196	return c
3197}
3198
3199// Context sets the context to be used in this call's Do method. Any
3200// pending HTTP request will be aborted if the provided context is
3201// canceled.
3202func (c *ProjectsLocationsJobsGetCall) Context(ctx context.Context) *ProjectsLocationsJobsGetCall {
3203	c.ctx_ = ctx
3204	return c
3205}
3206
3207// Header returns an http.Header that can be modified by the caller to
3208// add HTTP headers to the request.
3209func (c *ProjectsLocationsJobsGetCall) Header() http.Header {
3210	if c.header_ == nil {
3211		c.header_ = make(http.Header)
3212	}
3213	return c.header_
3214}
3215
3216func (c *ProjectsLocationsJobsGetCall) doRequest(alt string) (*http.Response, error) {
3217	reqHeaders := make(http.Header)
3218	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
3219	for k, v := range c.header_ {
3220		reqHeaders[k] = v
3221	}
3222	reqHeaders.Set("User-Agent", c.s.userAgent())
3223	if c.ifNoneMatch_ != "" {
3224		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3225	}
3226	var body io.Reader = nil
3227	c.urlParams_.Set("alt", alt)
3228	c.urlParams_.Set("prettyPrint", "false")
3229	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3230	urls += "?" + c.urlParams_.Encode()
3231	req, err := http.NewRequest("GET", urls, body)
3232	if err != nil {
3233		return nil, err
3234	}
3235	req.Header = reqHeaders
3236	googleapi.Expand(req.URL, map[string]string{
3237		"name": c.name,
3238	})
3239	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3240}
3241
3242// Do executes the "transcoder.projects.locations.jobs.get" call.
3243// Exactly one of *Job or error will be non-nil. Any non-2xx status code
3244// is an error. Response headers are in either
3245// *Job.ServerResponse.Header or (if a response was returned at all) in
3246// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3247// whether the returned error was because http.StatusNotModified was
3248// returned.
3249func (c *ProjectsLocationsJobsGetCall) Do(opts ...googleapi.CallOption) (*Job, error) {
3250	gensupport.SetOptions(c.urlParams_, opts...)
3251	res, err := c.doRequest("json")
3252	if res != nil && res.StatusCode == http.StatusNotModified {
3253		if res.Body != nil {
3254			res.Body.Close()
3255		}
3256		return nil, &googleapi.Error{
3257			Code:   res.StatusCode,
3258			Header: res.Header,
3259		}
3260	}
3261	if err != nil {
3262		return nil, err
3263	}
3264	defer googleapi.CloseBody(res)
3265	if err := googleapi.CheckResponse(res); err != nil {
3266		return nil, err
3267	}
3268	ret := &Job{
3269		ServerResponse: googleapi.ServerResponse{
3270			Header:         res.Header,
3271			HTTPStatusCode: res.StatusCode,
3272		},
3273	}
3274	target := &ret
3275	if err := gensupport.DecodeResponse(target, res); err != nil {
3276		return nil, err
3277	}
3278	return ret, nil
3279	// {
3280	//   "description": "Returns the job data.",
3281	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}",
3282	//   "httpMethod": "GET",
3283	//   "id": "transcoder.projects.locations.jobs.get",
3284	//   "parameterOrder": [
3285	//     "name"
3286	//   ],
3287	//   "parameters": {
3288	//     "name": {
3289	//       "description": "Required. The name of the job to retrieve. Format: `projects/{project}/locations/{location}/jobs/{job}`",
3290	//       "location": "path",
3291	//       "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$",
3292	//       "required": true,
3293	//       "type": "string"
3294	//     }
3295	//   },
3296	//   "path": "v1beta1/{+name}",
3297	//   "response": {
3298	//     "$ref": "Job"
3299	//   },
3300	//   "scopes": [
3301	//     "https://www.googleapis.com/auth/cloud-platform"
3302	//   ]
3303	// }
3304
3305}
3306
3307// method id "transcoder.projects.locations.jobs.list":
3308
3309type ProjectsLocationsJobsListCall struct {
3310	s            *Service
3311	parent       string
3312	urlParams_   gensupport.URLParams
3313	ifNoneMatch_ string
3314	ctx_         context.Context
3315	header_      http.Header
3316}
3317
3318// List: Lists jobs in the specified region.
3319//
3320// - parent: Format: `projects/{project}/locations/{location}`.
3321func (r *ProjectsLocationsJobsService) List(parent string) *ProjectsLocationsJobsListCall {
3322	c := &ProjectsLocationsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3323	c.parent = parent
3324	return c
3325}
3326
3327// PageSize sets the optional parameter "pageSize": The maximum number
3328// of items to return.
3329func (c *ProjectsLocationsJobsListCall) PageSize(pageSize int64) *ProjectsLocationsJobsListCall {
3330	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
3331	return c
3332}
3333
3334// PageToken sets the optional parameter "pageToken": The
3335// `next_page_token` value returned from a previous List request, if
3336// any.
3337func (c *ProjectsLocationsJobsListCall) PageToken(pageToken string) *ProjectsLocationsJobsListCall {
3338	c.urlParams_.Set("pageToken", pageToken)
3339	return c
3340}
3341
3342// Fields allows partial responses to be retrieved. See
3343// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3344// for more information.
3345func (c *ProjectsLocationsJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsListCall {
3346	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3347	return c
3348}
3349
3350// IfNoneMatch sets the optional parameter which makes the operation
3351// fail if the object's ETag matches the given value. This is useful for
3352// getting updates only after the object has changed since the last
3353// request. Use googleapi.IsNotModified to check whether the response
3354// error from Do is the result of In-None-Match.
3355func (c *ProjectsLocationsJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobsListCall {
3356	c.ifNoneMatch_ = entityTag
3357	return c
3358}
3359
3360// Context sets the context to be used in this call's Do method. Any
3361// pending HTTP request will be aborted if the provided context is
3362// canceled.
3363func (c *ProjectsLocationsJobsListCall) Context(ctx context.Context) *ProjectsLocationsJobsListCall {
3364	c.ctx_ = ctx
3365	return c
3366}
3367
3368// Header returns an http.Header that can be modified by the caller to
3369// add HTTP headers to the request.
3370func (c *ProjectsLocationsJobsListCall) Header() http.Header {
3371	if c.header_ == nil {
3372		c.header_ = make(http.Header)
3373	}
3374	return c.header_
3375}
3376
3377func (c *ProjectsLocationsJobsListCall) doRequest(alt string) (*http.Response, error) {
3378	reqHeaders := make(http.Header)
3379	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
3380	for k, v := range c.header_ {
3381		reqHeaders[k] = v
3382	}
3383	reqHeaders.Set("User-Agent", c.s.userAgent())
3384	if c.ifNoneMatch_ != "" {
3385		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3386	}
3387	var body io.Reader = nil
3388	c.urlParams_.Set("alt", alt)
3389	c.urlParams_.Set("prettyPrint", "false")
3390	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/jobs")
3391	urls += "?" + c.urlParams_.Encode()
3392	req, err := http.NewRequest("GET", urls, body)
3393	if err != nil {
3394		return nil, err
3395	}
3396	req.Header = reqHeaders
3397	googleapi.Expand(req.URL, map[string]string{
3398		"parent": c.parent,
3399	})
3400	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3401}
3402
3403// Do executes the "transcoder.projects.locations.jobs.list" call.
3404// Exactly one of *ListJobsResponse or error will be non-nil. Any
3405// non-2xx status code is an error. Response headers are in either
3406// *ListJobsResponse.ServerResponse.Header or (if a response was
3407// returned at all) in error.(*googleapi.Error).Header. Use
3408// googleapi.IsNotModified to check whether the returned error was
3409// because http.StatusNotModified was returned.
3410func (c *ProjectsLocationsJobsListCall) Do(opts ...googleapi.CallOption) (*ListJobsResponse, error) {
3411	gensupport.SetOptions(c.urlParams_, opts...)
3412	res, err := c.doRequest("json")
3413	if res != nil && res.StatusCode == http.StatusNotModified {
3414		if res.Body != nil {
3415			res.Body.Close()
3416		}
3417		return nil, &googleapi.Error{
3418			Code:   res.StatusCode,
3419			Header: res.Header,
3420		}
3421	}
3422	if err != nil {
3423		return nil, err
3424	}
3425	defer googleapi.CloseBody(res)
3426	if err := googleapi.CheckResponse(res); err != nil {
3427		return nil, err
3428	}
3429	ret := &ListJobsResponse{
3430		ServerResponse: googleapi.ServerResponse{
3431			Header:         res.Header,
3432			HTTPStatusCode: res.StatusCode,
3433		},
3434	}
3435	target := &ret
3436	if err := gensupport.DecodeResponse(target, res); err != nil {
3437		return nil, err
3438	}
3439	return ret, nil
3440	// {
3441	//   "description": "Lists jobs in the specified region.",
3442	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/jobs",
3443	//   "httpMethod": "GET",
3444	//   "id": "transcoder.projects.locations.jobs.list",
3445	//   "parameterOrder": [
3446	//     "parent"
3447	//   ],
3448	//   "parameters": {
3449	//     "pageSize": {
3450	//       "description": "The maximum number of items to return.",
3451	//       "format": "int32",
3452	//       "location": "query",
3453	//       "type": "integer"
3454	//     },
3455	//     "pageToken": {
3456	//       "description": "The `next_page_token` value returned from a previous List request, if any.",
3457	//       "location": "query",
3458	//       "type": "string"
3459	//     },
3460	//     "parent": {
3461	//       "description": "Required. Format: `projects/{project}/locations/{location}`",
3462	//       "location": "path",
3463	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
3464	//       "required": true,
3465	//       "type": "string"
3466	//     }
3467	//   },
3468	//   "path": "v1beta1/{+parent}/jobs",
3469	//   "response": {
3470	//     "$ref": "ListJobsResponse"
3471	//   },
3472	//   "scopes": [
3473	//     "https://www.googleapis.com/auth/cloud-platform"
3474	//   ]
3475	// }
3476
3477}
3478
3479// Pages invokes f for each page of results.
3480// A non-nil error returned from f will halt the iteration.
3481// The provided context supersedes any context provided to the Context method.
3482func (c *ProjectsLocationsJobsListCall) Pages(ctx context.Context, f func(*ListJobsResponse) error) error {
3483	c.ctx_ = ctx
3484	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3485	for {
3486		x, err := c.Do()
3487		if err != nil {
3488			return err
3489		}
3490		if err := f(x); err != nil {
3491			return err
3492		}
3493		if x.NextPageToken == "" {
3494			return nil
3495		}
3496		c.PageToken(x.NextPageToken)
3497	}
3498}
3499