1// Copyright 2019 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 tagmanager provides access to the Tag Manager API.
8//
9// For product documentation, see: https://developers.google.com/tag-manager
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/tagmanager/v2"
16//   ...
17//   ctx := context.Background()
18//   tagmanagerService, err := tagmanager.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// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
27//
28//   tagmanagerService, err := tagmanager.NewService(ctx, option.WithScopes(tagmanager.TagmanagerReadonlyScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   tagmanagerService, err := tagmanager.NewService(ctx, option.WithAPIKey("AIza..."))
33//
34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
35//
36//   config := &oauth2.Config{...}
37//   // ...
38//   token, err := config.Exchange(ctx, ...)
39//   tagmanagerService, err := tagmanager.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package tagmanager // import "google.golang.org/api/tagmanager/v2"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	gensupport "google.golang.org/api/gensupport"
57	googleapi "google.golang.org/api/googleapi"
58	option "google.golang.org/api/option"
59	htransport "google.golang.org/api/transport/http"
60)
61
62// Always reference these packages, just in case the auto-generated code
63// below doesn't.
64var _ = bytes.NewBuffer
65var _ = strconv.Itoa
66var _ = fmt.Sprintf
67var _ = json.NewDecoder
68var _ = io.Copy
69var _ = url.Parse
70var _ = gensupport.MarshalJSON
71var _ = googleapi.Version
72var _ = errors.New
73var _ = strings.Replace
74var _ = context.Canceled
75
76const apiId = "tagmanager:v2"
77const apiName = "tagmanager"
78const apiVersion = "v2"
79const basePath = "https://www.googleapis.com/"
80
81// OAuth2 scopes used by this API.
82const (
83	// Delete your Google Tag Manager containers
84	TagmanagerDeleteContainersScope = "https://www.googleapis.com/auth/tagmanager.delete.containers"
85
86	// Manage your Google Tag Manager container and its subcomponents,
87	// excluding versioning and publishing
88	TagmanagerEditContainersScope = "https://www.googleapis.com/auth/tagmanager.edit.containers"
89
90	// Manage your Google Tag Manager container versions
91	TagmanagerEditContainerversionsScope = "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
92
93	// View and manage your Google Tag Manager accounts
94	TagmanagerManageAccountsScope = "https://www.googleapis.com/auth/tagmanager.manage.accounts"
95
96	// Manage user permissions of your Google Tag Manager account and
97	// container
98	TagmanagerManageUsersScope = "https://www.googleapis.com/auth/tagmanager.manage.users"
99
100	// Publish your Google Tag Manager container versions
101	TagmanagerPublishScope = "https://www.googleapis.com/auth/tagmanager.publish"
102
103	// View your Google Tag Manager container and its subcomponents
104	TagmanagerReadonlyScope = "https://www.googleapis.com/auth/tagmanager.readonly"
105)
106
107// NewService creates a new Service.
108func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
109	scopesOption := option.WithScopes(
110		"https://www.googleapis.com/auth/tagmanager.delete.containers",
111		"https://www.googleapis.com/auth/tagmanager.edit.containers",
112		"https://www.googleapis.com/auth/tagmanager.edit.containerversions",
113		"https://www.googleapis.com/auth/tagmanager.manage.accounts",
114		"https://www.googleapis.com/auth/tagmanager.manage.users",
115		"https://www.googleapis.com/auth/tagmanager.publish",
116		"https://www.googleapis.com/auth/tagmanager.readonly",
117	)
118	// NOTE: prepend, so we don't override user-specified scopes.
119	opts = append([]option.ClientOption{scopesOption}, opts...)
120	client, endpoint, err := htransport.NewClient(ctx, opts...)
121	if err != nil {
122		return nil, err
123	}
124	s, err := New(client)
125	if err != nil {
126		return nil, err
127	}
128	if endpoint != "" {
129		s.BasePath = endpoint
130	}
131	return s, nil
132}
133
134// New creates a new Service. It uses the provided http.Client for requests.
135//
136// Deprecated: please use NewService instead.
137// To provide a custom HTTP client, use option.WithHTTPClient.
138// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
139func New(client *http.Client) (*Service, error) {
140	if client == nil {
141		return nil, errors.New("client is nil")
142	}
143	s := &Service{client: client, BasePath: basePath}
144	s.Accounts = NewAccountsService(s)
145	return s, nil
146}
147
148type Service struct {
149	client    *http.Client
150	BasePath  string // API endpoint base URL
151	UserAgent string // optional additional User-Agent fragment
152
153	Accounts *AccountsService
154}
155
156func (s *Service) userAgent() string {
157	if s.UserAgent == "" {
158		return googleapi.UserAgent
159	}
160	return googleapi.UserAgent + " " + s.UserAgent
161}
162
163func NewAccountsService(s *Service) *AccountsService {
164	rs := &AccountsService{s: s}
165	rs.Containers = NewAccountsContainersService(s)
166	rs.UserPermissions = NewAccountsUserPermissionsService(s)
167	return rs
168}
169
170type AccountsService struct {
171	s *Service
172
173	Containers *AccountsContainersService
174
175	UserPermissions *AccountsUserPermissionsService
176}
177
178func NewAccountsContainersService(s *Service) *AccountsContainersService {
179	rs := &AccountsContainersService{s: s}
180	rs.Environments = NewAccountsContainersEnvironmentsService(s)
181	rs.VersionHeaders = NewAccountsContainersVersionHeadersService(s)
182	rs.Versions = NewAccountsContainersVersionsService(s)
183	rs.Workspaces = NewAccountsContainersWorkspacesService(s)
184	return rs
185}
186
187type AccountsContainersService struct {
188	s *Service
189
190	Environments *AccountsContainersEnvironmentsService
191
192	VersionHeaders *AccountsContainersVersionHeadersService
193
194	Versions *AccountsContainersVersionsService
195
196	Workspaces *AccountsContainersWorkspacesService
197}
198
199func NewAccountsContainersEnvironmentsService(s *Service) *AccountsContainersEnvironmentsService {
200	rs := &AccountsContainersEnvironmentsService{s: s}
201	return rs
202}
203
204type AccountsContainersEnvironmentsService struct {
205	s *Service
206}
207
208func NewAccountsContainersVersionHeadersService(s *Service) *AccountsContainersVersionHeadersService {
209	rs := &AccountsContainersVersionHeadersService{s: s}
210	return rs
211}
212
213type AccountsContainersVersionHeadersService struct {
214	s *Service
215}
216
217func NewAccountsContainersVersionsService(s *Service) *AccountsContainersVersionsService {
218	rs := &AccountsContainersVersionsService{s: s}
219	return rs
220}
221
222type AccountsContainersVersionsService struct {
223	s *Service
224}
225
226func NewAccountsContainersWorkspacesService(s *Service) *AccountsContainersWorkspacesService {
227	rs := &AccountsContainersWorkspacesService{s: s}
228	rs.BuiltInVariables = NewAccountsContainersWorkspacesBuiltInVariablesService(s)
229	rs.Folders = NewAccountsContainersWorkspacesFoldersService(s)
230	rs.Tags = NewAccountsContainersWorkspacesTagsService(s)
231	rs.Templates = NewAccountsContainersWorkspacesTemplatesService(s)
232	rs.Triggers = NewAccountsContainersWorkspacesTriggersService(s)
233	rs.Variables = NewAccountsContainersWorkspacesVariablesService(s)
234	rs.Zones = NewAccountsContainersWorkspacesZonesService(s)
235	return rs
236}
237
238type AccountsContainersWorkspacesService struct {
239	s *Service
240
241	BuiltInVariables *AccountsContainersWorkspacesBuiltInVariablesService
242
243	Folders *AccountsContainersWorkspacesFoldersService
244
245	Tags *AccountsContainersWorkspacesTagsService
246
247	Templates *AccountsContainersWorkspacesTemplatesService
248
249	Triggers *AccountsContainersWorkspacesTriggersService
250
251	Variables *AccountsContainersWorkspacesVariablesService
252
253	Zones *AccountsContainersWorkspacesZonesService
254}
255
256func NewAccountsContainersWorkspacesBuiltInVariablesService(s *Service) *AccountsContainersWorkspacesBuiltInVariablesService {
257	rs := &AccountsContainersWorkspacesBuiltInVariablesService{s: s}
258	return rs
259}
260
261type AccountsContainersWorkspacesBuiltInVariablesService struct {
262	s *Service
263}
264
265func NewAccountsContainersWorkspacesFoldersService(s *Service) *AccountsContainersWorkspacesFoldersService {
266	rs := &AccountsContainersWorkspacesFoldersService{s: s}
267	return rs
268}
269
270type AccountsContainersWorkspacesFoldersService struct {
271	s *Service
272}
273
274func NewAccountsContainersWorkspacesTagsService(s *Service) *AccountsContainersWorkspacesTagsService {
275	rs := &AccountsContainersWorkspacesTagsService{s: s}
276	return rs
277}
278
279type AccountsContainersWorkspacesTagsService struct {
280	s *Service
281}
282
283func NewAccountsContainersWorkspacesTemplatesService(s *Service) *AccountsContainersWorkspacesTemplatesService {
284	rs := &AccountsContainersWorkspacesTemplatesService{s: s}
285	return rs
286}
287
288type AccountsContainersWorkspacesTemplatesService struct {
289	s *Service
290}
291
292func NewAccountsContainersWorkspacesTriggersService(s *Service) *AccountsContainersWorkspacesTriggersService {
293	rs := &AccountsContainersWorkspacesTriggersService{s: s}
294	return rs
295}
296
297type AccountsContainersWorkspacesTriggersService struct {
298	s *Service
299}
300
301func NewAccountsContainersWorkspacesVariablesService(s *Service) *AccountsContainersWorkspacesVariablesService {
302	rs := &AccountsContainersWorkspacesVariablesService{s: s}
303	return rs
304}
305
306type AccountsContainersWorkspacesVariablesService struct {
307	s *Service
308}
309
310func NewAccountsContainersWorkspacesZonesService(s *Service) *AccountsContainersWorkspacesZonesService {
311	rs := &AccountsContainersWorkspacesZonesService{s: s}
312	return rs
313}
314
315type AccountsContainersWorkspacesZonesService struct {
316	s *Service
317}
318
319func NewAccountsUserPermissionsService(s *Service) *AccountsUserPermissionsService {
320	rs := &AccountsUserPermissionsService{s: s}
321	return rs
322}
323
324type AccountsUserPermissionsService struct {
325	s *Service
326}
327
328// Account: Represents a Google Tag Manager Account.
329type Account struct {
330	// AccountId: The Account ID uniquely identifies the GTM Account.
331	AccountId string `json:"accountId,omitempty"`
332
333	// Fingerprint: The fingerprint of the GTM Account as computed at
334	// storage time.
335	// This value is recomputed whenever the account is modified.
336	Fingerprint string `json:"fingerprint,omitempty"`
337
338	// Name: Account display name.
339	// @mutable tagmanager.accounts.create
340	// @mutable tagmanager.accounts.update
341	Name string `json:"name,omitempty"`
342
343	// Path: GTM Account's API relative path.
344	Path string `json:"path,omitempty"`
345
346	// ShareData: Whether the account shares data anonymously with Google
347	// and others.
348	// This flag enables benchmarking by sharing your data in an anonymous
349	// form.
350	// Google will remove all identifiable information about your website,
351	// combine
352	// the data with hundreds of other anonymous sites and report aggregate
353	// trends
354	// in the benchmarking service.
355	// @mutable tagmanager.accounts.create
356	// @mutable tagmanager.accounts.update
357	ShareData bool `json:"shareData,omitempty"`
358
359	// TagManagerUrl: Auto generated link to the tag manager UI
360	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
361
362	// ServerResponse contains the HTTP response code and headers from the
363	// server.
364	googleapi.ServerResponse `json:"-"`
365
366	// ForceSendFields is a list of field names (e.g. "AccountId") to
367	// unconditionally include in API requests. By default, fields with
368	// empty values are omitted from API requests. However, any non-pointer,
369	// non-interface field appearing in ForceSendFields will be sent to the
370	// server regardless of whether the field is empty or not. This may be
371	// used to include empty fields in Patch requests.
372	ForceSendFields []string `json:"-"`
373
374	// NullFields is a list of field names (e.g. "AccountId") to include in
375	// API requests with the JSON null value. By default, fields with empty
376	// values are omitted from API requests. However, any field with an
377	// empty value appearing in NullFields will be sent to the server as
378	// null. It is an error if a field in this list has a non-empty value.
379	// This may be used to include null fields in Patch requests.
380	NullFields []string `json:"-"`
381}
382
383func (s *Account) MarshalJSON() ([]byte, error) {
384	type NoMethod Account
385	raw := NoMethod(*s)
386	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
387}
388
389// AccountAccess: Defines the Google Tag Manager Account access
390// permissions.
391type AccountAccess struct {
392	// Permission: Whether the user has no access, user access, or admin
393	// access to an account.
394	// @mutable tagmanager.accounts.permissions.create
395	// @mutable tagmanager.accounts.permissions.update
396	//
397	// Possible values:
398	//   "ACCOUNT_PERMISSION_UNSPECIFIED"
399	//   "NO_ACCESS"
400	//   "USER"
401	//   "ADMIN"
402	Permission string `json:"permission,omitempty"`
403
404	// ForceSendFields is a list of field names (e.g. "Permission") to
405	// unconditionally include in API requests. By default, fields with
406	// empty values are omitted from API requests. However, any non-pointer,
407	// non-interface field appearing in ForceSendFields will be sent to the
408	// server regardless of whether the field is empty or not. This may be
409	// used to include empty fields in Patch requests.
410	ForceSendFields []string `json:"-"`
411
412	// NullFields is a list of field names (e.g. "Permission") to include in
413	// API requests with the JSON null value. By default, fields with empty
414	// values are omitted from API requests. However, any field with an
415	// empty value appearing in NullFields will be sent to the server as
416	// null. It is an error if a field in this list has a non-empty value.
417	// This may be used to include null fields in Patch requests.
418	NullFields []string `json:"-"`
419}
420
421func (s *AccountAccess) MarshalJSON() ([]byte, error) {
422	type NoMethod AccountAccess
423	raw := NoMethod(*s)
424	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
425}
426
427// BuiltInVariable: Built-in variables are a special category of
428// variables that are pre-created
429// and non-customizable. They provide common functionality like
430// accessing
431// propeties of the gtm data layer, monitoring clicks, or accessing
432// elements
433// of a page URL.
434type BuiltInVariable struct {
435	// AccountId: GTM Account ID.
436	AccountId string `json:"accountId,omitempty"`
437
438	// ContainerId: GTM Container ID.
439	ContainerId string `json:"containerId,omitempty"`
440
441	// Name: Name of the built-in variable to be used to refer to the
442	// built-in variable.
443	Name string `json:"name,omitempty"`
444
445	// Path: GTM BuiltInVariable's API relative path.
446	Path string `json:"path,omitempty"`
447
448	// Type: Type of built-in
449	// variable.
450	// @required.tagmanager.accounts.containers.workspaces.built_in
451	// _variable.update
452	// @mutable
453	// tagmanager.accounts.containers.workspaces.built_in_variable.update
454	//
455	// Possible values:
456	//   "BUILT_IN_VARIABLE_TYPE_UNSPECIFIED"
457	//   "PAGE_URL"
458	//   "PAGE_HOSTNAME"
459	//   "PAGE_PATH"
460	//   "REFERRER"
461	//   "EVENT" - For web or mobile.
462	//   "CLICK_ELEMENT"
463	//   "CLICK_CLASSES"
464	//   "CLICK_ID"
465	//   "CLICK_TARGET"
466	//   "CLICK_URL"
467	//   "CLICK_TEXT"
468	//   "FORM_ELEMENT"
469	//   "FORM_CLASSES"
470	//   "FORM_ID"
471	//   "FORM_TARGET"
472	//   "FORM_URL"
473	//   "FORM_TEXT"
474	//   "ERROR_MESSAGE"
475	//   "ERROR_URL"
476	//   "ERROR_LINE"
477	//   "NEW_HISTORY_URL"
478	//   "OLD_HISTORY_URL"
479	//   "NEW_HISTORY_FRAGMENT"
480	//   "OLD_HISTORY_FRAGMENT"
481	//   "NEW_HISTORY_STATE"
482	//   "OLD_HISTORY_STATE"
483	//   "HISTORY_SOURCE"
484	//   "CONTAINER_VERSION" - For web or mobile.
485	//   "DEBUG_MODE"
486	//   "RANDOM_NUMBER" - For web or mobile.
487	//   "CONTAINER_ID" - For web or mobile.
488	//   "APP_ID"
489	//   "APP_NAME"
490	//   "APP_VERSION_CODE"
491	//   "APP_VERSION_NAME"
492	//   "LANGUAGE"
493	//   "OS_VERSION"
494	//   "PLATFORM"
495	//   "SDK_VERSION"
496	//   "DEVICE_NAME"
497	//   "RESOLUTION"
498	//   "ADVERTISER_ID"
499	//   "ADVERTISING_TRACKING_ENABLED"
500	//   "HTML_ID"
501	//   "ENVIRONMENT_NAME"
502	//   "AMP_BROWSER_LANGUAGE"
503	//   "AMP_CANONICAL_PATH"
504	//   "AMP_CANONICAL_URL"
505	//   "AMP_CANONICAL_HOST"
506	//   "AMP_REFERRER"
507	//   "AMP_TITLE"
508	//   "AMP_CLIENT_ID"
509	//   "AMP_CLIENT_TIMEZONE"
510	//   "AMP_CLIENT_TIMESTAMP"
511	//   "AMP_CLIENT_SCREEN_WIDTH"
512	//   "AMP_CLIENT_SCREEN_HEIGHT"
513	//   "AMP_CLIENT_SCROLL_X"
514	//   "AMP_CLIENT_SCROLL_Y"
515	//   "AMP_CLIENT_MAX_SCROLL_X"
516	//   "AMP_CLIENT_MAX_SCROLL_Y"
517	//   "AMP_TOTAL_ENGAGED_TIME"
518	//   "AMP_PAGE_VIEW_ID"
519	//   "AMP_PAGE_LOAD_TIME"
520	//   "AMP_PAGE_DOWNLOAD_TIME"
521	//   "AMP_GTM_EVENT"
522	//   "EVENT_NAME"
523	//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN"
524	//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ACLID"
525	//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ANID"
526	//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CLICK_TIMESTAMP"
527	//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CONTENT"
528	//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CP1"
529	//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_GCLID"
530	//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_SOURCE"
531	//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_TERM"
532	//   "FIREBASE_EVENT_PARAMETER_CURRENCY"
533	//   "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_ACCEPT_TIME"
534	//   "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_LINKID"
535	//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_DEVICE_TIME"
536	//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_ID"
537	//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_NAME"
538	//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_TIME"
539	//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_TOPIC"
540	//   "FIREBASE_EVENT_PARAMETER_PREVIOUS_APP_VERSION"
541	//   "FIREBASE_EVENT_PARAMETER_PREVIOUS_OS_VERSION"
542	//   "FIREBASE_EVENT_PARAMETER_PRICE"
543	//   "FIREBASE_EVENT_PARAMETER_PRODUCT_ID"
544	//   "FIREBASE_EVENT_PARAMETER_QUANTITY"
545	//   "FIREBASE_EVENT_PARAMETER_VALUE"
546	//   "VIDEO_PROVIDER"
547	//   "VIDEO_URL"
548	//   "VIDEO_TITLE"
549	//   "VIDEO_DURATION"
550	//   "VIDEO_PERCENT"
551	//   "VIDEO_VISIBLE"
552	//   "VIDEO_STATUS"
553	//   "VIDEO_CURRENT_TIME"
554	//   "SCROLL_DEPTH_THRESHOLD"
555	//   "SCROLL_DEPTH_UNITS"
556	//   "SCROLL_DEPTH_DIRECTION"
557	//   "ELEMENT_VISIBILITY_RATIO"
558	//   "ELEMENT_VISIBILITY_TIME"
559	//   "ELEMENT_VISIBILITY_FIRST_TIME"
560	//   "ELEMENT_VISIBILITY_RECENT_TIME"
561	Type string `json:"type,omitempty"`
562
563	// WorkspaceId: GTM Workspace ID.
564	WorkspaceId string `json:"workspaceId,omitempty"`
565
566	// ForceSendFields is a list of field names (e.g. "AccountId") to
567	// unconditionally include in API requests. By default, fields with
568	// empty values are omitted from API requests. However, any non-pointer,
569	// non-interface field appearing in ForceSendFields will be sent to the
570	// server regardless of whether the field is empty or not. This may be
571	// used to include empty fields in Patch requests.
572	ForceSendFields []string `json:"-"`
573
574	// NullFields is a list of field names (e.g. "AccountId") to include in
575	// API requests with the JSON null value. By default, fields with empty
576	// values are omitted from API requests. However, any field with an
577	// empty value appearing in NullFields will be sent to the server as
578	// null. It is an error if a field in this list has a non-empty value.
579	// This may be used to include null fields in Patch requests.
580	NullFields []string `json:"-"`
581}
582
583func (s *BuiltInVariable) MarshalJSON() ([]byte, error) {
584	type NoMethod BuiltInVariable
585	raw := NoMethod(*s)
586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
587}
588
589// Condition: Represents a predicate.
590type Condition struct {
591	// Parameter: A list of named parameters (key/value), depending on the
592	// condition's type.
593	// Notes:<ul>
594	// <li>For binary operators, include parameters named <code>arg0</code>
595	// and
596	//    <code>arg1</code> for specifying the left and right operands,
597	//    respectively.</li>
598	// <li>At this time, the left operand (<code>arg0</code>) must be a
599	// reference
600	//     to a variable.</li>
601	// <li>For case-insensitive Regex matching, include a boolean parameter
602	// named
603	//     <code>ignore_case</code> that is set to <code>true</code>.
604	//     If not specified or set to any other value, the matching will be
605	// case
606	//     sensitive.</li>
607	// <li>To negate an operator, include a boolean parameter named
608	//     <code>negate</code> boolean parameter that is set to
609	// <code>true</code>.
610	//     </li>
611	// </ul>
612	// @mutable
613	// tagmanager.accounts.containers.workspaces.triggers.create
614	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
615	Parameter []*Parameter `json:"parameter,omitempty"`
616
617	// Type: The type of operator for this condition.
618	// @mutable
619	// tagmanager.accounts.containers.workspaces.triggers.create
620	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
621	//
622	// Possible values:
623	//   "CONDITION_TYPE_UNSPECIFIED"
624	//   "EQUALS"
625	//   "CONTAINS"
626	//   "STARTS_WITH"
627	//   "ENDS_WITH"
628	//   "MATCH_REGEX"
629	//   "GREATER"
630	//   "GREATER_OR_EQUALS"
631	//   "LESS"
632	//   "LESS_OR_EQUALS"
633	//   "CSS_SELECTOR"
634	//   "URL_MATCHES" - NOTE(lanzone): When defining a ConditionType here,
635	// don't forget to also
636	// define a matching PredicateType (in condition.proto).
637	Type string `json:"type,omitempty"`
638
639	// ForceSendFields is a list of field names (e.g. "Parameter") to
640	// unconditionally include in API requests. By default, fields with
641	// empty values are omitted from API requests. However, any non-pointer,
642	// non-interface field appearing in ForceSendFields will be sent to the
643	// server regardless of whether the field is empty or not. This may be
644	// used to include empty fields in Patch requests.
645	ForceSendFields []string `json:"-"`
646
647	// NullFields is a list of field names (e.g. "Parameter") to include in
648	// API requests with the JSON null value. By default, fields with empty
649	// values are omitted from API requests. However, any field with an
650	// empty value appearing in NullFields will be sent to the server as
651	// null. It is an error if a field in this list has a non-empty value.
652	// This may be used to include null fields in Patch requests.
653	NullFields []string `json:"-"`
654}
655
656func (s *Condition) MarshalJSON() ([]byte, error) {
657	type NoMethod Condition
658	raw := NoMethod(*s)
659	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
660}
661
662// Container: Represents a Google Tag Manager Container, which specifies
663// the platform tags
664// will run on, manages workspaces, and retains container versions.
665type Container struct {
666	// AccountId: GTM Account ID.
667	AccountId string `json:"accountId,omitempty"`
668
669	// ContainerId: The Container ID uniquely identifies the GTM Container.
670	ContainerId string `json:"containerId,omitempty"`
671
672	// DomainName: List of domain names associated with the
673	// Container.
674	// @mutable tagmanager.accounts.containers.create
675	// @mutable tagmanager.accounts.containers.update
676	DomainName []string `json:"domainName,omitempty"`
677
678	// Fingerprint: The fingerprint of the GTM Container as computed at
679	// storage time.  This
680	// value is recomputed whenever the account is modified.
681	Fingerprint string `json:"fingerprint,omitempty"`
682
683	// Name: Container display name.
684	// @mutable tagmanager.accounts.containers.create
685	// @mutable tagmanager.accounts.containers.update
686	Name string `json:"name,omitempty"`
687
688	// Notes: Container Notes.
689	// @mutable tagmanager.accounts.containers.create
690	// @mutable tagmanager.accounts.containers.update
691	Notes string `json:"notes,omitempty"`
692
693	// Path: GTM Container's API relative path.
694	Path string `json:"path,omitempty"`
695
696	// PublicId: Container Public ID.
697	PublicId string `json:"publicId,omitempty"`
698
699	// TagManagerUrl: Auto generated link to the tag manager UI
700	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
701
702	// UsageContext: List of Usage Contexts for the Container. Valid values
703	// include: <code>web,
704	// android, or ios</code>.
705	// @mutable tagmanager.accounts.containers.create
706	// @mutable tagmanager.accounts.containers.update
707	//
708	// Possible values:
709	//   "USAGE_CONTEXT_UNSPECIFIED"
710	//   "WEB"
711	//   "ANDROID"
712	//   "IOS"
713	//   "ANDROID_SDK_5"
714	//   "IOS_SDK_5"
715	//   "AMP"
716	UsageContext []string `json:"usageContext,omitempty"`
717
718	// ServerResponse contains the HTTP response code and headers from the
719	// server.
720	googleapi.ServerResponse `json:"-"`
721
722	// ForceSendFields is a list of field names (e.g. "AccountId") to
723	// unconditionally include in API requests. By default, fields with
724	// empty values are omitted from API requests. However, any non-pointer,
725	// non-interface field appearing in ForceSendFields will be sent to the
726	// server regardless of whether the field is empty or not. This may be
727	// used to include empty fields in Patch requests.
728	ForceSendFields []string `json:"-"`
729
730	// NullFields is a list of field names (e.g. "AccountId") to include in
731	// API requests with the JSON null value. By default, fields with empty
732	// values are omitted from API requests. However, any field with an
733	// empty value appearing in NullFields will be sent to the server as
734	// null. It is an error if a field in this list has a non-empty value.
735	// This may be used to include null fields in Patch requests.
736	NullFields []string `json:"-"`
737}
738
739func (s *Container) MarshalJSON() ([]byte, error) {
740	type NoMethod Container
741	raw := NoMethod(*s)
742	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
743}
744
745// ContainerAccess: Defines the Google Tag Manager Container access
746// permissions.
747type ContainerAccess struct {
748	// ContainerId: GTM Container ID.
749	// @mutable tagmanager.accounts.permissions.create
750	// @mutable tagmanager.accounts.permissions.update
751	ContainerId string `json:"containerId,omitempty"`
752
753	// Permission: List of Container permissions.
754	// @mutable tagmanager.accounts.permissions.create
755	// @mutable tagmanager.accounts.permissions.update
756	//
757	// Possible values:
758	//   "CONTAINER_PERMISSION_UNSPECIFIED"
759	//   "NO_ACCESS"
760	//   "READ"
761	//   "EDIT"
762	//   "APPROVE"
763	//   "PUBLISH"
764	Permission string `json:"permission,omitempty"`
765
766	// ForceSendFields is a list of field names (e.g. "ContainerId") to
767	// unconditionally include in API requests. By default, fields with
768	// empty values are omitted from API requests. However, any non-pointer,
769	// non-interface field appearing in ForceSendFields will be sent to the
770	// server regardless of whether the field is empty or not. This may be
771	// used to include empty fields in Patch requests.
772	ForceSendFields []string `json:"-"`
773
774	// NullFields is a list of field names (e.g. "ContainerId") to include
775	// in API requests with the JSON null value. By default, fields with
776	// empty values are omitted from API requests. However, any field with
777	// an empty value appearing in NullFields will be sent to the server as
778	// null. It is an error if a field in this list has a non-empty value.
779	// This may be used to include null fields in Patch requests.
780	NullFields []string `json:"-"`
781}
782
783func (s *ContainerAccess) MarshalJSON() ([]byte, error) {
784	type NoMethod ContainerAccess
785	raw := NoMethod(*s)
786	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
787}
788
789// ContainerVersion: Represents a Google Tag Manager Container Version.
790type ContainerVersion struct {
791	// AccountId: GTM Account ID.
792	AccountId string `json:"accountId,omitempty"`
793
794	// BuiltInVariable: The built-in variables in the container that this
795	// version was taken from.
796	BuiltInVariable []*BuiltInVariable `json:"builtInVariable,omitempty"`
797
798	// Container: The container that this version was taken from.
799	Container *Container `json:"container,omitempty"`
800
801	// ContainerId: GTM Container ID.
802	ContainerId string `json:"containerId,omitempty"`
803
804	// ContainerVersionId: The Container Version ID uniquely identifies the
805	// GTM Container Version.
806	ContainerVersionId string `json:"containerVersionId,omitempty"`
807
808	// CustomTemplate: The custom templates in the container that this
809	// version was taken from.
810	CustomTemplate []*CustomTemplate `json:"customTemplate,omitempty"`
811
812	// Deleted: A value of true indicates this container version has been
813	// deleted.
814	Deleted bool `json:"deleted,omitempty"`
815
816	// Description: Container version description.
817	// @mutable tagmanager.accounts.containers.versions.update
818	Description string `json:"description,omitempty"`
819
820	// Fingerprint: The fingerprint of the GTM Container Version as computed
821	// at
822	// storage time. This value is recomputed whenever the container version
823	// is
824	// modified.
825	Fingerprint string `json:"fingerprint,omitempty"`
826
827	// Folder: The folders in the container that this version was taken
828	// from.
829	Folder []*Folder `json:"folder,omitempty"`
830
831	// Name: Container version display name.
832	// @mutable tagmanager.accounts.containers.versions.update
833	Name string `json:"name,omitempty"`
834
835	// Path: GTM ContainerVersions's API relative path.
836	Path string `json:"path,omitempty"`
837
838	// Tag: The tags in the container that this version was taken from.
839	Tag []*Tag `json:"tag,omitempty"`
840
841	// TagManagerUrl: Auto generated link to the tag manager UI
842	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
843
844	// Trigger: The triggers in the container that this version was taken
845	// from.
846	Trigger []*Trigger `json:"trigger,omitempty"`
847
848	// Variable: The variables in the container that this version was taken
849	// from.
850	Variable []*Variable `json:"variable,omitempty"`
851
852	// Zone: The zones in the container that this version was taken from.
853	Zone []*Zone `json:"zone,omitempty"`
854
855	// ServerResponse contains the HTTP response code and headers from the
856	// server.
857	googleapi.ServerResponse `json:"-"`
858
859	// ForceSendFields is a list of field names (e.g. "AccountId") to
860	// unconditionally include in API requests. By default, fields with
861	// empty values are omitted from API requests. However, any non-pointer,
862	// non-interface field appearing in ForceSendFields will be sent to the
863	// server regardless of whether the field is empty or not. This may be
864	// used to include empty fields in Patch requests.
865	ForceSendFields []string `json:"-"`
866
867	// NullFields is a list of field names (e.g. "AccountId") to include in
868	// API requests with the JSON null value. By default, fields with empty
869	// values are omitted from API requests. However, any field with an
870	// empty value appearing in NullFields will be sent to the server as
871	// null. It is an error if a field in this list has a non-empty value.
872	// This may be used to include null fields in Patch requests.
873	NullFields []string `json:"-"`
874}
875
876func (s *ContainerVersion) MarshalJSON() ([]byte, error) {
877	type NoMethod ContainerVersion
878	raw := NoMethod(*s)
879	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
880}
881
882// ContainerVersionHeader: Represents a Google Tag Manager Container
883// Version Header.
884type ContainerVersionHeader struct {
885	// AccountId: GTM Account ID.
886	AccountId string `json:"accountId,omitempty"`
887
888	// ContainerId: GTM Container ID.
889	ContainerId string `json:"containerId,omitempty"`
890
891	// ContainerVersionId: The Container Version ID uniquely identifies the
892	// GTM Container Version.
893	ContainerVersionId string `json:"containerVersionId,omitempty"`
894
895	// Deleted: A value of true indicates this container version has been
896	// deleted.
897	Deleted bool `json:"deleted,omitempty"`
898
899	// Name: Container version display name.
900	Name string `json:"name,omitempty"`
901
902	// NumCustomTemplates: Number of custom templates in the container
903	// version.
904	NumCustomTemplates string `json:"numCustomTemplates,omitempty"`
905
906	// NumMacros: Number of macros in the container version.
907	NumMacros string `json:"numMacros,omitempty"`
908
909	// NumRules: Number of rules in the container version.
910	NumRules string `json:"numRules,omitempty"`
911
912	// NumTags: Number of tags in the container version.
913	NumTags string `json:"numTags,omitempty"`
914
915	// NumTriggers: Number of triggers in the container version.
916	NumTriggers string `json:"numTriggers,omitempty"`
917
918	// NumVariables: Number of variables in the container version.
919	NumVariables string `json:"numVariables,omitempty"`
920
921	// NumZones: Number of zones in the container version.
922	NumZones string `json:"numZones,omitempty"`
923
924	// Path: GTM Container Versions's API relative path.
925	Path string `json:"path,omitempty"`
926
927	// ServerResponse contains the HTTP response code and headers from the
928	// server.
929	googleapi.ServerResponse `json:"-"`
930
931	// ForceSendFields is a list of field names (e.g. "AccountId") to
932	// unconditionally include in API requests. By default, fields with
933	// empty values are omitted from API requests. However, any non-pointer,
934	// non-interface field appearing in ForceSendFields will be sent to the
935	// server regardless of whether the field is empty or not. This may be
936	// used to include empty fields in Patch requests.
937	ForceSendFields []string `json:"-"`
938
939	// NullFields is a list of field names (e.g. "AccountId") to include in
940	// API requests with the JSON null value. By default, fields with empty
941	// values are omitted from API requests. However, any field with an
942	// empty value appearing in NullFields will be sent to the server as
943	// null. It is an error if a field in this list has a non-empty value.
944	// This may be used to include null fields in Patch requests.
945	NullFields []string `json:"-"`
946}
947
948func (s *ContainerVersionHeader) MarshalJSON() ([]byte, error) {
949	type NoMethod ContainerVersionHeader
950	raw := NoMethod(*s)
951	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
952}
953
954type CreateBuiltInVariableResponse struct {
955	// BuiltInVariable: List of created built-in variables.
956	BuiltInVariable []*BuiltInVariable `json:"builtInVariable,omitempty"`
957
958	// ServerResponse contains the HTTP response code and headers from the
959	// server.
960	googleapi.ServerResponse `json:"-"`
961
962	// ForceSendFields is a list of field names (e.g. "BuiltInVariable") to
963	// unconditionally include in API requests. By default, fields with
964	// empty values are omitted from API requests. However, any non-pointer,
965	// non-interface field appearing in ForceSendFields will be sent to the
966	// server regardless of whether the field is empty or not. This may be
967	// used to include empty fields in Patch requests.
968	ForceSendFields []string `json:"-"`
969
970	// NullFields is a list of field names (e.g. "BuiltInVariable") to
971	// include in API requests with the JSON null value. By default, fields
972	// with empty values are omitted from API requests. However, any field
973	// with an empty value appearing in NullFields will be sent to the
974	// server as null. It is an error if a field in this list has a
975	// non-empty value. This may be used to include null fields in Patch
976	// requests.
977	NullFields []string `json:"-"`
978}
979
980func (s *CreateBuiltInVariableResponse) MarshalJSON() ([]byte, error) {
981	type NoMethod CreateBuiltInVariableResponse
982	raw := NoMethod(*s)
983	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
984}
985
986// CreateContainerVersionRequestVersionOptions: Options for new
987// container versions.
988type CreateContainerVersionRequestVersionOptions struct {
989	// Name: The name of the container version to be created.
990	Name string `json:"name,omitempty"`
991
992	// Notes: The notes of the container version to be created.
993	Notes string `json:"notes,omitempty"`
994
995	// ForceSendFields is a list of field names (e.g. "Name") to
996	// unconditionally include in API requests. By default, fields with
997	// empty values are omitted from API requests. However, any non-pointer,
998	// non-interface field appearing in ForceSendFields will be sent to the
999	// server regardless of whether the field is empty or not. This may be
1000	// used to include empty fields in Patch requests.
1001	ForceSendFields []string `json:"-"`
1002
1003	// NullFields is a list of field names (e.g. "Name") to include in API
1004	// requests with the JSON null value. By default, fields with empty
1005	// values are omitted from API requests. However, any field with an
1006	// empty value appearing in NullFields will be sent to the server as
1007	// null. It is an error if a field in this list has a non-empty value.
1008	// This may be used to include null fields in Patch requests.
1009	NullFields []string `json:"-"`
1010}
1011
1012func (s *CreateContainerVersionRequestVersionOptions) MarshalJSON() ([]byte, error) {
1013	type NoMethod CreateContainerVersionRequestVersionOptions
1014	raw := NoMethod(*s)
1015	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1016}
1017
1018// CreateContainerVersionResponse: Create container versions response.
1019type CreateContainerVersionResponse struct {
1020	// CompilerError: Compiler errors or not.
1021	CompilerError bool `json:"compilerError,omitempty"`
1022
1023	// ContainerVersion: The container version created.
1024	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
1025
1026	// NewWorkspacePath: Auto generated workspace path created as a result
1027	// of version creation. This
1028	// field should only be populated if the created version was not a
1029	// quick
1030	// preview.
1031	NewWorkspacePath string `json:"newWorkspacePath,omitempty"`
1032
1033	// SyncStatus: Whether version creation failed when syncing the
1034	// workspace to the latest
1035	// container version.
1036	SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
1037
1038	// ServerResponse contains the HTTP response code and headers from the
1039	// server.
1040	googleapi.ServerResponse `json:"-"`
1041
1042	// ForceSendFields is a list of field names (e.g. "CompilerError") to
1043	// unconditionally include in API requests. By default, fields with
1044	// empty values are omitted from API requests. However, any non-pointer,
1045	// non-interface field appearing in ForceSendFields will be sent to the
1046	// server regardless of whether the field is empty or not. This may be
1047	// used to include empty fields in Patch requests.
1048	ForceSendFields []string `json:"-"`
1049
1050	// NullFields is a list of field names (e.g. "CompilerError") to include
1051	// in API requests with the JSON null value. By default, fields with
1052	// empty values are omitted from API requests. However, any field with
1053	// an empty value appearing in NullFields will be sent to the server as
1054	// null. It is an error if a field in this list has a non-empty value.
1055	// This may be used to include null fields in Patch requests.
1056	NullFields []string `json:"-"`
1057}
1058
1059func (s *CreateContainerVersionResponse) MarshalJSON() ([]byte, error) {
1060	type NoMethod CreateContainerVersionResponse
1061	raw := NoMethod(*s)
1062	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1063}
1064
1065// CustomTemplate: Represents a Google Tag Manager Custom Template's
1066// contents.
1067type CustomTemplate struct {
1068	// AccountId: GTM Account ID.
1069	AccountId string `json:"accountId,omitempty"`
1070
1071	// ContainerId: GTM Container ID.
1072	ContainerId string `json:"containerId,omitempty"`
1073
1074	// Fingerprint: The fingerprint of the GTM Custom Template as computed
1075	// at storage time.
1076	// This value is recomputed whenever the template is modified.
1077	Fingerprint string `json:"fingerprint,omitempty"`
1078
1079	// Name: Custom Template display name.
1080	Name string `json:"name,omitempty"`
1081
1082	// Path: GTM Custom Template's API relative path.
1083	Path string `json:"path,omitempty"`
1084
1085	// TagManagerUrl: Auto generated link to the tag manager UI
1086	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
1087
1088	// TemplateData: The custom template in text format.
1089	TemplateData string `json:"templateData,omitempty"`
1090
1091	// TemplateId: The Custom Template ID uniquely identifies the GTM custom
1092	// template.
1093	TemplateId string `json:"templateId,omitempty"`
1094
1095	// WorkspaceId: GTM Workspace ID.
1096	WorkspaceId string `json:"workspaceId,omitempty"`
1097
1098	// ServerResponse contains the HTTP response code and headers from the
1099	// server.
1100	googleapi.ServerResponse `json:"-"`
1101
1102	// ForceSendFields is a list of field names (e.g. "AccountId") to
1103	// unconditionally include in API requests. By default, fields with
1104	// empty values are omitted from API requests. However, any non-pointer,
1105	// non-interface field appearing in ForceSendFields will be sent to the
1106	// server regardless of whether the field is empty or not. This may be
1107	// used to include empty fields in Patch requests.
1108	ForceSendFields []string `json:"-"`
1109
1110	// NullFields is a list of field names (e.g. "AccountId") to include in
1111	// API requests with the JSON null value. By default, fields with empty
1112	// values are omitted from API requests. However, any field with an
1113	// empty value appearing in NullFields will be sent to the server as
1114	// null. It is an error if a field in this list has a non-empty value.
1115	// This may be used to include null fields in Patch requests.
1116	NullFields []string `json:"-"`
1117}
1118
1119func (s *CustomTemplate) MarshalJSON() ([]byte, error) {
1120	type NoMethod CustomTemplate
1121	raw := NoMethod(*s)
1122	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1123}
1124
1125// Entity: A workspace entity that may represent a tag, trigger,
1126// variable, or folder in
1127// addition to its status in the workspace.
1128type Entity struct {
1129	// ChangeStatus: Represents how the entity has been changed in the
1130	// workspace.
1131	//
1132	// Possible values:
1133	//   "CHANGE_STATUS_UNSPECIFIED"
1134	//   "NONE" - The entity has never been changed.
1135	//   "ADDED" - The entity is added to the workspace.
1136	//   "DELETED" - The entity is deleted from the workspace.
1137	//   "UPDATED" - The entity has been updated in the workspace.
1138	ChangeStatus string `json:"changeStatus,omitempty"`
1139
1140	// Folder: The Folder being represented by the entity.
1141	Folder *Folder `json:"folder,omitempty"`
1142
1143	// Tag: The tag being represented by the entity.
1144	Tag *Tag `json:"tag,omitempty"`
1145
1146	// Trigger: The trigger being represented by the entity.
1147	Trigger *Trigger `json:"trigger,omitempty"`
1148
1149	// Variable: The variable being represented by the entity.
1150	Variable *Variable `json:"variable,omitempty"`
1151
1152	// ForceSendFields is a list of field names (e.g. "ChangeStatus") to
1153	// unconditionally include in API requests. By default, fields with
1154	// empty values are omitted from API requests. However, any non-pointer,
1155	// non-interface field appearing in ForceSendFields will be sent to the
1156	// server regardless of whether the field is empty or not. This may be
1157	// used to include empty fields in Patch requests.
1158	ForceSendFields []string `json:"-"`
1159
1160	// NullFields is a list of field names (e.g. "ChangeStatus") to include
1161	// in API requests with the JSON null value. By default, fields with
1162	// empty values are omitted from API requests. However, any field with
1163	// an empty value appearing in NullFields will be sent to the server as
1164	// null. It is an error if a field in this list has a non-empty value.
1165	// This may be used to include null fields in Patch requests.
1166	NullFields []string `json:"-"`
1167}
1168
1169func (s *Entity) MarshalJSON() ([]byte, error) {
1170	type NoMethod Entity
1171	raw := NoMethod(*s)
1172	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1173}
1174
1175// Environment: Represents a Google Tag Manager Environment. Note that a
1176// user can create,
1177// delete and update environments of type USER, but can only update
1178// the
1179// enable_debug and url fields of environments of other types.
1180type Environment struct {
1181	// AccountId: GTM Account ID.
1182	AccountId string `json:"accountId,omitempty"`
1183
1184	// AuthorizationCode: The environment authorization code.
1185	AuthorizationCode string `json:"authorizationCode,omitempty"`
1186
1187	// AuthorizationTimestamp: The last update time-stamp for the
1188	// authorization code.
1189	AuthorizationTimestamp string `json:"authorizationTimestamp,omitempty"`
1190
1191	// ContainerId: GTM Container ID.
1192	ContainerId string `json:"containerId,omitempty"`
1193
1194	// ContainerVersionId: Represents a link to a container version.
1195	ContainerVersionId string `json:"containerVersionId,omitempty"`
1196
1197	// Description: The environment description. Can be set or changed only
1198	// on USER type
1199	// environments.
1200	// @mutable tagmanager.accounts.containers.environments.create
1201	// @mutable tagmanager.accounts.containers.environments.update
1202	Description string `json:"description,omitempty"`
1203
1204	// EnableDebug: Whether or not to enable debug by default for the
1205	// environment.
1206	// @mutable tagmanager.accounts.containers.environments.create
1207	// @mutable tagmanager.accounts.containers.environments.update
1208	EnableDebug bool `json:"enableDebug,omitempty"`
1209
1210	// EnvironmentId: GTM Environment ID uniquely identifies the GTM
1211	// Environment.
1212	EnvironmentId string `json:"environmentId,omitempty"`
1213
1214	// Fingerprint: The fingerprint of the GTM environment as computed at
1215	// storage time.
1216	// This value is recomputed whenever the environment is modified.
1217	Fingerprint string `json:"fingerprint,omitempty"`
1218
1219	// Name: The environment display name. Can be set or changed only on
1220	// USER type
1221	// environments.
1222	// @mutable tagmanager.accounts.containers.environments.create
1223	// @mutable tagmanager.accounts.containers.environments.update
1224	Name string `json:"name,omitempty"`
1225
1226	// Path: GTM Environment's API relative path.
1227	Path string `json:"path,omitempty"`
1228
1229	// TagManagerUrl: Auto generated link to the tag manager UI
1230	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
1231
1232	// Type: The type of this environment.
1233	//
1234	// Possible values:
1235	//   "USER" - Points to a user defined environment.
1236	//   "LIVE" - Points to the current live container version.
1237	//   "LATEST" - Points to the latest container version.
1238	//   "WORKSPACE" - Automatically managed environment that points to a
1239	// workspace preview or
1240	// version created by a workspace.
1241	Type string `json:"type,omitempty"`
1242
1243	// Url: Default preview page url for the environment.
1244	// @mutable tagmanager.accounts.containers.environments.create
1245	// @mutable tagmanager.accounts.containers.environments.update
1246	Url string `json:"url,omitempty"`
1247
1248	// WorkspaceId: Represents a link to a quick preview of a workspace.
1249	WorkspaceId string `json:"workspaceId,omitempty"`
1250
1251	// ServerResponse contains the HTTP response code and headers from the
1252	// server.
1253	googleapi.ServerResponse `json:"-"`
1254
1255	// ForceSendFields is a list of field names (e.g. "AccountId") to
1256	// unconditionally include in API requests. By default, fields with
1257	// empty values are omitted from API requests. However, any non-pointer,
1258	// non-interface field appearing in ForceSendFields will be sent to the
1259	// server regardless of whether the field is empty or not. This may be
1260	// used to include empty fields in Patch requests.
1261	ForceSendFields []string `json:"-"`
1262
1263	// NullFields is a list of field names (e.g. "AccountId") to include in
1264	// API requests with the JSON null value. By default, fields with empty
1265	// values are omitted from API requests. However, any field with an
1266	// empty value appearing in NullFields will be sent to the server as
1267	// null. It is an error if a field in this list has a non-empty value.
1268	// This may be used to include null fields in Patch requests.
1269	NullFields []string `json:"-"`
1270}
1271
1272func (s *Environment) MarshalJSON() ([]byte, error) {
1273	type NoMethod Environment
1274	raw := NoMethod(*s)
1275	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1276}
1277
1278// Folder: Represents a Google Tag Manager Folder.
1279type Folder struct {
1280	// AccountId: GTM Account ID.
1281	AccountId string `json:"accountId,omitempty"`
1282
1283	// ContainerId: GTM Container ID.
1284	ContainerId string `json:"containerId,omitempty"`
1285
1286	// Fingerprint: The fingerprint of the GTM Folder as computed at storage
1287	// time.
1288	// This value is recomputed whenever the folder is modified.
1289	Fingerprint string `json:"fingerprint,omitempty"`
1290
1291	// FolderId: The Folder ID uniquely identifies the GTM Folder.
1292	FolderId string `json:"folderId,omitempty"`
1293
1294	// Name: Folder display name.
1295	// @mutable
1296	// tagmanager.accounts.containers.workspaces.folders.create
1297	// @mutable tagmanager.accounts.containers.workspaces.folders.update
1298	Name string `json:"name,omitempty"`
1299
1300	// Notes: User notes on how to apply this folder in the
1301	// container.
1302	// @mutable
1303	// tagmanager.accounts.containers.workspaces.folders.create
1304	// @mutable tagmanager.accounts.containers.workspaces.folders.update
1305	Notes string `json:"notes,omitempty"`
1306
1307	// Path: GTM Folder's API relative path.
1308	Path string `json:"path,omitempty"`
1309
1310	// TagManagerUrl: Auto generated link to the tag manager UI
1311	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
1312
1313	// WorkspaceId: GTM Workspace ID.
1314	WorkspaceId string `json:"workspaceId,omitempty"`
1315
1316	// ServerResponse contains the HTTP response code and headers from the
1317	// server.
1318	googleapi.ServerResponse `json:"-"`
1319
1320	// ForceSendFields is a list of field names (e.g. "AccountId") to
1321	// unconditionally include in API requests. By default, fields with
1322	// empty values are omitted from API requests. However, any non-pointer,
1323	// non-interface field appearing in ForceSendFields will be sent to the
1324	// server regardless of whether the field is empty or not. This may be
1325	// used to include empty fields in Patch requests.
1326	ForceSendFields []string `json:"-"`
1327
1328	// NullFields is a list of field names (e.g. "AccountId") to include in
1329	// API requests with the JSON null value. By default, fields with empty
1330	// values are omitted from API requests. However, any field with an
1331	// empty value appearing in NullFields will be sent to the server as
1332	// null. It is an error if a field in this list has a non-empty value.
1333	// This may be used to include null fields in Patch requests.
1334	NullFields []string `json:"-"`
1335}
1336
1337func (s *Folder) MarshalJSON() ([]byte, error) {
1338	type NoMethod Folder
1339	raw := NoMethod(*s)
1340	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1341}
1342
1343// FolderEntities: Represents a Google Tag Manager Folder's contents.
1344type FolderEntities struct {
1345	// NextPageToken: Continuation token for fetching the next page of
1346	// results.
1347	NextPageToken string `json:"nextPageToken,omitempty"`
1348
1349	// Tag: The list of tags inside the folder.
1350	Tag []*Tag `json:"tag,omitempty"`
1351
1352	// Trigger: The list of triggers inside the folder.
1353	Trigger []*Trigger `json:"trigger,omitempty"`
1354
1355	// Variable: The list of variables inside the folder.
1356	Variable []*Variable `json:"variable,omitempty"`
1357
1358	// ServerResponse contains the HTTP response code and headers from the
1359	// server.
1360	googleapi.ServerResponse `json:"-"`
1361
1362	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1363	// unconditionally include in API requests. By default, fields with
1364	// empty values are omitted from API requests. However, any non-pointer,
1365	// non-interface field appearing in ForceSendFields will be sent to the
1366	// server regardless of whether the field is empty or not. This may be
1367	// used to include empty fields in Patch requests.
1368	ForceSendFields []string `json:"-"`
1369
1370	// NullFields is a list of field names (e.g. "NextPageToken") to include
1371	// in API requests with the JSON null value. By default, fields with
1372	// empty values are omitted from API requests. However, any field with
1373	// an empty value appearing in NullFields will be sent to the server as
1374	// null. It is an error if a field in this list has a non-empty value.
1375	// This may be used to include null fields in Patch requests.
1376	NullFields []string `json:"-"`
1377}
1378
1379func (s *FolderEntities) MarshalJSON() ([]byte, error) {
1380	type NoMethod FolderEntities
1381	raw := NoMethod(*s)
1382	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1383}
1384
1385// GetWorkspaceStatusResponse: The changes that have occurred in the
1386// workspace since the base container
1387// version.
1388type GetWorkspaceStatusResponse struct {
1389	// MergeConflict: The merge conflict after sync.
1390	MergeConflict []*MergeConflict `json:"mergeConflict,omitempty"`
1391
1392	// WorkspaceChange: Entities that have been changed in the workspace.
1393	WorkspaceChange []*Entity `json:"workspaceChange,omitempty"`
1394
1395	// ServerResponse contains the HTTP response code and headers from the
1396	// server.
1397	googleapi.ServerResponse `json:"-"`
1398
1399	// ForceSendFields is a list of field names (e.g. "MergeConflict") to
1400	// unconditionally include in API requests. By default, fields with
1401	// empty values are omitted from API requests. However, any non-pointer,
1402	// non-interface field appearing in ForceSendFields will be sent to the
1403	// server regardless of whether the field is empty or not. This may be
1404	// used to include empty fields in Patch requests.
1405	ForceSendFields []string `json:"-"`
1406
1407	// NullFields is a list of field names (e.g. "MergeConflict") to include
1408	// in API requests with the JSON null value. By default, fields with
1409	// empty values are omitted from API requests. However, any field with
1410	// an empty value appearing in NullFields will be sent to the server as
1411	// null. It is an error if a field in this list has a non-empty value.
1412	// This may be used to include null fields in Patch requests.
1413	NullFields []string `json:"-"`
1414}
1415
1416func (s *GetWorkspaceStatusResponse) MarshalJSON() ([]byte, error) {
1417	type NoMethod GetWorkspaceStatusResponse
1418	raw := NoMethod(*s)
1419	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1420}
1421
1422// ListAccountsResponse: List Accounts Response.
1423type ListAccountsResponse struct {
1424	// Account: List of GTM Accounts that a user has access to.
1425	Account []*Account `json:"account,omitempty"`
1426
1427	// NextPageToken: Continuation token for fetching the next page of
1428	// results.
1429	NextPageToken string `json:"nextPageToken,omitempty"`
1430
1431	// ServerResponse contains the HTTP response code and headers from the
1432	// server.
1433	googleapi.ServerResponse `json:"-"`
1434
1435	// ForceSendFields is a list of field names (e.g. "Account") to
1436	// unconditionally include in API requests. By default, fields with
1437	// empty values are omitted from API requests. However, any non-pointer,
1438	// non-interface field appearing in ForceSendFields will be sent to the
1439	// server regardless of whether the field is empty or not. This may be
1440	// used to include empty fields in Patch requests.
1441	ForceSendFields []string `json:"-"`
1442
1443	// NullFields is a list of field names (e.g. "Account") to include in
1444	// API requests with the JSON null value. By default, fields with empty
1445	// values are omitted from API requests. However, any field with an
1446	// empty value appearing in NullFields will be sent to the server as
1447	// null. It is an error if a field in this list has a non-empty value.
1448	// This may be used to include null fields in Patch requests.
1449	NullFields []string `json:"-"`
1450}
1451
1452func (s *ListAccountsResponse) MarshalJSON() ([]byte, error) {
1453	type NoMethod ListAccountsResponse
1454	raw := NoMethod(*s)
1455	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1456}
1457
1458// ListContainerVersionsResponse: List container versions response.
1459type ListContainerVersionsResponse struct {
1460	// ContainerVersionHeader: All container version headers of a GTM
1461	// Container.
1462	ContainerVersionHeader []*ContainerVersionHeader `json:"containerVersionHeader,omitempty"`
1463
1464	// NextPageToken: Continuation token for fetching the next page of
1465	// results.
1466	NextPageToken string `json:"nextPageToken,omitempty"`
1467
1468	// ServerResponse contains the HTTP response code and headers from the
1469	// server.
1470	googleapi.ServerResponse `json:"-"`
1471
1472	// ForceSendFields is a list of field names (e.g.
1473	// "ContainerVersionHeader") to unconditionally include in API requests.
1474	// By default, fields with empty values are omitted from API requests.
1475	// However, any non-pointer, non-interface field appearing in
1476	// ForceSendFields will be sent to the server regardless of whether the
1477	// field is empty or not. This may be used to include empty fields in
1478	// Patch requests.
1479	ForceSendFields []string `json:"-"`
1480
1481	// NullFields is a list of field names (e.g. "ContainerVersionHeader")
1482	// to include in API requests with the JSON null value. By default,
1483	// fields with empty values are omitted from API requests. However, any
1484	// field with an empty value appearing in NullFields will be sent to the
1485	// server as null. It is an error if a field in this list has a
1486	// non-empty value. This may be used to include null fields in Patch
1487	// requests.
1488	NullFields []string `json:"-"`
1489}
1490
1491func (s *ListContainerVersionsResponse) MarshalJSON() ([]byte, error) {
1492	type NoMethod ListContainerVersionsResponse
1493	raw := NoMethod(*s)
1494	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1495}
1496
1497// ListContainersResponse: List Containers Response.
1498type ListContainersResponse struct {
1499	// Container: All Containers of a GTM Account.
1500	Container []*Container `json:"container,omitempty"`
1501
1502	// NextPageToken: Continuation token for fetching the next page of
1503	// results.
1504	NextPageToken string `json:"nextPageToken,omitempty"`
1505
1506	// ServerResponse contains the HTTP response code and headers from the
1507	// server.
1508	googleapi.ServerResponse `json:"-"`
1509
1510	// ForceSendFields is a list of field names (e.g. "Container") to
1511	// unconditionally include in API requests. By default, fields with
1512	// empty values are omitted from API requests. However, any non-pointer,
1513	// non-interface field appearing in ForceSendFields will be sent to the
1514	// server regardless of whether the field is empty or not. This may be
1515	// used to include empty fields in Patch requests.
1516	ForceSendFields []string `json:"-"`
1517
1518	// NullFields is a list of field names (e.g. "Container") to include in
1519	// API requests with the JSON null value. By default, fields with empty
1520	// values are omitted from API requests. However, any field with an
1521	// empty value appearing in NullFields will be sent to the server as
1522	// null. It is an error if a field in this list has a non-empty value.
1523	// This may be used to include null fields in Patch requests.
1524	NullFields []string `json:"-"`
1525}
1526
1527func (s *ListContainersResponse) MarshalJSON() ([]byte, error) {
1528	type NoMethod ListContainersResponse
1529	raw := NoMethod(*s)
1530	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1531}
1532
1533// ListEnabledBuiltInVariablesResponse: A list of enabled built-in
1534// variables.
1535type ListEnabledBuiltInVariablesResponse struct {
1536	// BuiltInVariable: All GTM BuiltInVariables of a GTM container.
1537	BuiltInVariable []*BuiltInVariable `json:"builtInVariable,omitempty"`
1538
1539	// NextPageToken: Continuation token for fetching the next page of
1540	// results.
1541	NextPageToken string `json:"nextPageToken,omitempty"`
1542
1543	// ServerResponse contains the HTTP response code and headers from the
1544	// server.
1545	googleapi.ServerResponse `json:"-"`
1546
1547	// ForceSendFields is a list of field names (e.g. "BuiltInVariable") to
1548	// unconditionally include in API requests. By default, fields with
1549	// empty values are omitted from API requests. However, any non-pointer,
1550	// non-interface field appearing in ForceSendFields will be sent to the
1551	// server regardless of whether the field is empty or not. This may be
1552	// used to include empty fields in Patch requests.
1553	ForceSendFields []string `json:"-"`
1554
1555	// NullFields is a list of field names (e.g. "BuiltInVariable") to
1556	// include in API requests with the JSON null value. By default, fields
1557	// with empty values are omitted from API requests. However, any field
1558	// with an empty value appearing in NullFields will be sent to the
1559	// server as null. It is an error if a field in this list has a
1560	// non-empty value. This may be used to include null fields in Patch
1561	// requests.
1562	NullFields []string `json:"-"`
1563}
1564
1565func (s *ListEnabledBuiltInVariablesResponse) MarshalJSON() ([]byte, error) {
1566	type NoMethod ListEnabledBuiltInVariablesResponse
1567	raw := NoMethod(*s)
1568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1569}
1570
1571// ListEnvironmentsResponse: List Environments Response.
1572type ListEnvironmentsResponse struct {
1573	// Environment: All Environments of a GTM Container.
1574	Environment []*Environment `json:"environment,omitempty"`
1575
1576	// NextPageToken: Continuation token for fetching the next page of
1577	// results.
1578	NextPageToken string `json:"nextPageToken,omitempty"`
1579
1580	// ServerResponse contains the HTTP response code and headers from the
1581	// server.
1582	googleapi.ServerResponse `json:"-"`
1583
1584	// ForceSendFields is a list of field names (e.g. "Environment") to
1585	// unconditionally include in API requests. By default, fields with
1586	// empty values are omitted from API requests. However, any non-pointer,
1587	// non-interface field appearing in ForceSendFields will be sent to the
1588	// server regardless of whether the field is empty or not. This may be
1589	// used to include empty fields in Patch requests.
1590	ForceSendFields []string `json:"-"`
1591
1592	// NullFields is a list of field names (e.g. "Environment") to include
1593	// in API requests with the JSON null value. By default, fields with
1594	// empty values are omitted from API requests. However, any field with
1595	// an empty value appearing in NullFields will be sent to the server as
1596	// null. It is an error if a field in this list has a non-empty value.
1597	// This may be used to include null fields in Patch requests.
1598	NullFields []string `json:"-"`
1599}
1600
1601func (s *ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
1602	type NoMethod ListEnvironmentsResponse
1603	raw := NoMethod(*s)
1604	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1605}
1606
1607// ListFoldersResponse: List Folders Response.
1608type ListFoldersResponse struct {
1609	// Folder: All GTM Folders of a GTM Container.
1610	Folder []*Folder `json:"folder,omitempty"`
1611
1612	// NextPageToken: Continuation token for fetching the next page of
1613	// results.
1614	NextPageToken string `json:"nextPageToken,omitempty"`
1615
1616	// ServerResponse contains the HTTP response code and headers from the
1617	// server.
1618	googleapi.ServerResponse `json:"-"`
1619
1620	// ForceSendFields is a list of field names (e.g. "Folder") to
1621	// unconditionally include in API requests. By default, fields with
1622	// empty values are omitted from API requests. However, any non-pointer,
1623	// non-interface field appearing in ForceSendFields will be sent to the
1624	// server regardless of whether the field is empty or not. This may be
1625	// used to include empty fields in Patch requests.
1626	ForceSendFields []string `json:"-"`
1627
1628	// NullFields is a list of field names (e.g. "Folder") to include in API
1629	// requests with the JSON null value. By default, fields with empty
1630	// values are omitted from API requests. However, any field with an
1631	// empty value appearing in NullFields will be sent to the server as
1632	// null. It is an error if a field in this list has a non-empty value.
1633	// This may be used to include null fields in Patch requests.
1634	NullFields []string `json:"-"`
1635}
1636
1637func (s *ListFoldersResponse) MarshalJSON() ([]byte, error) {
1638	type NoMethod ListFoldersResponse
1639	raw := NoMethod(*s)
1640	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1641}
1642
1643// ListTagsResponse: List Tags Response.
1644type ListTagsResponse struct {
1645	// NextPageToken: Continuation token for fetching the next page of
1646	// results.
1647	NextPageToken string `json:"nextPageToken,omitempty"`
1648
1649	// Tag: All GTM Tags of a GTM Container.
1650	Tag []*Tag `json:"tag,omitempty"`
1651
1652	// ServerResponse contains the HTTP response code and headers from the
1653	// server.
1654	googleapi.ServerResponse `json:"-"`
1655
1656	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1657	// unconditionally include in API requests. By default, fields with
1658	// empty values are omitted from API requests. However, any non-pointer,
1659	// non-interface field appearing in ForceSendFields will be sent to the
1660	// server regardless of whether the field is empty or not. This may be
1661	// used to include empty fields in Patch requests.
1662	ForceSendFields []string `json:"-"`
1663
1664	// NullFields is a list of field names (e.g. "NextPageToken") to include
1665	// in API requests with the JSON null value. By default, fields with
1666	// empty values are omitted from API requests. However, any field with
1667	// an empty value appearing in NullFields will be sent to the server as
1668	// null. It is an error if a field in this list has a non-empty value.
1669	// This may be used to include null fields in Patch requests.
1670	NullFields []string `json:"-"`
1671}
1672
1673func (s *ListTagsResponse) MarshalJSON() ([]byte, error) {
1674	type NoMethod ListTagsResponse
1675	raw := NoMethod(*s)
1676	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1677}
1678
1679type ListTemplatesResponse struct {
1680	// NextPageToken: Continuation token for fetching the next page of
1681	// results.
1682	NextPageToken string `json:"nextPageToken,omitempty"`
1683
1684	// Template: All GTM Custom Templates of a GTM Container.
1685	Template []*CustomTemplate `json:"template,omitempty"`
1686
1687	// ServerResponse contains the HTTP response code and headers from the
1688	// server.
1689	googleapi.ServerResponse `json:"-"`
1690
1691	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1692	// unconditionally include in API requests. By default, fields with
1693	// empty values are omitted from API requests. However, any non-pointer,
1694	// non-interface field appearing in ForceSendFields will be sent to the
1695	// server regardless of whether the field is empty or not. This may be
1696	// used to include empty fields in Patch requests.
1697	ForceSendFields []string `json:"-"`
1698
1699	// NullFields is a list of field names (e.g. "NextPageToken") to include
1700	// in API requests with the JSON null value. By default, fields with
1701	// empty values are omitted from API requests. However, any field with
1702	// an empty value appearing in NullFields will be sent to the server as
1703	// null. It is an error if a field in this list has a non-empty value.
1704	// This may be used to include null fields in Patch requests.
1705	NullFields []string `json:"-"`
1706}
1707
1708func (s *ListTemplatesResponse) MarshalJSON() ([]byte, error) {
1709	type NoMethod ListTemplatesResponse
1710	raw := NoMethod(*s)
1711	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1712}
1713
1714// ListTriggersResponse: List triggers response.
1715type ListTriggersResponse struct {
1716	// NextPageToken: Continuation token for fetching the next page of
1717	// results.
1718	NextPageToken string `json:"nextPageToken,omitempty"`
1719
1720	// Trigger: All GTM Triggers of a GTM Container.
1721	Trigger []*Trigger `json:"trigger,omitempty"`
1722
1723	// ServerResponse contains the HTTP response code and headers from the
1724	// server.
1725	googleapi.ServerResponse `json:"-"`
1726
1727	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1728	// unconditionally include in API requests. By default, fields with
1729	// empty values are omitted from API requests. However, any non-pointer,
1730	// non-interface field appearing in ForceSendFields will be sent to the
1731	// server regardless of whether the field is empty or not. This may be
1732	// used to include empty fields in Patch requests.
1733	ForceSendFields []string `json:"-"`
1734
1735	// NullFields is a list of field names (e.g. "NextPageToken") to include
1736	// in API requests with the JSON null value. By default, fields with
1737	// empty values are omitted from API requests. However, any field with
1738	// an empty value appearing in NullFields will be sent to the server as
1739	// null. It is an error if a field in this list has a non-empty value.
1740	// This may be used to include null fields in Patch requests.
1741	NullFields []string `json:"-"`
1742}
1743
1744func (s *ListTriggersResponse) MarshalJSON() ([]byte, error) {
1745	type NoMethod ListTriggersResponse
1746	raw := NoMethod(*s)
1747	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1748}
1749
1750// ListUserPermissionsResponse: List user permissions response.
1751type ListUserPermissionsResponse struct {
1752	// NextPageToken: Continuation token for fetching the next page of
1753	// results.
1754	NextPageToken string `json:"nextPageToken,omitempty"`
1755
1756	// UserPermission: All GTM UserPermissions of a GTM Account.
1757	UserPermission []*UserPermission `json:"userPermission,omitempty"`
1758
1759	// ServerResponse contains the HTTP response code and headers from the
1760	// server.
1761	googleapi.ServerResponse `json:"-"`
1762
1763	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1764	// unconditionally include in API requests. By default, fields with
1765	// empty values are omitted from API requests. However, any non-pointer,
1766	// non-interface field appearing in ForceSendFields will be sent to the
1767	// server regardless of whether the field is empty or not. This may be
1768	// used to include empty fields in Patch requests.
1769	ForceSendFields []string `json:"-"`
1770
1771	// NullFields is a list of field names (e.g. "NextPageToken") to include
1772	// in API requests with the JSON null value. By default, fields with
1773	// empty values are omitted from API requests. However, any field with
1774	// an empty value appearing in NullFields will be sent to the server as
1775	// null. It is an error if a field in this list has a non-empty value.
1776	// This may be used to include null fields in Patch requests.
1777	NullFields []string `json:"-"`
1778}
1779
1780func (s *ListUserPermissionsResponse) MarshalJSON() ([]byte, error) {
1781	type NoMethod ListUserPermissionsResponse
1782	raw := NoMethod(*s)
1783	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1784}
1785
1786// ListVariablesResponse: List Variables Response.
1787type ListVariablesResponse struct {
1788	// NextPageToken: Continuation token for fetching the next page of
1789	// results.
1790	NextPageToken string `json:"nextPageToken,omitempty"`
1791
1792	// Variable: All GTM Variables of a GTM Container.
1793	Variable []*Variable `json:"variable,omitempty"`
1794
1795	// ServerResponse contains the HTTP response code and headers from the
1796	// server.
1797	googleapi.ServerResponse `json:"-"`
1798
1799	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1800	// unconditionally include in API requests. By default, fields with
1801	// empty values are omitted from API requests. However, any non-pointer,
1802	// non-interface field appearing in ForceSendFields will be sent to the
1803	// server regardless of whether the field is empty or not. This may be
1804	// used to include empty fields in Patch requests.
1805	ForceSendFields []string `json:"-"`
1806
1807	// NullFields is a list of field names (e.g. "NextPageToken") to include
1808	// in API requests with the JSON null value. By default, fields with
1809	// empty values are omitted from API requests. However, any field with
1810	// an empty value appearing in NullFields will be sent to the server as
1811	// null. It is an error if a field in this list has a non-empty value.
1812	// This may be used to include null fields in Patch requests.
1813	NullFields []string `json:"-"`
1814}
1815
1816func (s *ListVariablesResponse) MarshalJSON() ([]byte, error) {
1817	type NoMethod ListVariablesResponse
1818	raw := NoMethod(*s)
1819	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1820}
1821
1822// ListWorkspacesResponse: A list of workspaces in a container.
1823type ListWorkspacesResponse struct {
1824	// NextPageToken: Continuation token for fetching the next page of
1825	// results.
1826	NextPageToken string `json:"nextPageToken,omitempty"`
1827
1828	// Workspace: All Workspaces of a GTM Container.
1829	Workspace []*Workspace `json:"workspace,omitempty"`
1830
1831	// ServerResponse contains the HTTP response code and headers from the
1832	// server.
1833	googleapi.ServerResponse `json:"-"`
1834
1835	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1836	// unconditionally include in API requests. By default, fields with
1837	// empty values are omitted from API requests. However, any non-pointer,
1838	// non-interface field appearing in ForceSendFields will be sent to the
1839	// server regardless of whether the field is empty or not. This may be
1840	// used to include empty fields in Patch requests.
1841	ForceSendFields []string `json:"-"`
1842
1843	// NullFields is a list of field names (e.g. "NextPageToken") to include
1844	// in API requests with the JSON null value. By default, fields with
1845	// empty values are omitted from API requests. However, any field with
1846	// an empty value appearing in NullFields will be sent to the server as
1847	// null. It is an error if a field in this list has a non-empty value.
1848	// This may be used to include null fields in Patch requests.
1849	NullFields []string `json:"-"`
1850}
1851
1852func (s *ListWorkspacesResponse) MarshalJSON() ([]byte, error) {
1853	type NoMethod ListWorkspacesResponse
1854	raw := NoMethod(*s)
1855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1856}
1857
1858type ListZonesResponse struct {
1859	// NextPageToken: Continuation token for fetching the next page of
1860	// results.
1861	NextPageToken string `json:"nextPageToken,omitempty"`
1862
1863	// Zone: All GTM Zones of a GTM Container.
1864	Zone []*Zone `json:"zone,omitempty"`
1865
1866	// ServerResponse contains the HTTP response code and headers from the
1867	// server.
1868	googleapi.ServerResponse `json:"-"`
1869
1870	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1871	// unconditionally include in API requests. By default, fields with
1872	// empty values are omitted from API requests. However, any non-pointer,
1873	// non-interface field appearing in ForceSendFields will be sent to the
1874	// server regardless of whether the field is empty or not. This may be
1875	// used to include empty fields in Patch requests.
1876	ForceSendFields []string `json:"-"`
1877
1878	// NullFields is a list of field names (e.g. "NextPageToken") to include
1879	// in API requests with the JSON null value. By default, fields with
1880	// empty values are omitted from API requests. However, any field with
1881	// an empty value appearing in NullFields will be sent to the server as
1882	// null. It is an error if a field in this list has a non-empty value.
1883	// This may be used to include null fields in Patch requests.
1884	NullFields []string `json:"-"`
1885}
1886
1887func (s *ListZonesResponse) MarshalJSON() ([]byte, error) {
1888	type NoMethod ListZonesResponse
1889	raw := NoMethod(*s)
1890	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1891}
1892
1893// MergeConflict: Represents a merge conflict.
1894type MergeConflict struct {
1895	// EntityInBaseVersion: The base version entity (since the latest sync
1896	// operation) that has
1897	// conflicting changes compared to the workspace. If this field is
1898	// missing,
1899	// it means the workspace entity is deleted from the base version.
1900	EntityInBaseVersion *Entity `json:"entityInBaseVersion,omitempty"`
1901
1902	// EntityInWorkspace: The workspace entity that has conflicting changes
1903	// compared to the
1904	// base version. If an entity is deleted in a workspace, it will
1905	// still
1906	// appear with a deleted change status.
1907	EntityInWorkspace *Entity `json:"entityInWorkspace,omitempty"`
1908
1909	// ForceSendFields is a list of field names (e.g. "EntityInBaseVersion")
1910	// to unconditionally include in API requests. By default, fields with
1911	// empty values are omitted from API requests. However, any non-pointer,
1912	// non-interface field appearing in ForceSendFields will be sent to the
1913	// server regardless of whether the field is empty or not. This may be
1914	// used to include empty fields in Patch requests.
1915	ForceSendFields []string `json:"-"`
1916
1917	// NullFields is a list of field names (e.g. "EntityInBaseVersion") to
1918	// include in API requests with the JSON null value. By default, fields
1919	// with empty values are omitted from API requests. However, any field
1920	// with an empty value appearing in NullFields will be sent to the
1921	// server as null. It is an error if a field in this list has a
1922	// non-empty value. This may be used to include null fields in Patch
1923	// requests.
1924	NullFields []string `json:"-"`
1925}
1926
1927func (s *MergeConflict) MarshalJSON() ([]byte, error) {
1928	type NoMethod MergeConflict
1929	raw := NoMethod(*s)
1930	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1931}
1932
1933// Parameter: Represents a Google Tag Manager Parameter.
1934type Parameter struct {
1935	// Key: The named key that uniquely identifies a parameter.  Required
1936	// for top-level
1937	// parameters, as well as map values.  Ignored for list values.
1938	// @mutable
1939	// tagmanager.accounts.containers.workspaces.variables.create
1940	// @mutable
1941	// tagmanager.accounts.containers.workspaces.variables.update
1942	// @mutable
1943	// tagmanager.accounts.containers.workspaces.triggers.create
1944	// @mutable
1945	// tagmanager.accounts.containers.workspaces.triggers.update
1946	// @mutable
1947	// tagmanager.accounts.containers.workspaces.tags.create
1948	// @mutable tagmanager.accounts.containers.workspaces.tags.update
1949	Key string `json:"key,omitempty"`
1950
1951	// List: This list parameter's parameters (keys will be
1952	// ignored).
1953	// @mutable
1954	// tagmanager.accounts.containers.workspaces.variables.create
1955	// @mutable
1956	// tagmanager.accounts.containers.workspaces.variables.update
1957	// @mutable
1958	// tagmanager.accounts.containers.workspaces.triggers.create
1959	// @mutable
1960	// tagmanager.accounts.containers.workspaces.triggers.update
1961	// @mutable
1962	// tagmanager.accounts.containers.workspaces.tags.create
1963	// @mutable tagmanager.accounts.containers.workspaces.tags.update
1964	List []*Parameter `json:"list,omitempty"`
1965
1966	// Map: This map parameter's parameters (must have keys; keys must be
1967	// unique).
1968	// @mutable
1969	// tagmanager.accounts.containers.workspaces.variables.create
1970	// @mutable
1971	// tagmanager.accounts.containers.workspaces.variables.update
1972	// @mutable
1973	// tagmanager.accounts.containers.workspaces.triggers.create
1974	// @mutable
1975	// tagmanager.accounts.containers.workspaces.triggers.update
1976	// @mutable
1977	// tagmanager.accounts.containers.workspaces.tags.create
1978	// @mutable tagmanager.accounts.containers.workspaces.tags.update
1979	Map []*Parameter `json:"map,omitempty"`
1980
1981	// Type: The parameter type.  Valid values
1982	// are:<ul>
1983	// <li><code>boolean</code>: The value represents a boolean, represented
1984	// as
1985	//     'true' or 'false'</li>
1986	// <li><code>integer</code>: The value represents a 64-bit signed
1987	// integer
1988	//     value, in base 10</li>
1989	// <li><code>list</code>: A list of parameters should be
1990	// specified</li>
1991	// <li><code>map</code>: A map of parameters should be
1992	// specified</li>
1993	// <li><code>template</code>: The value represents any text; this can
1994	// include
1995	//     variable references (even variable references that might return
1996	//     non-string types)</li>
1997	// <li><code>trigger_reference</code>: The value represents a trigger,
1998	//     represented as the trigger id</li>
1999	// </ul>
2000	// @mutable
2001	// tagmanager.accounts.containers.workspaces.variables.create
2002	// @mutable
2003	// tagmanager.accounts.containers.workspaces.variables.update
2004	// @mutable
2005	// tagmanager.accounts.containers.workspaces.triggers.create
2006	// @mutable
2007	// tagmanager.accounts.containers.workspaces.triggers.update
2008	// @mutable
2009	// tagmanager.accounts.containers.workspaces.tags.create
2010	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2011	//
2012	// Possible values:
2013	//   "TYPE_UNSPECIFIED"
2014	//   "TEMPLATE" - May include variable references (such as
2015	// "{{myVariable}}").
2016	//   "INTEGER"
2017	//   "BOOLEAN"
2018	//   "LIST"
2019	//   "MAP"
2020	//   "TRIGGER_REFERENCE"
2021	Type string `json:"type,omitempty"`
2022
2023	// Value: A parameter's value (may contain variable references such
2024	// as
2025	// "{{myVariable}}")
2026	// as appropriate to the specified type.
2027	// @mutable
2028	// tagmanager.accounts.containers.workspaces.variables.create
2029	// @mutable
2030	// tagmanager.accounts.containers.workspaces.variables.update
2031	// @mutable
2032	// tagmanager.accounts.containers.workspaces.triggers.create
2033	// @mutable
2034	// tagmanager.accounts.containers.workspaces.triggers.update
2035	// @mutable
2036	// tagmanager.accounts.containers.workspaces.tags.create
2037	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2038	Value string `json:"value,omitempty"`
2039
2040	// ForceSendFields is a list of field names (e.g. "Key") to
2041	// unconditionally include in API requests. By default, fields with
2042	// empty values are omitted from API requests. However, any non-pointer,
2043	// non-interface field appearing in ForceSendFields will be sent to the
2044	// server regardless of whether the field is empty or not. This may be
2045	// used to include empty fields in Patch requests.
2046	ForceSendFields []string `json:"-"`
2047
2048	// NullFields is a list of field names (e.g. "Key") to include in API
2049	// requests with the JSON null value. By default, fields with empty
2050	// values are omitted from API requests. However, any field with an
2051	// empty value appearing in NullFields will be sent to the server as
2052	// null. It is an error if a field in this list has a non-empty value.
2053	// This may be used to include null fields in Patch requests.
2054	NullFields []string `json:"-"`
2055}
2056
2057func (s *Parameter) MarshalJSON() ([]byte, error) {
2058	type NoMethod Parameter
2059	raw := NoMethod(*s)
2060	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2061}
2062
2063// PublishContainerVersionResponse: Publish container version response.
2064type PublishContainerVersionResponse struct {
2065	// CompilerError: Compiler errors or not.
2066	CompilerError bool `json:"compilerError,omitempty"`
2067
2068	// ContainerVersion: The container version created.
2069	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
2070
2071	// ServerResponse contains the HTTP response code and headers from the
2072	// server.
2073	googleapi.ServerResponse `json:"-"`
2074
2075	// ForceSendFields is a list of field names (e.g. "CompilerError") to
2076	// unconditionally include in API requests. By default, fields with
2077	// empty values are omitted from API requests. However, any non-pointer,
2078	// non-interface field appearing in ForceSendFields will be sent to the
2079	// server regardless of whether the field is empty or not. This may be
2080	// used to include empty fields in Patch requests.
2081	ForceSendFields []string `json:"-"`
2082
2083	// NullFields is a list of field names (e.g. "CompilerError") to include
2084	// in API requests with the JSON null value. By default, fields with
2085	// empty values are omitted from API requests. However, any field with
2086	// an empty value appearing in NullFields will be sent to the server as
2087	// null. It is an error if a field in this list has a non-empty value.
2088	// This may be used to include null fields in Patch requests.
2089	NullFields []string `json:"-"`
2090}
2091
2092func (s *PublishContainerVersionResponse) MarshalJSON() ([]byte, error) {
2093	type NoMethod PublishContainerVersionResponse
2094	raw := NoMethod(*s)
2095	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2096}
2097
2098// QuickPreviewResponse: Response to quick previewing a workspace.
2099type QuickPreviewResponse struct {
2100	// CompilerError: Were there compiler errors or not.
2101	CompilerError bool `json:"compilerError,omitempty"`
2102
2103	// ContainerVersion: The quick previewed container version.
2104	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
2105
2106	// SyncStatus: Whether quick previewing failed when syncing the
2107	// workspace to the latest
2108	// container version.
2109	SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
2110
2111	// ServerResponse contains the HTTP response code and headers from the
2112	// server.
2113	googleapi.ServerResponse `json:"-"`
2114
2115	// ForceSendFields is a list of field names (e.g. "CompilerError") to
2116	// unconditionally include in API requests. By default, fields with
2117	// empty values are omitted from API requests. However, any non-pointer,
2118	// non-interface field appearing in ForceSendFields will be sent to the
2119	// server regardless of whether the field is empty or not. This may be
2120	// used to include empty fields in Patch requests.
2121	ForceSendFields []string `json:"-"`
2122
2123	// NullFields is a list of field names (e.g. "CompilerError") to include
2124	// in API requests with the JSON null value. By default, fields with
2125	// empty values are omitted from API requests. However, any field with
2126	// an empty value appearing in NullFields will be sent to the server as
2127	// null. It is an error if a field in this list has a non-empty value.
2128	// This may be used to include null fields in Patch requests.
2129	NullFields []string `json:"-"`
2130}
2131
2132func (s *QuickPreviewResponse) MarshalJSON() ([]byte, error) {
2133	type NoMethod QuickPreviewResponse
2134	raw := NoMethod(*s)
2135	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2136}
2137
2138// RevertBuiltInVariableResponse: The result of reverting a built-in
2139// variable in a workspace.
2140type RevertBuiltInVariableResponse struct {
2141	// Enabled: Whether the built-in variable is enabled after reversion.
2142	Enabled bool `json:"enabled,omitempty"`
2143
2144	// ServerResponse contains the HTTP response code and headers from the
2145	// server.
2146	googleapi.ServerResponse `json:"-"`
2147
2148	// ForceSendFields is a list of field names (e.g. "Enabled") to
2149	// unconditionally include in API requests. By default, fields with
2150	// empty values are omitted from API requests. However, any non-pointer,
2151	// non-interface field appearing in ForceSendFields will be sent to the
2152	// server regardless of whether the field is empty or not. This may be
2153	// used to include empty fields in Patch requests.
2154	ForceSendFields []string `json:"-"`
2155
2156	// NullFields is a list of field names (e.g. "Enabled") to include in
2157	// API requests with the JSON null value. By default, fields with empty
2158	// values are omitted from API requests. However, any field with an
2159	// empty value appearing in NullFields will be sent to the server as
2160	// null. It is an error if a field in this list has a non-empty value.
2161	// This may be used to include null fields in Patch requests.
2162	NullFields []string `json:"-"`
2163}
2164
2165func (s *RevertBuiltInVariableResponse) MarshalJSON() ([]byte, error) {
2166	type NoMethod RevertBuiltInVariableResponse
2167	raw := NoMethod(*s)
2168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2169}
2170
2171// RevertFolderResponse: The result of reverting folder changes in a
2172// workspace.
2173type RevertFolderResponse struct {
2174	// Folder: Folder as it appears in the latest container version since
2175	// the last
2176	// workspace synchronization operation. If no folder is present, that
2177	// means
2178	// the folder was deleted in the latest container version.
2179	Folder *Folder `json:"folder,omitempty"`
2180
2181	// ServerResponse contains the HTTP response code and headers from the
2182	// server.
2183	googleapi.ServerResponse `json:"-"`
2184
2185	// ForceSendFields is a list of field names (e.g. "Folder") to
2186	// unconditionally include in API requests. By default, fields with
2187	// empty values are omitted from API requests. However, any non-pointer,
2188	// non-interface field appearing in ForceSendFields will be sent to the
2189	// server regardless of whether the field is empty or not. This may be
2190	// used to include empty fields in Patch requests.
2191	ForceSendFields []string `json:"-"`
2192
2193	// NullFields is a list of field names (e.g. "Folder") to include in API
2194	// requests with the JSON null value. By default, fields with empty
2195	// values are omitted from API requests. However, any field with an
2196	// empty value appearing in NullFields will be sent to the server as
2197	// null. It is an error if a field in this list has a non-empty value.
2198	// This may be used to include null fields in Patch requests.
2199	NullFields []string `json:"-"`
2200}
2201
2202func (s *RevertFolderResponse) MarshalJSON() ([]byte, error) {
2203	type NoMethod RevertFolderResponse
2204	raw := NoMethod(*s)
2205	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2206}
2207
2208// RevertTagResponse: The result of reverting a tag in a workspace.
2209type RevertTagResponse struct {
2210	// Tag: Tag as it appears in the latest container version since the
2211	// last
2212	// workspace synchronization operation. If no tag is present, that
2213	// means
2214	// the tag was deleted in the latest container version.
2215	Tag *Tag `json:"tag,omitempty"`
2216
2217	// ServerResponse contains the HTTP response code and headers from the
2218	// server.
2219	googleapi.ServerResponse `json:"-"`
2220
2221	// ForceSendFields is a list of field names (e.g. "Tag") to
2222	// unconditionally include in API requests. By default, fields with
2223	// empty values are omitted from API requests. However, any non-pointer,
2224	// non-interface field appearing in ForceSendFields will be sent to the
2225	// server regardless of whether the field is empty or not. This may be
2226	// used to include empty fields in Patch requests.
2227	ForceSendFields []string `json:"-"`
2228
2229	// NullFields is a list of field names (e.g. "Tag") to include in API
2230	// requests with the JSON null value. By default, fields with empty
2231	// values are omitted from API requests. However, any field with an
2232	// empty value appearing in NullFields will be sent to the server as
2233	// null. It is an error if a field in this list has a non-empty value.
2234	// This may be used to include null fields in Patch requests.
2235	NullFields []string `json:"-"`
2236}
2237
2238func (s *RevertTagResponse) MarshalJSON() ([]byte, error) {
2239	type NoMethod RevertTagResponse
2240	raw := NoMethod(*s)
2241	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2242}
2243
2244// RevertTemplateResponse: The result of reverting a template in a
2245// workspace.
2246type RevertTemplateResponse struct {
2247	// Template: Template as it appears in the latest container version
2248	// since the last
2249	// workspace synchronization operation. If no template is present, that
2250	// means
2251	// the template was deleted in the latest container version.
2252	Template *CustomTemplate `json:"template,omitempty"`
2253
2254	// ServerResponse contains the HTTP response code and headers from the
2255	// server.
2256	googleapi.ServerResponse `json:"-"`
2257
2258	// ForceSendFields is a list of field names (e.g. "Template") to
2259	// unconditionally include in API requests. By default, fields with
2260	// empty values are omitted from API requests. However, any non-pointer,
2261	// non-interface field appearing in ForceSendFields will be sent to the
2262	// server regardless of whether the field is empty or not. This may be
2263	// used to include empty fields in Patch requests.
2264	ForceSendFields []string `json:"-"`
2265
2266	// NullFields is a list of field names (e.g. "Template") to include in
2267	// API requests with the JSON null value. By default, fields with empty
2268	// values are omitted from API requests. However, any field with an
2269	// empty value appearing in NullFields will be sent to the server as
2270	// null. It is an error if a field in this list has a non-empty value.
2271	// This may be used to include null fields in Patch requests.
2272	NullFields []string `json:"-"`
2273}
2274
2275func (s *RevertTemplateResponse) MarshalJSON() ([]byte, error) {
2276	type NoMethod RevertTemplateResponse
2277	raw := NoMethod(*s)
2278	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2279}
2280
2281// RevertTriggerResponse: The result of reverting a trigger in a
2282// workspace.
2283type RevertTriggerResponse struct {
2284	// Trigger: Trigger as it appears in the latest container version since
2285	// the last
2286	// workspace synchronization operation. If no trigger is present, that
2287	// means
2288	// the trigger was deleted in the latest container version.
2289	Trigger *Trigger `json:"trigger,omitempty"`
2290
2291	// ServerResponse contains the HTTP response code and headers from the
2292	// server.
2293	googleapi.ServerResponse `json:"-"`
2294
2295	// ForceSendFields is a list of field names (e.g. "Trigger") to
2296	// unconditionally include in API requests. By default, fields with
2297	// empty values are omitted from API requests. However, any non-pointer,
2298	// non-interface field appearing in ForceSendFields will be sent to the
2299	// server regardless of whether the field is empty or not. This may be
2300	// used to include empty fields in Patch requests.
2301	ForceSendFields []string `json:"-"`
2302
2303	// NullFields is a list of field names (e.g. "Trigger") to include in
2304	// API requests with the JSON null value. By default, fields with empty
2305	// values are omitted from API requests. However, any field with an
2306	// empty value appearing in NullFields will be sent to the server as
2307	// null. It is an error if a field in this list has a non-empty value.
2308	// This may be used to include null fields in Patch requests.
2309	NullFields []string `json:"-"`
2310}
2311
2312func (s *RevertTriggerResponse) MarshalJSON() ([]byte, error) {
2313	type NoMethod RevertTriggerResponse
2314	raw := NoMethod(*s)
2315	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2316}
2317
2318// RevertVariableResponse: The result of reverting a variable in a
2319// workspace.
2320type RevertVariableResponse struct {
2321	// Variable: Variable as it appears in the latest container version
2322	// since the last
2323	// workspace synchronization operation. If no variable is present, that
2324	// means
2325	// the variable was deleted in the latest container version.
2326	Variable *Variable `json:"variable,omitempty"`
2327
2328	// ServerResponse contains the HTTP response code and headers from the
2329	// server.
2330	googleapi.ServerResponse `json:"-"`
2331
2332	// ForceSendFields is a list of field names (e.g. "Variable") to
2333	// unconditionally include in API requests. By default, fields with
2334	// empty values are omitted from API requests. However, any non-pointer,
2335	// non-interface field appearing in ForceSendFields will be sent to the
2336	// server regardless of whether the field is empty or not. This may be
2337	// used to include empty fields in Patch requests.
2338	ForceSendFields []string `json:"-"`
2339
2340	// NullFields is a list of field names (e.g. "Variable") to include in
2341	// API requests with the JSON null value. By default, fields with empty
2342	// values are omitted from API requests. However, any field with an
2343	// empty value appearing in NullFields will be sent to the server as
2344	// null. It is an error if a field in this list has a non-empty value.
2345	// This may be used to include null fields in Patch requests.
2346	NullFields []string `json:"-"`
2347}
2348
2349func (s *RevertVariableResponse) MarshalJSON() ([]byte, error) {
2350	type NoMethod RevertVariableResponse
2351	raw := NoMethod(*s)
2352	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2353}
2354
2355// RevertZoneResponse: The result of reverting a zone in a workspace.
2356type RevertZoneResponse struct {
2357	// Zone: Zone as it appears in the latest container version since the
2358	// last
2359	// workspace synchronization operation. If no zone is present, that
2360	// means
2361	// the zone was deleted in the latest container version.
2362	Zone *Zone `json:"zone,omitempty"`
2363
2364	// ServerResponse contains the HTTP response code and headers from the
2365	// server.
2366	googleapi.ServerResponse `json:"-"`
2367
2368	// ForceSendFields is a list of field names (e.g. "Zone") to
2369	// unconditionally include in API requests. By default, fields with
2370	// empty values are omitted from API requests. However, any non-pointer,
2371	// non-interface field appearing in ForceSendFields will be sent to the
2372	// server regardless of whether the field is empty or not. This may be
2373	// used to include empty fields in Patch requests.
2374	ForceSendFields []string `json:"-"`
2375
2376	// NullFields is a list of field names (e.g. "Zone") to include in API
2377	// requests with the JSON null value. By default, fields with empty
2378	// values are omitted from API requests. However, any field with an
2379	// empty value appearing in NullFields will be sent to the server as
2380	// null. It is an error if a field in this list has a non-empty value.
2381	// This may be used to include null fields in Patch requests.
2382	NullFields []string `json:"-"`
2383}
2384
2385func (s *RevertZoneResponse) MarshalJSON() ([]byte, error) {
2386	type NoMethod RevertZoneResponse
2387	raw := NoMethod(*s)
2388	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2389}
2390
2391// SetupTag: Represents a reference to atag that fires before another
2392// tag in order to
2393// set up dependencies.
2394type SetupTag struct {
2395	// StopOnSetupFailure: If true, fire the main tag if and only if the
2396	// setup tag fires
2397	// successfully.
2398	// If false, fire the main tag regardless of setup tag firing status.
2399	StopOnSetupFailure bool `json:"stopOnSetupFailure,omitempty"`
2400
2401	// TagName: The name of the setup tag.
2402	TagName string `json:"tagName,omitempty"`
2403
2404	// ForceSendFields is a list of field names (e.g. "StopOnSetupFailure")
2405	// to unconditionally include in API requests. By default, fields with
2406	// empty values are omitted from API requests. However, any non-pointer,
2407	// non-interface field appearing in ForceSendFields will be sent to the
2408	// server regardless of whether the field is empty or not. This may be
2409	// used to include empty fields in Patch requests.
2410	ForceSendFields []string `json:"-"`
2411
2412	// NullFields is a list of field names (e.g. "StopOnSetupFailure") to
2413	// include in API requests with the JSON null value. By default, fields
2414	// with empty values are omitted from API requests. However, any field
2415	// with an empty value appearing in NullFields will be sent to the
2416	// server as null. It is an error if a field in this list has a
2417	// non-empty value. This may be used to include null fields in Patch
2418	// requests.
2419	NullFields []string `json:"-"`
2420}
2421
2422func (s *SetupTag) MarshalJSON() ([]byte, error) {
2423	type NoMethod SetupTag
2424	raw := NoMethod(*s)
2425	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2426}
2427
2428// SyncStatus: The status of a workspace after synchronization.
2429type SyncStatus struct {
2430	// MergeConflict: Synchornization operation detected a merge conflict.
2431	MergeConflict bool `json:"mergeConflict,omitempty"`
2432
2433	// SyncError: An error occurred during the synchronization operation.
2434	SyncError bool `json:"syncError,omitempty"`
2435
2436	// ForceSendFields is a list of field names (e.g. "MergeConflict") to
2437	// unconditionally include in API requests. By default, fields with
2438	// empty values are omitted from API requests. However, any non-pointer,
2439	// non-interface field appearing in ForceSendFields will be sent to the
2440	// server regardless of whether the field is empty or not. This may be
2441	// used to include empty fields in Patch requests.
2442	ForceSendFields []string `json:"-"`
2443
2444	// NullFields is a list of field names (e.g. "MergeConflict") to include
2445	// in API requests with the JSON null value. By default, fields with
2446	// empty values are omitted from API requests. However, any field with
2447	// an empty value appearing in NullFields will be sent to the server as
2448	// null. It is an error if a field in this list has a non-empty value.
2449	// This may be used to include null fields in Patch requests.
2450	NullFields []string `json:"-"`
2451}
2452
2453func (s *SyncStatus) MarshalJSON() ([]byte, error) {
2454	type NoMethod SyncStatus
2455	raw := NoMethod(*s)
2456	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2457}
2458
2459// SyncWorkspaceResponse: A response after synchronizing the workspace
2460// to the latest container version.
2461type SyncWorkspaceResponse struct {
2462	// MergeConflict: The merge conflict after sync.
2463	// If this field is not empty, the sync is still treated as
2464	// successful.
2465	// But a version cannot be created until all conflicts are resolved.
2466	MergeConflict []*MergeConflict `json:"mergeConflict,omitempty"`
2467
2468	// SyncStatus: Indicates whether synchronization caused a merge conflict
2469	// or sync error.
2470	SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
2471
2472	// ServerResponse contains the HTTP response code and headers from the
2473	// server.
2474	googleapi.ServerResponse `json:"-"`
2475
2476	// ForceSendFields is a list of field names (e.g. "MergeConflict") to
2477	// unconditionally include in API requests. By default, fields with
2478	// empty values are omitted from API requests. However, any non-pointer,
2479	// non-interface field appearing in ForceSendFields will be sent to the
2480	// server regardless of whether the field is empty or not. This may be
2481	// used to include empty fields in Patch requests.
2482	ForceSendFields []string `json:"-"`
2483
2484	// NullFields is a list of field names (e.g. "MergeConflict") to include
2485	// in API requests with the JSON null value. By default, fields with
2486	// empty values are omitted from API requests. However, any field with
2487	// an empty value appearing in NullFields will be sent to the server as
2488	// null. It is an error if a field in this list has a non-empty value.
2489	// This may be used to include null fields in Patch requests.
2490	NullFields []string `json:"-"`
2491}
2492
2493func (s *SyncWorkspaceResponse) MarshalJSON() ([]byte, error) {
2494	type NoMethod SyncWorkspaceResponse
2495	raw := NoMethod(*s)
2496	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2497}
2498
2499// Tag: Represents a Google Tag Manager Tag.
2500type Tag struct {
2501	// AccountId: GTM Account ID.
2502	AccountId string `json:"accountId,omitempty"`
2503
2504	// BlockingRuleId: Blocking rule IDs. If any of the listed rules
2505	// evaluate to true, the tag
2506	//     will not fire.
2507	// @mutable
2508	// tagmanager.accounts.containers.workspaces.tags.create
2509	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2510	BlockingRuleId []string `json:"blockingRuleId,omitempty"`
2511
2512	// BlockingTriggerId: Blocking trigger IDs. If any of the listed
2513	// triggers evaluate to true, the
2514	// tag will not fire.
2515	// @mutable
2516	// tagmanager.accounts.containers.workspaces.tags.create
2517	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2518	BlockingTriggerId []string `json:"blockingTriggerId,omitempty"`
2519
2520	// ContainerId: GTM Container ID.
2521	ContainerId string `json:"containerId,omitempty"`
2522
2523	// Fingerprint: The fingerprint of the GTM Tag as computed at storage
2524	// time.
2525	// This value is recomputed whenever the tag is modified.
2526	Fingerprint string `json:"fingerprint,omitempty"`
2527
2528	// FiringRuleId: Firing rule IDs. A tag will fire when any of the listed
2529	// rules are true and
2530	//     all of its <code>blockingRuleIds</code> (if any specified) are
2531	// false.
2532	// @mutable
2533	// tagmanager.accounts.containers.workspaces.tags.create
2534	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2535	FiringRuleId []string `json:"firingRuleId,omitempty"`
2536
2537	// FiringTriggerId: Firing trigger IDs. A tag will fire when any of the
2538	// listed triggers are
2539	// true and all of its <code>blockingTriggerIds</code> (if any
2540	// specified) are
2541	// false.
2542	// @mutable
2543	// tagmanager.accounts.containers.workspaces.tags.create
2544	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2545	FiringTriggerId []string `json:"firingTriggerId,omitempty"`
2546
2547	// LiveOnly: If set to true, this tag will only fire in the live
2548	// environment (e.g. not
2549	// in preview or debug mode).
2550	// @mutable
2551	// tagmanager.accounts.containers.workspaces.tags.create
2552	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2553	LiveOnly bool `json:"liveOnly,omitempty"`
2554
2555	// Name: Tag display name.
2556	// @mutable
2557	// tagmanager.accounts.containers.workspaces.tags.create
2558	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2559	Name string `json:"name,omitempty"`
2560
2561	// Notes: User notes on how to apply this tag in the container.
2562	// @mutable
2563	// tagmanager.accounts.containers.workspaces.tags.create
2564	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2565	Notes string `json:"notes,omitempty"`
2566
2567	// Parameter: The tag's parameters.
2568	// @mutable
2569	// tagmanager.accounts.containers.workspaces.tags.create
2570	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2571	Parameter []*Parameter `json:"parameter,omitempty"`
2572
2573	// ParentFolderId: Parent folder id.
2574	ParentFolderId string `json:"parentFolderId,omitempty"`
2575
2576	// Path: GTM Tag's API relative path.
2577	Path string `json:"path,omitempty"`
2578
2579	// Paused: Indicates whether the tag is paused, which prevents the tag
2580	// from firing.
2581	// @mutable
2582	// tagmanager.accounts.containers.workspaces.tags.create
2583	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2584	Paused bool `json:"paused,omitempty"`
2585
2586	// Priority: User defined numeric priority of the tag. Tags are fired
2587	// asynchronously in
2588	// order of priority. Tags with higher numeric value fire first. A
2589	// tag's
2590	// priority can be a positive or negative value. The default value is
2591	// 0.
2592	// @mutable
2593	// tagmanager.accounts.containers.workspaces.tags.create
2594	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2595	Priority *Parameter `json:"priority,omitempty"`
2596
2597	// ScheduleEndMs: The end timestamp in milliseconds to schedule a
2598	// tag.
2599	// @mutable
2600	// tagmanager.accounts.containers.workspaces.tags.create
2601	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2602	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
2603
2604	// ScheduleStartMs: The start timestamp in milliseconds to schedule a
2605	// tag.
2606	// @mutable
2607	// tagmanager.accounts.containers.workspaces.tags.create
2608	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2609	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
2610
2611	// SetupTag: The list of setup tags. Currently we only allow one.
2612	SetupTag []*SetupTag `json:"setupTag,omitempty"`
2613
2614	// TagFiringOption: Option to fire this tag.
2615	//
2616	// Possible values:
2617	//   "TAG_FIRING_OPTION_UNSPECIFIED"
2618	//   "UNLIMITED" - Tag can be fired multiple times per event.
2619	//   "ONCE_PER_EVENT" - Tag can only be fired per event but can be fired
2620	// multiple times per load
2621	// (e.g., app load or page load).
2622	//   "ONCE_PER_LOAD" - Tag can only be fired per load (e.g., app load or
2623	// page load).
2624	TagFiringOption string `json:"tagFiringOption,omitempty"`
2625
2626	// TagId: The Tag ID uniquely identifies the GTM Tag.
2627	TagId string `json:"tagId,omitempty"`
2628
2629	// TagManagerUrl: Auto generated link to the tag manager UI
2630	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
2631
2632	// TeardownTag: The list of teardown tags. Currently we only allow one.
2633	TeardownTag []*TeardownTag `json:"teardownTag,omitempty"`
2634
2635	// Type: GTM Tag Type.
2636	// @mutable
2637	// tagmanager.accounts.containers.workspaces.tags.create
2638	// @mutable tagmanager.accounts.containers.workspaces.tags.update
2639	Type string `json:"type,omitempty"`
2640
2641	// WorkspaceId: GTM Workspace ID.
2642	WorkspaceId string `json:"workspaceId,omitempty"`
2643
2644	// ServerResponse contains the HTTP response code and headers from the
2645	// server.
2646	googleapi.ServerResponse `json:"-"`
2647
2648	// ForceSendFields is a list of field names (e.g. "AccountId") to
2649	// unconditionally include in API requests. By default, fields with
2650	// empty values are omitted from API requests. However, any non-pointer,
2651	// non-interface field appearing in ForceSendFields will be sent to the
2652	// server regardless of whether the field is empty or not. This may be
2653	// used to include empty fields in Patch requests.
2654	ForceSendFields []string `json:"-"`
2655
2656	// NullFields is a list of field names (e.g. "AccountId") to include in
2657	// API requests with the JSON null value. By default, fields with empty
2658	// values are omitted from API requests. However, any field with an
2659	// empty value appearing in NullFields will be sent to the server as
2660	// null. It is an error if a field in this list has a non-empty value.
2661	// This may be used to include null fields in Patch requests.
2662	NullFields []string `json:"-"`
2663}
2664
2665func (s *Tag) MarshalJSON() ([]byte, error) {
2666	type NoMethod Tag
2667	raw := NoMethod(*s)
2668	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2669}
2670
2671// TeardownTag: Represents a tag that fires after another tag in order
2672// to tear down
2673// dependencies.
2674type TeardownTag struct {
2675	// StopTeardownOnFailure: If true, fire the teardown tag if and only if
2676	// the main tag fires
2677	// successfully.
2678	// If false, fire the teardown tag regardless of main tag firing status.
2679	StopTeardownOnFailure bool `json:"stopTeardownOnFailure,omitempty"`
2680
2681	// TagName: The name of the teardown tag.
2682	TagName string `json:"tagName,omitempty"`
2683
2684	// ForceSendFields is a list of field names (e.g.
2685	// "StopTeardownOnFailure") to unconditionally include in API requests.
2686	// By default, fields with empty values are omitted from API requests.
2687	// However, any non-pointer, non-interface field appearing in
2688	// ForceSendFields will be sent to the server regardless of whether the
2689	// field is empty or not. This may be used to include empty fields in
2690	// Patch requests.
2691	ForceSendFields []string `json:"-"`
2692
2693	// NullFields is a list of field names (e.g. "StopTeardownOnFailure") to
2694	// include in API requests with the JSON null value. By default, fields
2695	// with empty values are omitted from API requests. However, any field
2696	// with an empty value appearing in NullFields will be sent to the
2697	// server as null. It is an error if a field in this list has a
2698	// non-empty value. This may be used to include null fields in Patch
2699	// requests.
2700	NullFields []string `json:"-"`
2701}
2702
2703func (s *TeardownTag) MarshalJSON() ([]byte, error) {
2704	type NoMethod TeardownTag
2705	raw := NoMethod(*s)
2706	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2707}
2708
2709// Trigger: Represents a Google Tag Manager Trigger
2710type Trigger struct {
2711	// AccountId: GTM Account ID.
2712	AccountId string `json:"accountId,omitempty"`
2713
2714	// AutoEventFilter: Used in the case of auto event tracking.
2715	// @mutable
2716	// tagmanager.accounts.containers.workspaces.triggers.create
2717	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2718	AutoEventFilter []*Condition `json:"autoEventFilter,omitempty"`
2719
2720	// CheckValidation: Whether or not we should only fire tags if the form
2721	// submit or link click
2722	// event is not cancelled by some other event handler (e.g. because
2723	// of
2724	// validation). Only valid for Form Submission and Link Click
2725	// triggers.
2726	// @mutable
2727	// tagmanager.accounts.containers.workspaces.triggers.create
2728	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2729	CheckValidation *Parameter `json:"checkValidation,omitempty"`
2730
2731	// ContainerId: GTM Container ID.
2732	ContainerId string `json:"containerId,omitempty"`
2733
2734	// ContinuousTimeMinMilliseconds: A visibility trigger minimum
2735	// continuous visible time (in milliseconds).
2736	// Only valid for AMP Visibility trigger.
2737	// @mutable
2738	// tagmanager.accounts.containers.workspaces.triggers.create
2739	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2740	ContinuousTimeMinMilliseconds *Parameter `json:"continuousTimeMinMilliseconds,omitempty"`
2741
2742	// CustomEventFilter: Used in the case of custom event, which is fired
2743	// iff all Conditions are
2744	// true.
2745	// @mutable
2746	// tagmanager.accounts.containers.workspaces.triggers.create
2747	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2748	CustomEventFilter []*Condition `json:"customEventFilter,omitempty"`
2749
2750	// EventName: Name of the GTM event that is fired. Only valid for Timer
2751	// triggers.
2752	// @mutable
2753	// tagmanager.accounts.containers.workspaces.triggers.create
2754	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2755	EventName *Parameter `json:"eventName,omitempty"`
2756
2757	// Filter: The trigger will only fire iff all Conditions are
2758	// true.
2759	// @mutable
2760	// tagmanager.accounts.containers.workspaces.triggers.create
2761	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2762	Filter []*Condition `json:"filter,omitempty"`
2763
2764	// Fingerprint: The fingerprint of the GTM Trigger as computed at
2765	// storage time.
2766	// This value is recomputed whenever the trigger is modified.
2767	Fingerprint string `json:"fingerprint,omitempty"`
2768
2769	// HorizontalScrollPercentageList: List of integer percentage values for
2770	// scroll triggers. The trigger will
2771	// fire when each percentage is reached when the view is
2772	// scrolled
2773	// horizontally. Only valid for AMP scroll triggers.
2774	// @mutable
2775	// tagmanager.accounts.containers.workspaces.triggers.create
2776	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2777	HorizontalScrollPercentageList *Parameter `json:"horizontalScrollPercentageList,omitempty"`
2778
2779	// Interval: Time between triggering recurring Timer Events (in
2780	// milliseconds). Only
2781	// valid for Timer triggers.
2782	// @mutable
2783	// tagmanager.accounts.containers.workspaces.triggers.create
2784	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2785	Interval *Parameter `json:"interval,omitempty"`
2786
2787	// IntervalSeconds: Time between Timer Events to fire (in seconds). Only
2788	// valid for AMP Timer
2789	// trigger.
2790	// @mutable
2791	// tagmanager.accounts.containers.workspaces.triggers.create
2792	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2793	IntervalSeconds *Parameter `json:"intervalSeconds,omitempty"`
2794
2795	// Limit: Limit of the number of GTM events this Timer Trigger will
2796	// fire. If no limit
2797	// is set, we will continue to fire GTM events until the user leaves the
2798	// page.
2799	// Only valid for Timer triggers.
2800	// @mutable
2801	// tagmanager.accounts.containers.workspaces.triggers.create
2802	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2803	Limit *Parameter `json:"limit,omitempty"`
2804
2805	// MaxTimerLengthSeconds: Max time to fire Timer Events (in seconds).
2806	// Only valid for AMP Timer
2807	// trigger.
2808	// @mutable
2809	// tagmanager.accounts.containers.workspaces.triggers.create
2810	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2811	MaxTimerLengthSeconds *Parameter `json:"maxTimerLengthSeconds,omitempty"`
2812
2813	// Name: Trigger display name.
2814	// @mutable
2815	// tagmanager.accounts.containers.workspaces.triggers.create
2816	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2817	Name string `json:"name,omitempty"`
2818
2819	// Notes: User notes on how to apply this trigger in the
2820	// container.
2821	// @mutable
2822	// tagmanager.accounts.containers.workspaces.triggers.create
2823	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2824	Notes string `json:"notes,omitempty"`
2825
2826	// Parameter: Additional parameters.
2827	// @mutable
2828	// tagmanager.accounts.containers.workspaces.triggers.create
2829	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2830	Parameter []*Parameter `json:"parameter,omitempty"`
2831
2832	// ParentFolderId: Parent folder id.
2833	ParentFolderId string `json:"parentFolderId,omitempty"`
2834
2835	// Path: GTM Trigger's API relative path.
2836	Path string `json:"path,omitempty"`
2837
2838	// Selector: A click trigger CSS selector (i.e. "a", "button" etc.).
2839	// Only valid for AMP
2840	// Click trigger.
2841	// @mutable
2842	// tagmanager.accounts.containers.workspaces.triggers.create
2843	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2844	Selector *Parameter `json:"selector,omitempty"`
2845
2846	// TagManagerUrl: Auto generated link to the tag manager UI
2847	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
2848
2849	// TotalTimeMinMilliseconds: A visibility trigger minimum total visible
2850	// time (in milliseconds).
2851	// Only valid for AMP Visibility trigger.
2852	// @mutable
2853	// tagmanager.accounts.containers.workspaces.triggers.create
2854	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2855	TotalTimeMinMilliseconds *Parameter `json:"totalTimeMinMilliseconds,omitempty"`
2856
2857	// TriggerId: The Trigger ID uniquely identifies the GTM Trigger.
2858	TriggerId string `json:"triggerId,omitempty"`
2859
2860	// Type: Defines the data layer event that causes this trigger.
2861	// @mutable
2862	// tagmanager.accounts.containers.workspaces.triggers.create
2863	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2864	//
2865	// Possible values:
2866	//   "EVENT_TYPE_UNSPECIFIED"
2867	//   "PAGEVIEW"
2868	//   "DOM_READY"
2869	//   "WINDOW_LOADED"
2870	//   "CUSTOM_EVENT"
2871	//   "TRIGGER_GROUP"
2872	//   "ALWAYS"
2873	//   "FIREBASE_APP_EXCEPTION"
2874	//   "FIREBASE_APP_UPDATE"
2875	//   "FIREBASE_CAMPAIGN"
2876	//   "FIREBASE_FIRST_OPEN"
2877	//   "FIREBASE_IN_APP_PURCHASE"
2878	//   "FIREBASE_NOTIFICATION_DISMISS"
2879	//   "FIREBASE_NOTIFICATION_FOREGROUND"
2880	//   "FIREBASE_NOTIFICATION_OPEN"
2881	//   "FIREBASE_NOTIFICATION_RECEIVE"
2882	//   "FIREBASE_OS_UPDATE"
2883	//   "FIREBASE_SESSION_START"
2884	//   "FIREBASE_USER_ENGAGEMENT"
2885	//   "FORM_SUBMISSION"
2886	//   "CLICK"
2887	//   "LINK_CLICK"
2888	//   "JS_ERROR"
2889	//   "HISTORY_CHANGE"
2890	//   "TIMER"
2891	//   "AMP_CLICK"
2892	//   "AMP_TIMER"
2893	//   "AMP_SCROLL"
2894	//   "AMP_VISIBILITY"
2895	//   "YOU_TUBE_VIDEO"
2896	//   "SCROLL_DEPTH"
2897	//   "ELEMENT_VISIBILITY"
2898	Type string `json:"type,omitempty"`
2899
2900	// UniqueTriggerId: Globally unique id of the trigger that
2901	// auto-generates this (a Form Submit,
2902	// Link Click or Timer listener) if any. Used to make incompatible
2903	// auto-events
2904	// work together with trigger filtering based on trigger ids. This value
2905	// is
2906	// populated during output generation since the tags implied by triggers
2907	// don't
2908	// exist until then. Only valid for Form Submit, Link Click and
2909	// Timer
2910	// triggers.
2911	// @mutable
2912	// tagmanager.accounts.containers.workspaces.triggers.create
2913	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2914	UniqueTriggerId *Parameter `json:"uniqueTriggerId,omitempty"`
2915
2916	// VerticalScrollPercentageList: List of integer percentage values for
2917	// scroll triggers. The trigger will
2918	// fire when each percentage is reached when the view is scrolled
2919	// vertically.
2920	// Only valid for AMP scroll triggers.
2921	// @mutable
2922	// tagmanager.accounts.containers.workspaces.triggers.create
2923	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2924	VerticalScrollPercentageList *Parameter `json:"verticalScrollPercentageList,omitempty"`
2925
2926	// VisibilitySelector: A visibility trigger CSS selector (i.e. "#id").
2927	// Only valid for AMP
2928	// Visibility trigger.
2929	// @mutable
2930	// tagmanager.accounts.containers.workspaces.triggers.create
2931	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2932	VisibilitySelector *Parameter `json:"visibilitySelector,omitempty"`
2933
2934	// VisiblePercentageMax: A visibility trigger maximum percent
2935	// visibility. Only valid for AMP
2936	// Visibility trigger.
2937	// @mutable
2938	// tagmanager.accounts.containers.workspaces.triggers.create
2939	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2940	VisiblePercentageMax *Parameter `json:"visiblePercentageMax,omitempty"`
2941
2942	// VisiblePercentageMin: A visibility trigger minimum percent
2943	// visibility. Only valid for AMP
2944	// Visibility trigger.
2945	// @mutable
2946	// tagmanager.accounts.containers.workspaces.triggers.create
2947	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2948	VisiblePercentageMin *Parameter `json:"visiblePercentageMin,omitempty"`
2949
2950	// WaitForTags: Whether or not we should delay the form submissions or
2951	// link opening
2952	// until all of the tags have fired (by preventing the default
2953	// action and later simulating the default action). Only valid for
2954	// Form Submission and Link Click triggers.
2955	// @mutable
2956	// tagmanager.accounts.containers.workspaces.triggers.create
2957	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2958	WaitForTags *Parameter `json:"waitForTags,omitempty"`
2959
2960	// WaitForTagsTimeout: How long to wait (in milliseconds) for tags to
2961	// fire when 'waits_for_tags'
2962	// above evaluates to <code>true</code>.  Only valid for Form Submission
2963	// and
2964	// Link Click triggers.
2965	// @mutable
2966	// tagmanager.accounts.containers.workspaces.triggers.create
2967	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
2968	WaitForTagsTimeout *Parameter `json:"waitForTagsTimeout,omitempty"`
2969
2970	// WorkspaceId: GTM Workspace ID.
2971	WorkspaceId string `json:"workspaceId,omitempty"`
2972
2973	// ServerResponse contains the HTTP response code and headers from the
2974	// server.
2975	googleapi.ServerResponse `json:"-"`
2976
2977	// ForceSendFields is a list of field names (e.g. "AccountId") to
2978	// unconditionally include in API requests. By default, fields with
2979	// empty values are omitted from API requests. However, any non-pointer,
2980	// non-interface field appearing in ForceSendFields will be sent to the
2981	// server regardless of whether the field is empty or not. This may be
2982	// used to include empty fields in Patch requests.
2983	ForceSendFields []string `json:"-"`
2984
2985	// NullFields is a list of field names (e.g. "AccountId") to include in
2986	// API requests with the JSON null value. By default, fields with empty
2987	// values are omitted from API requests. However, any field with an
2988	// empty value appearing in NullFields will be sent to the server as
2989	// null. It is an error if a field in this list has a non-empty value.
2990	// This may be used to include null fields in Patch requests.
2991	NullFields []string `json:"-"`
2992}
2993
2994func (s *Trigger) MarshalJSON() ([]byte, error) {
2995	type NoMethod Trigger
2996	raw := NoMethod(*s)
2997	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2998}
2999
3000// UserPermission: Represents a user's permissions to an account and its
3001// container.
3002type UserPermission struct {
3003	// AccountAccess: GTM Account access permissions.
3004	// @mutable tagmanager.accounts.permissions.create
3005	// @mutable tagmanager.accounts.permissions.update
3006	AccountAccess *AccountAccess `json:"accountAccess,omitempty"`
3007
3008	// AccountId: The Account ID uniquely identifies the GTM Account.
3009	AccountId string `json:"accountId,omitempty"`
3010
3011	// ContainerAccess: GTM Container access permissions.
3012	// @mutable tagmanager.accounts.permissions.create
3013	// @mutable tagmanager.accounts.permissions.update
3014	ContainerAccess []*ContainerAccess `json:"containerAccess,omitempty"`
3015
3016	// EmailAddress: User's email address.
3017	// @mutable tagmanager.accounts.permissions.create
3018	EmailAddress string `json:"emailAddress,omitempty"`
3019
3020	// Path: GTM UserPermission's API relative path.
3021	Path string `json:"path,omitempty"`
3022
3023	// ServerResponse contains the HTTP response code and headers from the
3024	// server.
3025	googleapi.ServerResponse `json:"-"`
3026
3027	// ForceSendFields is a list of field names (e.g. "AccountAccess") to
3028	// unconditionally include in API requests. By default, fields with
3029	// empty values are omitted from API requests. However, any non-pointer,
3030	// non-interface field appearing in ForceSendFields will be sent to the
3031	// server regardless of whether the field is empty or not. This may be
3032	// used to include empty fields in Patch requests.
3033	ForceSendFields []string `json:"-"`
3034
3035	// NullFields is a list of field names (e.g. "AccountAccess") to include
3036	// in API requests with the JSON null value. By default, fields with
3037	// empty values are omitted from API requests. However, any field with
3038	// an empty value appearing in NullFields will be sent to the server as
3039	// null. It is an error if a field in this list has a non-empty value.
3040	// This may be used to include null fields in Patch requests.
3041	NullFields []string `json:"-"`
3042}
3043
3044func (s *UserPermission) MarshalJSON() ([]byte, error) {
3045	type NoMethod UserPermission
3046	raw := NoMethod(*s)
3047	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3048}
3049
3050// Variable: Represents a Google Tag Manager Variable.
3051type Variable struct {
3052	// AccountId: GTM Account ID.
3053	AccountId string `json:"accountId,omitempty"`
3054
3055	// ContainerId: GTM Container ID.
3056	ContainerId string `json:"containerId,omitempty"`
3057
3058	// DisablingTriggerId: For mobile containers only: A list of trigger IDs
3059	// for disabling conditional
3060	// variables; the variable is enabled if one of the enabling trigger is
3061	// true
3062	// while all the disabling trigger are false. Treated as an unordered
3063	// set.
3064	// @mutable
3065	// tagmanager.accounts.containers.workspaces.variables.create
3066	// @mutable tagmanager.accounts.containers.workspaces.variables.update
3067	DisablingTriggerId []string `json:"disablingTriggerId,omitempty"`
3068
3069	// EnablingTriggerId: For mobile containers only: A list of trigger IDs
3070	// for enabling conditional
3071	// variables; the variable is enabled if one of the enabling triggers is
3072	// true
3073	// while all the disabling triggers are false. Treated as an unordered
3074	// set.
3075	// @mutable
3076	// tagmanager.accounts.containers.workspaces.variables.create
3077	// @mutable tagmanager.accounts.containers.workspaces.variables.update
3078	EnablingTriggerId []string `json:"enablingTriggerId,omitempty"`
3079
3080	// Fingerprint: The fingerprint of the GTM Variable as computed at
3081	// storage time.
3082	// This value is recomputed whenever the variable is modified.
3083	Fingerprint string `json:"fingerprint,omitempty"`
3084
3085	// FormatValue: Option to convert a variable value to other value.
3086	FormatValue *VariableFormatValue `json:"formatValue,omitempty"`
3087
3088	// Name: Variable display name.
3089	// @mutable
3090	// tagmanager.accounts.containers.workspaces.variables.create
3091	// @mutable tagmanager.accounts.containers.workspaces.variables.update
3092	Name string `json:"name,omitempty"`
3093
3094	// Notes: User notes on how to apply this variable in the
3095	// container.
3096	// @mutable
3097	// tagmanager.accounts.containers.workspaces.variables.create
3098	// @mutable tagmanager.accounts.containers.workspaces.variables.update
3099	Notes string `json:"notes,omitempty"`
3100
3101	// Parameter: The variable's parameters.
3102	// @mutable
3103	// tagmanager.accounts.containers.workspaces.variables.create
3104	// @mutable tagmanager.accounts.containers.workspaces.variables.update
3105	Parameter []*Parameter `json:"parameter,omitempty"`
3106
3107	// ParentFolderId: Parent folder id.
3108	ParentFolderId string `json:"parentFolderId,omitempty"`
3109
3110	// Path: GTM Variable's API relative path.
3111	Path string `json:"path,omitempty"`
3112
3113	// ScheduleEndMs: The end timestamp in milliseconds to schedule a
3114	// variable.
3115	// @mutable
3116	// tagmanager.accounts.containers.workspaces.variables.create
3117	// @mutable tagmanager.accounts.containers.workspaces.variables.update
3118	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
3119
3120	// ScheduleStartMs: The start timestamp in milliseconds to schedule a
3121	// variable.
3122	// @mutable
3123	// tagmanager.accounts.containers.workspaces.variables.create
3124	// @mutable tagmanager.accounts.containers.workspaces.variables.update
3125	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
3126
3127	// TagManagerUrl: Auto generated link to the tag manager UI
3128	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
3129
3130	// Type: GTM Variable Type.
3131	// @mutable
3132	// tagmanager.accounts.containers.workspaces.variables.create
3133	// @mutable tagmanager.accounts.containers.workspaces.variables.update
3134	Type string `json:"type,omitempty"`
3135
3136	// VariableId: The Variable ID uniquely identifies the GTM Variable.
3137	VariableId string `json:"variableId,omitempty"`
3138
3139	// WorkspaceId: GTM Workspace ID.
3140	WorkspaceId string `json:"workspaceId,omitempty"`
3141
3142	// ServerResponse contains the HTTP response code and headers from the
3143	// server.
3144	googleapi.ServerResponse `json:"-"`
3145
3146	// ForceSendFields is a list of field names (e.g. "AccountId") to
3147	// unconditionally include in API requests. By default, fields with
3148	// empty values are omitted from API requests. However, any non-pointer,
3149	// non-interface field appearing in ForceSendFields will be sent to the
3150	// server regardless of whether the field is empty or not. This may be
3151	// used to include empty fields in Patch requests.
3152	ForceSendFields []string `json:"-"`
3153
3154	// NullFields is a list of field names (e.g. "AccountId") to include in
3155	// API requests with the JSON null value. By default, fields with empty
3156	// values are omitted from API requests. However, any field with an
3157	// empty value appearing in NullFields will be sent to the server as
3158	// null. It is an error if a field in this list has a non-empty value.
3159	// This may be used to include null fields in Patch requests.
3160	NullFields []string `json:"-"`
3161}
3162
3163func (s *Variable) MarshalJSON() ([]byte, error) {
3164	type NoMethod Variable
3165	raw := NoMethod(*s)
3166	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3167}
3168
3169type VariableFormatValue struct {
3170	// CaseConversionType: The option to convert a string-type variable
3171	// value to either lowercase or
3172	// uppercase.
3173	//
3174	// Possible values:
3175	//   "NONE"
3176	//   "LOWERCASE" - The option to convert a variable value to lowercase.
3177	//   "UPPERCASE" - The option to convert a variable value to uppercase.
3178	CaseConversionType string `json:"caseConversionType,omitempty"`
3179
3180	// ConvertFalseToValue: The value to convert if a variable value is
3181	// false.
3182	ConvertFalseToValue *Parameter `json:"convertFalseToValue,omitempty"`
3183
3184	// ConvertNullToValue: The value to convert if a variable value is null.
3185	ConvertNullToValue *Parameter `json:"convertNullToValue,omitempty"`
3186
3187	// ConvertTrueToValue: The value to convert if a variable value is true.
3188	ConvertTrueToValue *Parameter `json:"convertTrueToValue,omitempty"`
3189
3190	// ConvertUndefinedToValue: The value to convert if a variable value is
3191	// undefined.
3192	ConvertUndefinedToValue *Parameter `json:"convertUndefinedToValue,omitempty"`
3193
3194	// ForceSendFields is a list of field names (e.g. "CaseConversionType")
3195	// to unconditionally include in API requests. By default, fields with
3196	// empty values are omitted from API requests. However, any non-pointer,
3197	// non-interface field appearing in ForceSendFields will be sent to the
3198	// server regardless of whether the field is empty or not. This may be
3199	// used to include empty fields in Patch requests.
3200	ForceSendFields []string `json:"-"`
3201
3202	// NullFields is a list of field names (e.g. "CaseConversionType") to
3203	// include in API requests with the JSON null value. By default, fields
3204	// with empty values are omitted from API requests. However, any field
3205	// with an empty value appearing in NullFields will be sent to the
3206	// server as null. It is an error if a field in this list has a
3207	// non-empty value. This may be used to include null fields in Patch
3208	// requests.
3209	NullFields []string `json:"-"`
3210}
3211
3212func (s *VariableFormatValue) MarshalJSON() ([]byte, error) {
3213	type NoMethod VariableFormatValue
3214	raw := NoMethod(*s)
3215	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3216}
3217
3218// Workspace: Represents a Google Tag Manager Container Workspace.
3219type Workspace struct {
3220	// AccountId: GTM Account ID.
3221	AccountId string `json:"accountId,omitempty"`
3222
3223	// ContainerId: GTM Container ID.
3224	ContainerId string `json:"containerId,omitempty"`
3225
3226	// Description: Workspace description.
3227	// @mutable tagmanager.accounts.containers.workspaces.create
3228	// @mutable tagmanager.accounts.containers.workspaces.update
3229	Description string `json:"description,omitempty"`
3230
3231	// Fingerprint: The fingerprint of the GTM Workspace as computed at
3232	// storage time. This
3233	// value is recomputed whenever the workspace is modified.
3234	Fingerprint string `json:"fingerprint,omitempty"`
3235
3236	// Name: Workspace display name.
3237	// @mutable tagmanager.accounts.containers.workspaces.create
3238	// @mutable tagmanager.accounts.containers.workspaces.update
3239	Name string `json:"name,omitempty"`
3240
3241	// Path: GTM Workspace's API relative path.
3242	Path string `json:"path,omitempty"`
3243
3244	// TagManagerUrl: Auto generated link to the tag manager UI
3245	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
3246
3247	// WorkspaceId: The Workspace ID uniquely identifies the GTM Workspace.
3248	WorkspaceId string `json:"workspaceId,omitempty"`
3249
3250	// ServerResponse contains the HTTP response code and headers from the
3251	// server.
3252	googleapi.ServerResponse `json:"-"`
3253
3254	// ForceSendFields is a list of field names (e.g. "AccountId") to
3255	// unconditionally include in API requests. By default, fields with
3256	// empty values are omitted from API requests. However, any non-pointer,
3257	// non-interface field appearing in ForceSendFields will be sent to the
3258	// server regardless of whether the field is empty or not. This may be
3259	// used to include empty fields in Patch requests.
3260	ForceSendFields []string `json:"-"`
3261
3262	// NullFields is a list of field names (e.g. "AccountId") to include in
3263	// API requests with the JSON null value. By default, fields with empty
3264	// values are omitted from API requests. However, any field with an
3265	// empty value appearing in NullFields will be sent to the server as
3266	// null. It is an error if a field in this list has a non-empty value.
3267	// This may be used to include null fields in Patch requests.
3268	NullFields []string `json:"-"`
3269}
3270
3271func (s *Workspace) MarshalJSON() ([]byte, error) {
3272	type NoMethod Workspace
3273	raw := NoMethod(*s)
3274	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3275}
3276
3277// Zone: Represents a Google Tag Manager Zone's contents.
3278type Zone struct {
3279	// AccountId: GTM Account ID.
3280	AccountId string `json:"accountId,omitempty"`
3281
3282	// Boundary: This Zone's boundary.
3283	Boundary *ZoneBoundary `json:"boundary,omitempty"`
3284
3285	// ChildContainer: Containers that are children of this Zone.
3286	ChildContainer []*ZoneChildContainer `json:"childContainer,omitempty"`
3287
3288	// ContainerId: GTM Container ID.
3289	ContainerId string `json:"containerId,omitempty"`
3290
3291	// Fingerprint: The fingerprint of the GTM Zone as computed at storage
3292	// time.
3293	// This value is recomputed whenever the zone is modified.
3294	Fingerprint string `json:"fingerprint,omitempty"`
3295
3296	// Name: Zone display name.
3297	Name string `json:"name,omitempty"`
3298
3299	// Notes: User notes on how to apply this zone in the container.
3300	Notes string `json:"notes,omitempty"`
3301
3302	// Path: GTM Zone's API relative path.
3303	Path string `json:"path,omitempty"`
3304
3305	// TagManagerUrl: Auto generated link to the tag manager UI
3306	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
3307
3308	// TypeRestriction: This Zone's type restrictions.
3309	TypeRestriction *ZoneTypeRestriction `json:"typeRestriction,omitempty"`
3310
3311	// WorkspaceId: GTM Workspace ID.
3312	WorkspaceId string `json:"workspaceId,omitempty"`
3313
3314	// ZoneId: The Zone ID uniquely identifies the GTM Zone.
3315	ZoneId string `json:"zoneId,omitempty"`
3316
3317	// ServerResponse contains the HTTP response code and headers from the
3318	// server.
3319	googleapi.ServerResponse `json:"-"`
3320
3321	// ForceSendFields is a list of field names (e.g. "AccountId") to
3322	// unconditionally include in API requests. By default, fields with
3323	// empty values are omitted from API requests. However, any non-pointer,
3324	// non-interface field appearing in ForceSendFields will be sent to the
3325	// server regardless of whether the field is empty or not. This may be
3326	// used to include empty fields in Patch requests.
3327	ForceSendFields []string `json:"-"`
3328
3329	// NullFields is a list of field names (e.g. "AccountId") to include in
3330	// API requests with the JSON null value. By default, fields with empty
3331	// values are omitted from API requests. However, any field with an
3332	// empty value appearing in NullFields will be sent to the server as
3333	// null. It is an error if a field in this list has a non-empty value.
3334	// This may be used to include null fields in Patch requests.
3335	NullFields []string `json:"-"`
3336}
3337
3338func (s *Zone) MarshalJSON() ([]byte, error) {
3339	type NoMethod Zone
3340	raw := NoMethod(*s)
3341	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3342}
3343
3344// ZoneBoundary: Represents a Zone's boundaries.
3345type ZoneBoundary struct {
3346	// Condition: The conditions that, when conjoined, make up the boundary.
3347	Condition []*Condition `json:"condition,omitempty"`
3348
3349	// CustomEvaluationTriggerId: Custom evaluation trigger IDs. A zone will
3350	// evaluate its boundary
3351	// conditions when any of the listed triggers are true.
3352	CustomEvaluationTriggerId []string `json:"customEvaluationTriggerId,omitempty"`
3353
3354	// ForceSendFields is a list of field names (e.g. "Condition") to
3355	// unconditionally include in API requests. By default, fields with
3356	// empty values are omitted from API requests. However, any non-pointer,
3357	// non-interface field appearing in ForceSendFields will be sent to the
3358	// server regardless of whether the field is empty or not. This may be
3359	// used to include empty fields in Patch requests.
3360	ForceSendFields []string `json:"-"`
3361
3362	// NullFields is a list of field names (e.g. "Condition") to include in
3363	// API requests with the JSON null value. By default, fields with empty
3364	// values are omitted from API requests. However, any field with an
3365	// empty value appearing in NullFields will be sent to the server as
3366	// null. It is an error if a field in this list has a non-empty value.
3367	// This may be used to include null fields in Patch requests.
3368	NullFields []string `json:"-"`
3369}
3370
3371func (s *ZoneBoundary) MarshalJSON() ([]byte, error) {
3372	type NoMethod ZoneBoundary
3373	raw := NoMethod(*s)
3374	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3375}
3376
3377// ZoneChildContainer: Represents a child container of a Zone.
3378type ZoneChildContainer struct {
3379	// Nickname: The zone's nickname for the child container.
3380	Nickname string `json:"nickname,omitempty"`
3381
3382	// PublicId: The child container's public id.
3383	PublicId string `json:"publicId,omitempty"`
3384
3385	// ForceSendFields is a list of field names (e.g. "Nickname") to
3386	// unconditionally include in API requests. By default, fields with
3387	// empty values are omitted from API requests. However, any non-pointer,
3388	// non-interface field appearing in ForceSendFields will be sent to the
3389	// server regardless of whether the field is empty or not. This may be
3390	// used to include empty fields in Patch requests.
3391	ForceSendFields []string `json:"-"`
3392
3393	// NullFields is a list of field names (e.g. "Nickname") to include in
3394	// API requests with the JSON null value. By default, fields with empty
3395	// values are omitted from API requests. However, any field with an
3396	// empty value appearing in NullFields will be sent to the server as
3397	// null. It is an error if a field in this list has a non-empty value.
3398	// This may be used to include null fields in Patch requests.
3399	NullFields []string `json:"-"`
3400}
3401
3402func (s *ZoneChildContainer) MarshalJSON() ([]byte, error) {
3403	type NoMethod ZoneChildContainer
3404	raw := NoMethod(*s)
3405	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3406}
3407
3408// ZoneTypeRestriction: Represents a Zone's type restrictions.
3409type ZoneTypeRestriction struct {
3410	// Enable: True if type restrictions have been enabled for this Zone.
3411	Enable bool `json:"enable,omitempty"`
3412
3413	// WhitelistedTypeId: List of type public ids that have been whitelisted
3414	// for use in this Zone.
3415	WhitelistedTypeId []string `json:"whitelistedTypeId,omitempty"`
3416
3417	// ForceSendFields is a list of field names (e.g. "Enable") to
3418	// unconditionally include in API requests. By default, fields with
3419	// empty values are omitted from API requests. However, any non-pointer,
3420	// non-interface field appearing in ForceSendFields will be sent to the
3421	// server regardless of whether the field is empty or not. This may be
3422	// used to include empty fields in Patch requests.
3423	ForceSendFields []string `json:"-"`
3424
3425	// NullFields is a list of field names (e.g. "Enable") to include in API
3426	// requests with the JSON null value. By default, fields with empty
3427	// values are omitted from API requests. However, any field with an
3428	// empty value appearing in NullFields will be sent to the server as
3429	// null. It is an error if a field in this list has a non-empty value.
3430	// This may be used to include null fields in Patch requests.
3431	NullFields []string `json:"-"`
3432}
3433
3434func (s *ZoneTypeRestriction) MarshalJSON() ([]byte, error) {
3435	type NoMethod ZoneTypeRestriction
3436	raw := NoMethod(*s)
3437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3438}
3439
3440// method id "tagmanager.accounts.get":
3441
3442type AccountsGetCall struct {
3443	s            *Service
3444	path         string
3445	urlParams_   gensupport.URLParams
3446	ifNoneMatch_ string
3447	ctx_         context.Context
3448	header_      http.Header
3449}
3450
3451// Get: Gets a GTM Account.
3452func (r *AccountsService) Get(path string) *AccountsGetCall {
3453	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3454	c.path = path
3455	return c
3456}
3457
3458// Fields allows partial responses to be retrieved. See
3459// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3460// for more information.
3461func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
3462	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3463	return c
3464}
3465
3466// IfNoneMatch sets the optional parameter which makes the operation
3467// fail if the object's ETag matches the given value. This is useful for
3468// getting updates only after the object has changed since the last
3469// request. Use googleapi.IsNotModified to check whether the response
3470// error from Do is the result of In-None-Match.
3471func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
3472	c.ifNoneMatch_ = entityTag
3473	return c
3474}
3475
3476// Context sets the context to be used in this call's Do method. Any
3477// pending HTTP request will be aborted if the provided context is
3478// canceled.
3479func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
3480	c.ctx_ = ctx
3481	return c
3482}
3483
3484// Header returns an http.Header that can be modified by the caller to
3485// add HTTP headers to the request.
3486func (c *AccountsGetCall) Header() http.Header {
3487	if c.header_ == nil {
3488		c.header_ = make(http.Header)
3489	}
3490	return c.header_
3491}
3492
3493func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
3494	reqHeaders := make(http.Header)
3495	for k, v := range c.header_ {
3496		reqHeaders[k] = v
3497	}
3498	reqHeaders.Set("User-Agent", c.s.userAgent())
3499	if c.ifNoneMatch_ != "" {
3500		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3501	}
3502	var body io.Reader = nil
3503	c.urlParams_.Set("alt", alt)
3504	c.urlParams_.Set("prettyPrint", "false")
3505	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
3506	urls += "?" + c.urlParams_.Encode()
3507	req, err := http.NewRequest("GET", urls, body)
3508	if err != nil {
3509		return nil, err
3510	}
3511	req.Header = reqHeaders
3512	googleapi.Expand(req.URL, map[string]string{
3513		"path": c.path,
3514	})
3515	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3516}
3517
3518// Do executes the "tagmanager.accounts.get" call.
3519// Exactly one of *Account or error will be non-nil. Any non-2xx status
3520// code is an error. Response headers are in either
3521// *Account.ServerResponse.Header or (if a response was returned at all)
3522// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3523// check whether the returned error was because http.StatusNotModified
3524// was returned.
3525func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
3526	gensupport.SetOptions(c.urlParams_, opts...)
3527	res, err := c.doRequest("json")
3528	if res != nil && res.StatusCode == http.StatusNotModified {
3529		if res.Body != nil {
3530			res.Body.Close()
3531		}
3532		return nil, &googleapi.Error{
3533			Code:   res.StatusCode,
3534			Header: res.Header,
3535		}
3536	}
3537	if err != nil {
3538		return nil, err
3539	}
3540	defer googleapi.CloseBody(res)
3541	if err := googleapi.CheckResponse(res); err != nil {
3542		return nil, err
3543	}
3544	ret := &Account{
3545		ServerResponse: googleapi.ServerResponse{
3546			Header:         res.Header,
3547			HTTPStatusCode: res.StatusCode,
3548		},
3549	}
3550	target := &ret
3551	if err := gensupport.DecodeResponse(target, res); err != nil {
3552		return nil, err
3553	}
3554	return ret, nil
3555	// {
3556	//   "description": "Gets a GTM Account.",
3557	//   "flatPath": "tagmanager/v2/accounts/{accountsId}",
3558	//   "httpMethod": "GET",
3559	//   "id": "tagmanager.accounts.get",
3560	//   "parameterOrder": [
3561	//     "path"
3562	//   ],
3563	//   "parameters": {
3564	//     "path": {
3565	//       "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}",
3566	//       "location": "path",
3567	//       "pattern": "^accounts/[^/]+$",
3568	//       "required": true,
3569	//       "type": "string"
3570	//     }
3571	//   },
3572	//   "path": "tagmanager/v2/{+path}",
3573	//   "response": {
3574	//     "$ref": "Account"
3575	//   },
3576	//   "scopes": [
3577	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
3578	//     "https://www.googleapis.com/auth/tagmanager.manage.accounts",
3579	//     "https://www.googleapis.com/auth/tagmanager.readonly"
3580	//   ]
3581	// }
3582
3583}
3584
3585// method id "tagmanager.accounts.list":
3586
3587type AccountsListCall struct {
3588	s            *Service
3589	urlParams_   gensupport.URLParams
3590	ifNoneMatch_ string
3591	ctx_         context.Context
3592	header_      http.Header
3593}
3594
3595// List: Lists all GTM Accounts that a user has access to.
3596func (r *AccountsService) List() *AccountsListCall {
3597	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3598	return c
3599}
3600
3601// PageToken sets the optional parameter "pageToken": Continuation token
3602// for fetching the next page of results.
3603func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
3604	c.urlParams_.Set("pageToken", pageToken)
3605	return c
3606}
3607
3608// Fields allows partial responses to be retrieved. See
3609// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3610// for more information.
3611func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
3612	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3613	return c
3614}
3615
3616// IfNoneMatch sets the optional parameter which makes the operation
3617// fail if the object's ETag matches the given value. This is useful for
3618// getting updates only after the object has changed since the last
3619// request. Use googleapi.IsNotModified to check whether the response
3620// error from Do is the result of In-None-Match.
3621func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
3622	c.ifNoneMatch_ = entityTag
3623	return c
3624}
3625
3626// Context sets the context to be used in this call's Do method. Any
3627// pending HTTP request will be aborted if the provided context is
3628// canceled.
3629func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
3630	c.ctx_ = ctx
3631	return c
3632}
3633
3634// Header returns an http.Header that can be modified by the caller to
3635// add HTTP headers to the request.
3636func (c *AccountsListCall) Header() http.Header {
3637	if c.header_ == nil {
3638		c.header_ = make(http.Header)
3639	}
3640	return c.header_
3641}
3642
3643func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
3644	reqHeaders := make(http.Header)
3645	for k, v := range c.header_ {
3646		reqHeaders[k] = v
3647	}
3648	reqHeaders.Set("User-Agent", c.s.userAgent())
3649	if c.ifNoneMatch_ != "" {
3650		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3651	}
3652	var body io.Reader = nil
3653	c.urlParams_.Set("alt", alt)
3654	c.urlParams_.Set("prettyPrint", "false")
3655	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/accounts")
3656	urls += "?" + c.urlParams_.Encode()
3657	req, err := http.NewRequest("GET", urls, body)
3658	if err != nil {
3659		return nil, err
3660	}
3661	req.Header = reqHeaders
3662	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3663}
3664
3665// Do executes the "tagmanager.accounts.list" call.
3666// Exactly one of *ListAccountsResponse or error will be non-nil. Any
3667// non-2xx status code is an error. Response headers are in either
3668// *ListAccountsResponse.ServerResponse.Header or (if a response was
3669// returned at all) in error.(*googleapi.Error).Header. Use
3670// googleapi.IsNotModified to check whether the returned error was
3671// because http.StatusNotModified was returned.
3672func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*ListAccountsResponse, error) {
3673	gensupport.SetOptions(c.urlParams_, opts...)
3674	res, err := c.doRequest("json")
3675	if res != nil && res.StatusCode == http.StatusNotModified {
3676		if res.Body != nil {
3677			res.Body.Close()
3678		}
3679		return nil, &googleapi.Error{
3680			Code:   res.StatusCode,
3681			Header: res.Header,
3682		}
3683	}
3684	if err != nil {
3685		return nil, err
3686	}
3687	defer googleapi.CloseBody(res)
3688	if err := googleapi.CheckResponse(res); err != nil {
3689		return nil, err
3690	}
3691	ret := &ListAccountsResponse{
3692		ServerResponse: googleapi.ServerResponse{
3693			Header:         res.Header,
3694			HTTPStatusCode: res.StatusCode,
3695		},
3696	}
3697	target := &ret
3698	if err := gensupport.DecodeResponse(target, res); err != nil {
3699		return nil, err
3700	}
3701	return ret, nil
3702	// {
3703	//   "description": "Lists all GTM Accounts that a user has access to.",
3704	//   "flatPath": "tagmanager/v2/accounts",
3705	//   "httpMethod": "GET",
3706	//   "id": "tagmanager.accounts.list",
3707	//   "parameterOrder": [],
3708	//   "parameters": {
3709	//     "pageToken": {
3710	//       "description": "Continuation token for fetching the next page of results.",
3711	//       "location": "query",
3712	//       "type": "string"
3713	//     }
3714	//   },
3715	//   "path": "tagmanager/v2/accounts",
3716	//   "response": {
3717	//     "$ref": "ListAccountsResponse"
3718	//   },
3719	//   "scopes": [
3720	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
3721	//     "https://www.googleapis.com/auth/tagmanager.manage.accounts",
3722	//     "https://www.googleapis.com/auth/tagmanager.readonly"
3723	//   ]
3724	// }
3725
3726}
3727
3728// Pages invokes f for each page of results.
3729// A non-nil error returned from f will halt the iteration.
3730// The provided context supersedes any context provided to the Context method.
3731func (c *AccountsListCall) Pages(ctx context.Context, f func(*ListAccountsResponse) error) error {
3732	c.ctx_ = ctx
3733	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3734	for {
3735		x, err := c.Do()
3736		if err != nil {
3737			return err
3738		}
3739		if err := f(x); err != nil {
3740			return err
3741		}
3742		if x.NextPageToken == "" {
3743			return nil
3744		}
3745		c.PageToken(x.NextPageToken)
3746	}
3747}
3748
3749// method id "tagmanager.accounts.update":
3750
3751type AccountsUpdateCall struct {
3752	s          *Service
3753	path       string
3754	account    *Account
3755	urlParams_ gensupport.URLParams
3756	ctx_       context.Context
3757	header_    http.Header
3758}
3759
3760// Update: Updates a GTM Account.
3761func (r *AccountsService) Update(path string, account *Account) *AccountsUpdateCall {
3762	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3763	c.path = path
3764	c.account = account
3765	return c
3766}
3767
3768// Fingerprint sets the optional parameter "fingerprint": When provided,
3769// this fingerprint must match the fingerprint of the account
3770// in storage.
3771func (c *AccountsUpdateCall) Fingerprint(fingerprint string) *AccountsUpdateCall {
3772	c.urlParams_.Set("fingerprint", fingerprint)
3773	return c
3774}
3775
3776// Fields allows partial responses to be retrieved. See
3777// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3778// for more information.
3779func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
3780	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3781	return c
3782}
3783
3784// Context sets the context to be used in this call's Do method. Any
3785// pending HTTP request will be aborted if the provided context is
3786// canceled.
3787func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
3788	c.ctx_ = ctx
3789	return c
3790}
3791
3792// Header returns an http.Header that can be modified by the caller to
3793// add HTTP headers to the request.
3794func (c *AccountsUpdateCall) Header() http.Header {
3795	if c.header_ == nil {
3796		c.header_ = make(http.Header)
3797	}
3798	return c.header_
3799}
3800
3801func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
3802	reqHeaders := make(http.Header)
3803	for k, v := range c.header_ {
3804		reqHeaders[k] = v
3805	}
3806	reqHeaders.Set("User-Agent", c.s.userAgent())
3807	var body io.Reader = nil
3808	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
3809	if err != nil {
3810		return nil, err
3811	}
3812	reqHeaders.Set("Content-Type", "application/json")
3813	c.urlParams_.Set("alt", alt)
3814	c.urlParams_.Set("prettyPrint", "false")
3815	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
3816	urls += "?" + c.urlParams_.Encode()
3817	req, err := http.NewRequest("PUT", urls, body)
3818	if err != nil {
3819		return nil, err
3820	}
3821	req.Header = reqHeaders
3822	googleapi.Expand(req.URL, map[string]string{
3823		"path": c.path,
3824	})
3825	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3826}
3827
3828// Do executes the "tagmanager.accounts.update" call.
3829// Exactly one of *Account or error will be non-nil. Any non-2xx status
3830// code is an error. Response headers are in either
3831// *Account.ServerResponse.Header or (if a response was returned at all)
3832// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3833// check whether the returned error was because http.StatusNotModified
3834// was returned.
3835func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
3836	gensupport.SetOptions(c.urlParams_, opts...)
3837	res, err := c.doRequest("json")
3838	if res != nil && res.StatusCode == http.StatusNotModified {
3839		if res.Body != nil {
3840			res.Body.Close()
3841		}
3842		return nil, &googleapi.Error{
3843			Code:   res.StatusCode,
3844			Header: res.Header,
3845		}
3846	}
3847	if err != nil {
3848		return nil, err
3849	}
3850	defer googleapi.CloseBody(res)
3851	if err := googleapi.CheckResponse(res); err != nil {
3852		return nil, err
3853	}
3854	ret := &Account{
3855		ServerResponse: googleapi.ServerResponse{
3856			Header:         res.Header,
3857			HTTPStatusCode: res.StatusCode,
3858		},
3859	}
3860	target := &ret
3861	if err := gensupport.DecodeResponse(target, res); err != nil {
3862		return nil, err
3863	}
3864	return ret, nil
3865	// {
3866	//   "description": "Updates a GTM Account.",
3867	//   "flatPath": "tagmanager/v2/accounts/{accountsId}",
3868	//   "httpMethod": "PUT",
3869	//   "id": "tagmanager.accounts.update",
3870	//   "parameterOrder": [
3871	//     "path"
3872	//   ],
3873	//   "parameters": {
3874	//     "fingerprint": {
3875	//       "description": "When provided, this fingerprint must match the fingerprint of the account\nin storage.",
3876	//       "location": "query",
3877	//       "type": "string"
3878	//     },
3879	//     "path": {
3880	//       "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}",
3881	//       "location": "path",
3882	//       "pattern": "^accounts/[^/]+$",
3883	//       "required": true,
3884	//       "type": "string"
3885	//     }
3886	//   },
3887	//   "path": "tagmanager/v2/{+path}",
3888	//   "request": {
3889	//     "$ref": "Account"
3890	//   },
3891	//   "response": {
3892	//     "$ref": "Account"
3893	//   },
3894	//   "scopes": [
3895	//     "https://www.googleapis.com/auth/tagmanager.manage.accounts"
3896	//   ]
3897	// }
3898
3899}
3900
3901// method id "tagmanager.accounts.containers.create":
3902
3903type AccountsContainersCreateCall struct {
3904	s          *Service
3905	parent     string
3906	container  *Container
3907	urlParams_ gensupport.URLParams
3908	ctx_       context.Context
3909	header_    http.Header
3910}
3911
3912// Create: Creates a Container.
3913func (r *AccountsContainersService) Create(parent string, container *Container) *AccountsContainersCreateCall {
3914	c := &AccountsContainersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3915	c.parent = parent
3916	c.container = container
3917	return c
3918}
3919
3920// Fields allows partial responses to be retrieved. See
3921// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3922// for more information.
3923func (c *AccountsContainersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersCreateCall {
3924	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3925	return c
3926}
3927
3928// Context sets the context to be used in this call's Do method. Any
3929// pending HTTP request will be aborted if the provided context is
3930// canceled.
3931func (c *AccountsContainersCreateCall) Context(ctx context.Context) *AccountsContainersCreateCall {
3932	c.ctx_ = ctx
3933	return c
3934}
3935
3936// Header returns an http.Header that can be modified by the caller to
3937// add HTTP headers to the request.
3938func (c *AccountsContainersCreateCall) Header() http.Header {
3939	if c.header_ == nil {
3940		c.header_ = make(http.Header)
3941	}
3942	return c.header_
3943}
3944
3945func (c *AccountsContainersCreateCall) doRequest(alt string) (*http.Response, error) {
3946	reqHeaders := make(http.Header)
3947	for k, v := range c.header_ {
3948		reqHeaders[k] = v
3949	}
3950	reqHeaders.Set("User-Agent", c.s.userAgent())
3951	var body io.Reader = nil
3952	body, err := googleapi.WithoutDataWrapper.JSONReader(c.container)
3953	if err != nil {
3954		return nil, err
3955	}
3956	reqHeaders.Set("Content-Type", "application/json")
3957	c.urlParams_.Set("alt", alt)
3958	c.urlParams_.Set("prettyPrint", "false")
3959	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/containers")
3960	urls += "?" + c.urlParams_.Encode()
3961	req, err := http.NewRequest("POST", urls, body)
3962	if err != nil {
3963		return nil, err
3964	}
3965	req.Header = reqHeaders
3966	googleapi.Expand(req.URL, map[string]string{
3967		"parent": c.parent,
3968	})
3969	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3970}
3971
3972// Do executes the "tagmanager.accounts.containers.create" call.
3973// Exactly one of *Container or error will be non-nil. Any non-2xx
3974// status code is an error. Response headers are in either
3975// *Container.ServerResponse.Header or (if a response was returned at
3976// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3977// to check whether the returned error was because
3978// http.StatusNotModified was returned.
3979func (c *AccountsContainersCreateCall) Do(opts ...googleapi.CallOption) (*Container, error) {
3980	gensupport.SetOptions(c.urlParams_, opts...)
3981	res, err := c.doRequest("json")
3982	if res != nil && res.StatusCode == http.StatusNotModified {
3983		if res.Body != nil {
3984			res.Body.Close()
3985		}
3986		return nil, &googleapi.Error{
3987			Code:   res.StatusCode,
3988			Header: res.Header,
3989		}
3990	}
3991	if err != nil {
3992		return nil, err
3993	}
3994	defer googleapi.CloseBody(res)
3995	if err := googleapi.CheckResponse(res); err != nil {
3996		return nil, err
3997	}
3998	ret := &Container{
3999		ServerResponse: googleapi.ServerResponse{
4000			Header:         res.Header,
4001			HTTPStatusCode: res.StatusCode,
4002		},
4003	}
4004	target := &ret
4005	if err := gensupport.DecodeResponse(target, res); err != nil {
4006		return nil, err
4007	}
4008	return ret, nil
4009	// {
4010	//   "description": "Creates a Container.",
4011	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers",
4012	//   "httpMethod": "POST",
4013	//   "id": "tagmanager.accounts.containers.create",
4014	//   "parameterOrder": [
4015	//     "parent"
4016	//   ],
4017	//   "parameters": {
4018	//     "parent": {
4019	//       "description": "GTM Account's API relative path.\nExample: accounts/{account_id}.",
4020	//       "location": "path",
4021	//       "pattern": "^accounts/[^/]+$",
4022	//       "required": true,
4023	//       "type": "string"
4024	//     }
4025	//   },
4026	//   "path": "tagmanager/v2/{+parent}/containers",
4027	//   "request": {
4028	//     "$ref": "Container"
4029	//   },
4030	//   "response": {
4031	//     "$ref": "Container"
4032	//   },
4033	//   "scopes": [
4034	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
4035	//   ]
4036	// }
4037
4038}
4039
4040// method id "tagmanager.accounts.containers.delete":
4041
4042type AccountsContainersDeleteCall struct {
4043	s          *Service
4044	path       string
4045	urlParams_ gensupport.URLParams
4046	ctx_       context.Context
4047	header_    http.Header
4048}
4049
4050// Delete: Deletes a Container.
4051func (r *AccountsContainersService) Delete(path string) *AccountsContainersDeleteCall {
4052	c := &AccountsContainersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4053	c.path = path
4054	return c
4055}
4056
4057// Fields allows partial responses to be retrieved. See
4058// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4059// for more information.
4060func (c *AccountsContainersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersDeleteCall {
4061	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4062	return c
4063}
4064
4065// Context sets the context to be used in this call's Do method. Any
4066// pending HTTP request will be aborted if the provided context is
4067// canceled.
4068func (c *AccountsContainersDeleteCall) Context(ctx context.Context) *AccountsContainersDeleteCall {
4069	c.ctx_ = ctx
4070	return c
4071}
4072
4073// Header returns an http.Header that can be modified by the caller to
4074// add HTTP headers to the request.
4075func (c *AccountsContainersDeleteCall) Header() http.Header {
4076	if c.header_ == nil {
4077		c.header_ = make(http.Header)
4078	}
4079	return c.header_
4080}
4081
4082func (c *AccountsContainersDeleteCall) doRequest(alt string) (*http.Response, error) {
4083	reqHeaders := make(http.Header)
4084	for k, v := range c.header_ {
4085		reqHeaders[k] = v
4086	}
4087	reqHeaders.Set("User-Agent", c.s.userAgent())
4088	var body io.Reader = nil
4089	c.urlParams_.Set("alt", alt)
4090	c.urlParams_.Set("prettyPrint", "false")
4091	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
4092	urls += "?" + c.urlParams_.Encode()
4093	req, err := http.NewRequest("DELETE", urls, body)
4094	if err != nil {
4095		return nil, err
4096	}
4097	req.Header = reqHeaders
4098	googleapi.Expand(req.URL, map[string]string{
4099		"path": c.path,
4100	})
4101	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4102}
4103
4104// Do executes the "tagmanager.accounts.containers.delete" call.
4105func (c *AccountsContainersDeleteCall) Do(opts ...googleapi.CallOption) error {
4106	gensupport.SetOptions(c.urlParams_, opts...)
4107	res, err := c.doRequest("json")
4108	if err != nil {
4109		return err
4110	}
4111	defer googleapi.CloseBody(res)
4112	if err := googleapi.CheckResponse(res); err != nil {
4113		return err
4114	}
4115	return nil
4116	// {
4117	//   "description": "Deletes a Container.",
4118	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}",
4119	//   "httpMethod": "DELETE",
4120	//   "id": "tagmanager.accounts.containers.delete",
4121	//   "parameterOrder": [
4122	//     "path"
4123	//   ],
4124	//   "parameters": {
4125	//     "path": {
4126	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
4127	//       "location": "path",
4128	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
4129	//       "required": true,
4130	//       "type": "string"
4131	//     }
4132	//   },
4133	//   "path": "tagmanager/v2/{+path}",
4134	//   "scopes": [
4135	//     "https://www.googleapis.com/auth/tagmanager.delete.containers"
4136	//   ]
4137	// }
4138
4139}
4140
4141// method id "tagmanager.accounts.containers.get":
4142
4143type AccountsContainersGetCall struct {
4144	s            *Service
4145	path         string
4146	urlParams_   gensupport.URLParams
4147	ifNoneMatch_ string
4148	ctx_         context.Context
4149	header_      http.Header
4150}
4151
4152// Get: Gets a Container.
4153func (r *AccountsContainersService) Get(path string) *AccountsContainersGetCall {
4154	c := &AccountsContainersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4155	c.path = path
4156	return c
4157}
4158
4159// Fields allows partial responses to be retrieved. See
4160// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4161// for more information.
4162func (c *AccountsContainersGetCall) Fields(s ...googleapi.Field) *AccountsContainersGetCall {
4163	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4164	return c
4165}
4166
4167// IfNoneMatch sets the optional parameter which makes the operation
4168// fail if the object's ETag matches the given value. This is useful for
4169// getting updates only after the object has changed since the last
4170// request. Use googleapi.IsNotModified to check whether the response
4171// error from Do is the result of In-None-Match.
4172func (c *AccountsContainersGetCall) IfNoneMatch(entityTag string) *AccountsContainersGetCall {
4173	c.ifNoneMatch_ = entityTag
4174	return c
4175}
4176
4177// Context sets the context to be used in this call's Do method. Any
4178// pending HTTP request will be aborted if the provided context is
4179// canceled.
4180func (c *AccountsContainersGetCall) Context(ctx context.Context) *AccountsContainersGetCall {
4181	c.ctx_ = ctx
4182	return c
4183}
4184
4185// Header returns an http.Header that can be modified by the caller to
4186// add HTTP headers to the request.
4187func (c *AccountsContainersGetCall) Header() http.Header {
4188	if c.header_ == nil {
4189		c.header_ = make(http.Header)
4190	}
4191	return c.header_
4192}
4193
4194func (c *AccountsContainersGetCall) doRequest(alt string) (*http.Response, error) {
4195	reqHeaders := make(http.Header)
4196	for k, v := range c.header_ {
4197		reqHeaders[k] = v
4198	}
4199	reqHeaders.Set("User-Agent", c.s.userAgent())
4200	if c.ifNoneMatch_ != "" {
4201		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4202	}
4203	var body io.Reader = nil
4204	c.urlParams_.Set("alt", alt)
4205	c.urlParams_.Set("prettyPrint", "false")
4206	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
4207	urls += "?" + c.urlParams_.Encode()
4208	req, err := http.NewRequest("GET", urls, body)
4209	if err != nil {
4210		return nil, err
4211	}
4212	req.Header = reqHeaders
4213	googleapi.Expand(req.URL, map[string]string{
4214		"path": c.path,
4215	})
4216	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4217}
4218
4219// Do executes the "tagmanager.accounts.containers.get" call.
4220// Exactly one of *Container or error will be non-nil. Any non-2xx
4221// status code is an error. Response headers are in either
4222// *Container.ServerResponse.Header or (if a response was returned at
4223// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4224// to check whether the returned error was because
4225// http.StatusNotModified was returned.
4226func (c *AccountsContainersGetCall) Do(opts ...googleapi.CallOption) (*Container, error) {
4227	gensupport.SetOptions(c.urlParams_, opts...)
4228	res, err := c.doRequest("json")
4229	if res != nil && res.StatusCode == http.StatusNotModified {
4230		if res.Body != nil {
4231			res.Body.Close()
4232		}
4233		return nil, &googleapi.Error{
4234			Code:   res.StatusCode,
4235			Header: res.Header,
4236		}
4237	}
4238	if err != nil {
4239		return nil, err
4240	}
4241	defer googleapi.CloseBody(res)
4242	if err := googleapi.CheckResponse(res); err != nil {
4243		return nil, err
4244	}
4245	ret := &Container{
4246		ServerResponse: googleapi.ServerResponse{
4247			Header:         res.Header,
4248			HTTPStatusCode: res.StatusCode,
4249		},
4250	}
4251	target := &ret
4252	if err := gensupport.DecodeResponse(target, res); err != nil {
4253		return nil, err
4254	}
4255	return ret, nil
4256	// {
4257	//   "description": "Gets a Container.",
4258	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}",
4259	//   "httpMethod": "GET",
4260	//   "id": "tagmanager.accounts.containers.get",
4261	//   "parameterOrder": [
4262	//     "path"
4263	//   ],
4264	//   "parameters": {
4265	//     "path": {
4266	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
4267	//       "location": "path",
4268	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
4269	//       "required": true,
4270	//       "type": "string"
4271	//     }
4272	//   },
4273	//   "path": "tagmanager/v2/{+path}",
4274	//   "response": {
4275	//     "$ref": "Container"
4276	//   },
4277	//   "scopes": [
4278	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
4279	//     "https://www.googleapis.com/auth/tagmanager.readonly"
4280	//   ]
4281	// }
4282
4283}
4284
4285// method id "tagmanager.accounts.containers.list":
4286
4287type AccountsContainersListCall struct {
4288	s            *Service
4289	parent       string
4290	urlParams_   gensupport.URLParams
4291	ifNoneMatch_ string
4292	ctx_         context.Context
4293	header_      http.Header
4294}
4295
4296// List: Lists all Containers that belongs to a GTM Account.
4297func (r *AccountsContainersService) List(parent string) *AccountsContainersListCall {
4298	c := &AccountsContainersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4299	c.parent = parent
4300	return c
4301}
4302
4303// PageToken sets the optional parameter "pageToken": Continuation token
4304// for fetching the next page of results.
4305func (c *AccountsContainersListCall) PageToken(pageToken string) *AccountsContainersListCall {
4306	c.urlParams_.Set("pageToken", pageToken)
4307	return c
4308}
4309
4310// Fields allows partial responses to be retrieved. See
4311// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4312// for more information.
4313func (c *AccountsContainersListCall) Fields(s ...googleapi.Field) *AccountsContainersListCall {
4314	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4315	return c
4316}
4317
4318// IfNoneMatch sets the optional parameter which makes the operation
4319// fail if the object's ETag matches the given value. This is useful for
4320// getting updates only after the object has changed since the last
4321// request. Use googleapi.IsNotModified to check whether the response
4322// error from Do is the result of In-None-Match.
4323func (c *AccountsContainersListCall) IfNoneMatch(entityTag string) *AccountsContainersListCall {
4324	c.ifNoneMatch_ = entityTag
4325	return c
4326}
4327
4328// Context sets the context to be used in this call's Do method. Any
4329// pending HTTP request will be aborted if the provided context is
4330// canceled.
4331func (c *AccountsContainersListCall) Context(ctx context.Context) *AccountsContainersListCall {
4332	c.ctx_ = ctx
4333	return c
4334}
4335
4336// Header returns an http.Header that can be modified by the caller to
4337// add HTTP headers to the request.
4338func (c *AccountsContainersListCall) Header() http.Header {
4339	if c.header_ == nil {
4340		c.header_ = make(http.Header)
4341	}
4342	return c.header_
4343}
4344
4345func (c *AccountsContainersListCall) doRequest(alt string) (*http.Response, error) {
4346	reqHeaders := make(http.Header)
4347	for k, v := range c.header_ {
4348		reqHeaders[k] = v
4349	}
4350	reqHeaders.Set("User-Agent", c.s.userAgent())
4351	if c.ifNoneMatch_ != "" {
4352		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4353	}
4354	var body io.Reader = nil
4355	c.urlParams_.Set("alt", alt)
4356	c.urlParams_.Set("prettyPrint", "false")
4357	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/containers")
4358	urls += "?" + c.urlParams_.Encode()
4359	req, err := http.NewRequest("GET", urls, body)
4360	if err != nil {
4361		return nil, err
4362	}
4363	req.Header = reqHeaders
4364	googleapi.Expand(req.URL, map[string]string{
4365		"parent": c.parent,
4366	})
4367	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4368}
4369
4370// Do executes the "tagmanager.accounts.containers.list" call.
4371// Exactly one of *ListContainersResponse or error will be non-nil. Any
4372// non-2xx status code is an error. Response headers are in either
4373// *ListContainersResponse.ServerResponse.Header or (if a response was
4374// returned at all) in error.(*googleapi.Error).Header. Use
4375// googleapi.IsNotModified to check whether the returned error was
4376// because http.StatusNotModified was returned.
4377func (c *AccountsContainersListCall) Do(opts ...googleapi.CallOption) (*ListContainersResponse, error) {
4378	gensupport.SetOptions(c.urlParams_, opts...)
4379	res, err := c.doRequest("json")
4380	if res != nil && res.StatusCode == http.StatusNotModified {
4381		if res.Body != nil {
4382			res.Body.Close()
4383		}
4384		return nil, &googleapi.Error{
4385			Code:   res.StatusCode,
4386			Header: res.Header,
4387		}
4388	}
4389	if err != nil {
4390		return nil, err
4391	}
4392	defer googleapi.CloseBody(res)
4393	if err := googleapi.CheckResponse(res); err != nil {
4394		return nil, err
4395	}
4396	ret := &ListContainersResponse{
4397		ServerResponse: googleapi.ServerResponse{
4398			Header:         res.Header,
4399			HTTPStatusCode: res.StatusCode,
4400		},
4401	}
4402	target := &ret
4403	if err := gensupport.DecodeResponse(target, res); err != nil {
4404		return nil, err
4405	}
4406	return ret, nil
4407	// {
4408	//   "description": "Lists all Containers that belongs to a GTM Account.",
4409	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers",
4410	//   "httpMethod": "GET",
4411	//   "id": "tagmanager.accounts.containers.list",
4412	//   "parameterOrder": [
4413	//     "parent"
4414	//   ],
4415	//   "parameters": {
4416	//     "pageToken": {
4417	//       "description": "Continuation token for fetching the next page of results.",
4418	//       "location": "query",
4419	//       "type": "string"
4420	//     },
4421	//     "parent": {
4422	//       "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}.",
4423	//       "location": "path",
4424	//       "pattern": "^accounts/[^/]+$",
4425	//       "required": true,
4426	//       "type": "string"
4427	//     }
4428	//   },
4429	//   "path": "tagmanager/v2/{+parent}/containers",
4430	//   "response": {
4431	//     "$ref": "ListContainersResponse"
4432	//   },
4433	//   "scopes": [
4434	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
4435	//     "https://www.googleapis.com/auth/tagmanager.readonly"
4436	//   ]
4437	// }
4438
4439}
4440
4441// Pages invokes f for each page of results.
4442// A non-nil error returned from f will halt the iteration.
4443// The provided context supersedes any context provided to the Context method.
4444func (c *AccountsContainersListCall) Pages(ctx context.Context, f func(*ListContainersResponse) error) error {
4445	c.ctx_ = ctx
4446	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
4447	for {
4448		x, err := c.Do()
4449		if err != nil {
4450			return err
4451		}
4452		if err := f(x); err != nil {
4453			return err
4454		}
4455		if x.NextPageToken == "" {
4456			return nil
4457		}
4458		c.PageToken(x.NextPageToken)
4459	}
4460}
4461
4462// method id "tagmanager.accounts.containers.update":
4463
4464type AccountsContainersUpdateCall struct {
4465	s          *Service
4466	path       string
4467	container  *Container
4468	urlParams_ gensupport.URLParams
4469	ctx_       context.Context
4470	header_    http.Header
4471}
4472
4473// Update: Updates a Container.
4474func (r *AccountsContainersService) Update(path string, container *Container) *AccountsContainersUpdateCall {
4475	c := &AccountsContainersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4476	c.path = path
4477	c.container = container
4478	return c
4479}
4480
4481// Fingerprint sets the optional parameter "fingerprint": When provided,
4482// this fingerprint must match the fingerprint of the
4483// container in storage.
4484func (c *AccountsContainersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersUpdateCall {
4485	c.urlParams_.Set("fingerprint", fingerprint)
4486	return c
4487}
4488
4489// Fields allows partial responses to be retrieved. See
4490// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4491// for more information.
4492func (c *AccountsContainersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersUpdateCall {
4493	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4494	return c
4495}
4496
4497// Context sets the context to be used in this call's Do method. Any
4498// pending HTTP request will be aborted if the provided context is
4499// canceled.
4500func (c *AccountsContainersUpdateCall) Context(ctx context.Context) *AccountsContainersUpdateCall {
4501	c.ctx_ = ctx
4502	return c
4503}
4504
4505// Header returns an http.Header that can be modified by the caller to
4506// add HTTP headers to the request.
4507func (c *AccountsContainersUpdateCall) Header() http.Header {
4508	if c.header_ == nil {
4509		c.header_ = make(http.Header)
4510	}
4511	return c.header_
4512}
4513
4514func (c *AccountsContainersUpdateCall) doRequest(alt string) (*http.Response, error) {
4515	reqHeaders := make(http.Header)
4516	for k, v := range c.header_ {
4517		reqHeaders[k] = v
4518	}
4519	reqHeaders.Set("User-Agent", c.s.userAgent())
4520	var body io.Reader = nil
4521	body, err := googleapi.WithoutDataWrapper.JSONReader(c.container)
4522	if err != nil {
4523		return nil, err
4524	}
4525	reqHeaders.Set("Content-Type", "application/json")
4526	c.urlParams_.Set("alt", alt)
4527	c.urlParams_.Set("prettyPrint", "false")
4528	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
4529	urls += "?" + c.urlParams_.Encode()
4530	req, err := http.NewRequest("PUT", urls, body)
4531	if err != nil {
4532		return nil, err
4533	}
4534	req.Header = reqHeaders
4535	googleapi.Expand(req.URL, map[string]string{
4536		"path": c.path,
4537	})
4538	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4539}
4540
4541// Do executes the "tagmanager.accounts.containers.update" call.
4542// Exactly one of *Container or error will be non-nil. Any non-2xx
4543// status code is an error. Response headers are in either
4544// *Container.ServerResponse.Header or (if a response was returned at
4545// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4546// to check whether the returned error was because
4547// http.StatusNotModified was returned.
4548func (c *AccountsContainersUpdateCall) Do(opts ...googleapi.CallOption) (*Container, error) {
4549	gensupport.SetOptions(c.urlParams_, opts...)
4550	res, err := c.doRequest("json")
4551	if res != nil && res.StatusCode == http.StatusNotModified {
4552		if res.Body != nil {
4553			res.Body.Close()
4554		}
4555		return nil, &googleapi.Error{
4556			Code:   res.StatusCode,
4557			Header: res.Header,
4558		}
4559	}
4560	if err != nil {
4561		return nil, err
4562	}
4563	defer googleapi.CloseBody(res)
4564	if err := googleapi.CheckResponse(res); err != nil {
4565		return nil, err
4566	}
4567	ret := &Container{
4568		ServerResponse: googleapi.ServerResponse{
4569			Header:         res.Header,
4570			HTTPStatusCode: res.StatusCode,
4571		},
4572	}
4573	target := &ret
4574	if err := gensupport.DecodeResponse(target, res); err != nil {
4575		return nil, err
4576	}
4577	return ret, nil
4578	// {
4579	//   "description": "Updates a Container.",
4580	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}",
4581	//   "httpMethod": "PUT",
4582	//   "id": "tagmanager.accounts.containers.update",
4583	//   "parameterOrder": [
4584	//     "path"
4585	//   ],
4586	//   "parameters": {
4587	//     "fingerprint": {
4588	//       "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer in storage.",
4589	//       "location": "query",
4590	//       "type": "string"
4591	//     },
4592	//     "path": {
4593	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
4594	//       "location": "path",
4595	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
4596	//       "required": true,
4597	//       "type": "string"
4598	//     }
4599	//   },
4600	//   "path": "tagmanager/v2/{+path}",
4601	//   "request": {
4602	//     "$ref": "Container"
4603	//   },
4604	//   "response": {
4605	//     "$ref": "Container"
4606	//   },
4607	//   "scopes": [
4608	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
4609	//   ]
4610	// }
4611
4612}
4613
4614// method id "tagmanager.accounts.containers.environments.create":
4615
4616type AccountsContainersEnvironmentsCreateCall struct {
4617	s           *Service
4618	parent      string
4619	environment *Environment
4620	urlParams_  gensupport.URLParams
4621	ctx_        context.Context
4622	header_     http.Header
4623}
4624
4625// Create: Creates a GTM Environment.
4626func (r *AccountsContainersEnvironmentsService) Create(parent string, environment *Environment) *AccountsContainersEnvironmentsCreateCall {
4627	c := &AccountsContainersEnvironmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4628	c.parent = parent
4629	c.environment = environment
4630	return c
4631}
4632
4633// Fields allows partial responses to be retrieved. See
4634// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4635// for more information.
4636func (c *AccountsContainersEnvironmentsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsCreateCall {
4637	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4638	return c
4639}
4640
4641// Context sets the context to be used in this call's Do method. Any
4642// pending HTTP request will be aborted if the provided context is
4643// canceled.
4644func (c *AccountsContainersEnvironmentsCreateCall) Context(ctx context.Context) *AccountsContainersEnvironmentsCreateCall {
4645	c.ctx_ = ctx
4646	return c
4647}
4648
4649// Header returns an http.Header that can be modified by the caller to
4650// add HTTP headers to the request.
4651func (c *AccountsContainersEnvironmentsCreateCall) Header() http.Header {
4652	if c.header_ == nil {
4653		c.header_ = make(http.Header)
4654	}
4655	return c.header_
4656}
4657
4658func (c *AccountsContainersEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
4659	reqHeaders := make(http.Header)
4660	for k, v := range c.header_ {
4661		reqHeaders[k] = v
4662	}
4663	reqHeaders.Set("User-Agent", c.s.userAgent())
4664	var body io.Reader = nil
4665	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
4666	if err != nil {
4667		return nil, err
4668	}
4669	reqHeaders.Set("Content-Type", "application/json")
4670	c.urlParams_.Set("alt", alt)
4671	c.urlParams_.Set("prettyPrint", "false")
4672	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/environments")
4673	urls += "?" + c.urlParams_.Encode()
4674	req, err := http.NewRequest("POST", urls, body)
4675	if err != nil {
4676		return nil, err
4677	}
4678	req.Header = reqHeaders
4679	googleapi.Expand(req.URL, map[string]string{
4680		"parent": c.parent,
4681	})
4682	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4683}
4684
4685// Do executes the "tagmanager.accounts.containers.environments.create" call.
4686// Exactly one of *Environment or error will be non-nil. Any non-2xx
4687// status code is an error. Response headers are in either
4688// *Environment.ServerResponse.Header or (if a response was returned at
4689// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4690// to check whether the returned error was because
4691// http.StatusNotModified was returned.
4692func (c *AccountsContainersEnvironmentsCreateCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
4693	gensupport.SetOptions(c.urlParams_, opts...)
4694	res, err := c.doRequest("json")
4695	if res != nil && res.StatusCode == http.StatusNotModified {
4696		if res.Body != nil {
4697			res.Body.Close()
4698		}
4699		return nil, &googleapi.Error{
4700			Code:   res.StatusCode,
4701			Header: res.Header,
4702		}
4703	}
4704	if err != nil {
4705		return nil, err
4706	}
4707	defer googleapi.CloseBody(res)
4708	if err := googleapi.CheckResponse(res); err != nil {
4709		return nil, err
4710	}
4711	ret := &Environment{
4712		ServerResponse: googleapi.ServerResponse{
4713			Header:         res.Header,
4714			HTTPStatusCode: res.StatusCode,
4715		},
4716	}
4717	target := &ret
4718	if err := gensupport.DecodeResponse(target, res); err != nil {
4719		return nil, err
4720	}
4721	return ret, nil
4722	// {
4723	//   "description": "Creates a GTM Environment.",
4724	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments",
4725	//   "httpMethod": "POST",
4726	//   "id": "tagmanager.accounts.containers.environments.create",
4727	//   "parameterOrder": [
4728	//     "parent"
4729	//   ],
4730	//   "parameters": {
4731	//     "parent": {
4732	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
4733	//       "location": "path",
4734	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
4735	//       "required": true,
4736	//       "type": "string"
4737	//     }
4738	//   },
4739	//   "path": "tagmanager/v2/{+parent}/environments",
4740	//   "request": {
4741	//     "$ref": "Environment"
4742	//   },
4743	//   "response": {
4744	//     "$ref": "Environment"
4745	//   },
4746	//   "scopes": [
4747	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
4748	//   ]
4749	// }
4750
4751}
4752
4753// method id "tagmanager.accounts.containers.environments.delete":
4754
4755type AccountsContainersEnvironmentsDeleteCall struct {
4756	s          *Service
4757	path       string
4758	urlParams_ gensupport.URLParams
4759	ctx_       context.Context
4760	header_    http.Header
4761}
4762
4763// Delete: Deletes a GTM Environment.
4764func (r *AccountsContainersEnvironmentsService) Delete(path string) *AccountsContainersEnvironmentsDeleteCall {
4765	c := &AccountsContainersEnvironmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4766	c.path = path
4767	return c
4768}
4769
4770// Fields allows partial responses to be retrieved. See
4771// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4772// for more information.
4773func (c *AccountsContainersEnvironmentsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsDeleteCall {
4774	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4775	return c
4776}
4777
4778// Context sets the context to be used in this call's Do method. Any
4779// pending HTTP request will be aborted if the provided context is
4780// canceled.
4781func (c *AccountsContainersEnvironmentsDeleteCall) Context(ctx context.Context) *AccountsContainersEnvironmentsDeleteCall {
4782	c.ctx_ = ctx
4783	return c
4784}
4785
4786// Header returns an http.Header that can be modified by the caller to
4787// add HTTP headers to the request.
4788func (c *AccountsContainersEnvironmentsDeleteCall) Header() http.Header {
4789	if c.header_ == nil {
4790		c.header_ = make(http.Header)
4791	}
4792	return c.header_
4793}
4794
4795func (c *AccountsContainersEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
4796	reqHeaders := make(http.Header)
4797	for k, v := range c.header_ {
4798		reqHeaders[k] = v
4799	}
4800	reqHeaders.Set("User-Agent", c.s.userAgent())
4801	var body io.Reader = nil
4802	c.urlParams_.Set("alt", alt)
4803	c.urlParams_.Set("prettyPrint", "false")
4804	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
4805	urls += "?" + c.urlParams_.Encode()
4806	req, err := http.NewRequest("DELETE", urls, body)
4807	if err != nil {
4808		return nil, err
4809	}
4810	req.Header = reqHeaders
4811	googleapi.Expand(req.URL, map[string]string{
4812		"path": c.path,
4813	})
4814	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4815}
4816
4817// Do executes the "tagmanager.accounts.containers.environments.delete" call.
4818func (c *AccountsContainersEnvironmentsDeleteCall) Do(opts ...googleapi.CallOption) error {
4819	gensupport.SetOptions(c.urlParams_, opts...)
4820	res, err := c.doRequest("json")
4821	if err != nil {
4822		return err
4823	}
4824	defer googleapi.CloseBody(res)
4825	if err := googleapi.CheckResponse(res); err != nil {
4826		return err
4827	}
4828	return nil
4829	// {
4830	//   "description": "Deletes a GTM Environment.",
4831	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}",
4832	//   "httpMethod": "DELETE",
4833	//   "id": "tagmanager.accounts.containers.environments.delete",
4834	//   "parameterOrder": [
4835	//     "path"
4836	//   ],
4837	//   "parameters": {
4838	//     "path": {
4839	//       "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
4840	//       "location": "path",
4841	//       "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
4842	//       "required": true,
4843	//       "type": "string"
4844	//     }
4845	//   },
4846	//   "path": "tagmanager/v2/{+path}",
4847	//   "scopes": [
4848	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
4849	//   ]
4850	// }
4851
4852}
4853
4854// method id "tagmanager.accounts.containers.environments.get":
4855
4856type AccountsContainersEnvironmentsGetCall struct {
4857	s            *Service
4858	path         string
4859	urlParams_   gensupport.URLParams
4860	ifNoneMatch_ string
4861	ctx_         context.Context
4862	header_      http.Header
4863}
4864
4865// Get: Gets a GTM Environment.
4866func (r *AccountsContainersEnvironmentsService) Get(path string) *AccountsContainersEnvironmentsGetCall {
4867	c := &AccountsContainersEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4868	c.path = path
4869	return c
4870}
4871
4872// Fields allows partial responses to be retrieved. See
4873// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4874// for more information.
4875func (c *AccountsContainersEnvironmentsGetCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsGetCall {
4876	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4877	return c
4878}
4879
4880// IfNoneMatch sets the optional parameter which makes the operation
4881// fail if the object's ETag matches the given value. This is useful for
4882// getting updates only after the object has changed since the last
4883// request. Use googleapi.IsNotModified to check whether the response
4884// error from Do is the result of In-None-Match.
4885func (c *AccountsContainersEnvironmentsGetCall) IfNoneMatch(entityTag string) *AccountsContainersEnvironmentsGetCall {
4886	c.ifNoneMatch_ = entityTag
4887	return c
4888}
4889
4890// Context sets the context to be used in this call's Do method. Any
4891// pending HTTP request will be aborted if the provided context is
4892// canceled.
4893func (c *AccountsContainersEnvironmentsGetCall) Context(ctx context.Context) *AccountsContainersEnvironmentsGetCall {
4894	c.ctx_ = ctx
4895	return c
4896}
4897
4898// Header returns an http.Header that can be modified by the caller to
4899// add HTTP headers to the request.
4900func (c *AccountsContainersEnvironmentsGetCall) Header() http.Header {
4901	if c.header_ == nil {
4902		c.header_ = make(http.Header)
4903	}
4904	return c.header_
4905}
4906
4907func (c *AccountsContainersEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
4908	reqHeaders := make(http.Header)
4909	for k, v := range c.header_ {
4910		reqHeaders[k] = v
4911	}
4912	reqHeaders.Set("User-Agent", c.s.userAgent())
4913	if c.ifNoneMatch_ != "" {
4914		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4915	}
4916	var body io.Reader = nil
4917	c.urlParams_.Set("alt", alt)
4918	c.urlParams_.Set("prettyPrint", "false")
4919	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
4920	urls += "?" + c.urlParams_.Encode()
4921	req, err := http.NewRequest("GET", urls, body)
4922	if err != nil {
4923		return nil, err
4924	}
4925	req.Header = reqHeaders
4926	googleapi.Expand(req.URL, map[string]string{
4927		"path": c.path,
4928	})
4929	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4930}
4931
4932// Do executes the "tagmanager.accounts.containers.environments.get" call.
4933// Exactly one of *Environment or error will be non-nil. Any non-2xx
4934// status code is an error. Response headers are in either
4935// *Environment.ServerResponse.Header or (if a response was returned at
4936// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4937// to check whether the returned error was because
4938// http.StatusNotModified was returned.
4939func (c *AccountsContainersEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
4940	gensupport.SetOptions(c.urlParams_, opts...)
4941	res, err := c.doRequest("json")
4942	if res != nil && res.StatusCode == http.StatusNotModified {
4943		if res.Body != nil {
4944			res.Body.Close()
4945		}
4946		return nil, &googleapi.Error{
4947			Code:   res.StatusCode,
4948			Header: res.Header,
4949		}
4950	}
4951	if err != nil {
4952		return nil, err
4953	}
4954	defer googleapi.CloseBody(res)
4955	if err := googleapi.CheckResponse(res); err != nil {
4956		return nil, err
4957	}
4958	ret := &Environment{
4959		ServerResponse: googleapi.ServerResponse{
4960			Header:         res.Header,
4961			HTTPStatusCode: res.StatusCode,
4962		},
4963	}
4964	target := &ret
4965	if err := gensupport.DecodeResponse(target, res); err != nil {
4966		return nil, err
4967	}
4968	return ret, nil
4969	// {
4970	//   "description": "Gets a GTM Environment.",
4971	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}",
4972	//   "httpMethod": "GET",
4973	//   "id": "tagmanager.accounts.containers.environments.get",
4974	//   "parameterOrder": [
4975	//     "path"
4976	//   ],
4977	//   "parameters": {
4978	//     "path": {
4979	//       "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
4980	//       "location": "path",
4981	//       "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
4982	//       "required": true,
4983	//       "type": "string"
4984	//     }
4985	//   },
4986	//   "path": "tagmanager/v2/{+path}",
4987	//   "response": {
4988	//     "$ref": "Environment"
4989	//   },
4990	//   "scopes": [
4991	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
4992	//     "https://www.googleapis.com/auth/tagmanager.readonly"
4993	//   ]
4994	// }
4995
4996}
4997
4998// method id "tagmanager.accounts.containers.environments.list":
4999
5000type AccountsContainersEnvironmentsListCall struct {
5001	s            *Service
5002	parent       string
5003	urlParams_   gensupport.URLParams
5004	ifNoneMatch_ string
5005	ctx_         context.Context
5006	header_      http.Header
5007}
5008
5009// List: Lists all GTM Environments of a GTM Container.
5010func (r *AccountsContainersEnvironmentsService) List(parent string) *AccountsContainersEnvironmentsListCall {
5011	c := &AccountsContainersEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5012	c.parent = parent
5013	return c
5014}
5015
5016// PageToken sets the optional parameter "pageToken": Continuation token
5017// for fetching the next page of results.
5018func (c *AccountsContainersEnvironmentsListCall) PageToken(pageToken string) *AccountsContainersEnvironmentsListCall {
5019	c.urlParams_.Set("pageToken", pageToken)
5020	return c
5021}
5022
5023// Fields allows partial responses to be retrieved. See
5024// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5025// for more information.
5026func (c *AccountsContainersEnvironmentsListCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsListCall {
5027	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5028	return c
5029}
5030
5031// IfNoneMatch sets the optional parameter which makes the operation
5032// fail if the object's ETag matches the given value. This is useful for
5033// getting updates only after the object has changed since the last
5034// request. Use googleapi.IsNotModified to check whether the response
5035// error from Do is the result of In-None-Match.
5036func (c *AccountsContainersEnvironmentsListCall) IfNoneMatch(entityTag string) *AccountsContainersEnvironmentsListCall {
5037	c.ifNoneMatch_ = entityTag
5038	return c
5039}
5040
5041// Context sets the context to be used in this call's Do method. Any
5042// pending HTTP request will be aborted if the provided context is
5043// canceled.
5044func (c *AccountsContainersEnvironmentsListCall) Context(ctx context.Context) *AccountsContainersEnvironmentsListCall {
5045	c.ctx_ = ctx
5046	return c
5047}
5048
5049// Header returns an http.Header that can be modified by the caller to
5050// add HTTP headers to the request.
5051func (c *AccountsContainersEnvironmentsListCall) Header() http.Header {
5052	if c.header_ == nil {
5053		c.header_ = make(http.Header)
5054	}
5055	return c.header_
5056}
5057
5058func (c *AccountsContainersEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
5059	reqHeaders := make(http.Header)
5060	for k, v := range c.header_ {
5061		reqHeaders[k] = v
5062	}
5063	reqHeaders.Set("User-Agent", c.s.userAgent())
5064	if c.ifNoneMatch_ != "" {
5065		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5066	}
5067	var body io.Reader = nil
5068	c.urlParams_.Set("alt", alt)
5069	c.urlParams_.Set("prettyPrint", "false")
5070	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/environments")
5071	urls += "?" + c.urlParams_.Encode()
5072	req, err := http.NewRequest("GET", urls, body)
5073	if err != nil {
5074		return nil, err
5075	}
5076	req.Header = reqHeaders
5077	googleapi.Expand(req.URL, map[string]string{
5078		"parent": c.parent,
5079	})
5080	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5081}
5082
5083// Do executes the "tagmanager.accounts.containers.environments.list" call.
5084// Exactly one of *ListEnvironmentsResponse or error will be non-nil.
5085// Any non-2xx status code is an error. Response headers are in either
5086// *ListEnvironmentsResponse.ServerResponse.Header or (if a response was
5087// returned at all) in error.(*googleapi.Error).Header. Use
5088// googleapi.IsNotModified to check whether the returned error was
5089// because http.StatusNotModified was returned.
5090func (c *AccountsContainersEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*ListEnvironmentsResponse, error) {
5091	gensupport.SetOptions(c.urlParams_, opts...)
5092	res, err := c.doRequest("json")
5093	if res != nil && res.StatusCode == http.StatusNotModified {
5094		if res.Body != nil {
5095			res.Body.Close()
5096		}
5097		return nil, &googleapi.Error{
5098			Code:   res.StatusCode,
5099			Header: res.Header,
5100		}
5101	}
5102	if err != nil {
5103		return nil, err
5104	}
5105	defer googleapi.CloseBody(res)
5106	if err := googleapi.CheckResponse(res); err != nil {
5107		return nil, err
5108	}
5109	ret := &ListEnvironmentsResponse{
5110		ServerResponse: googleapi.ServerResponse{
5111			Header:         res.Header,
5112			HTTPStatusCode: res.StatusCode,
5113		},
5114	}
5115	target := &ret
5116	if err := gensupport.DecodeResponse(target, res); err != nil {
5117		return nil, err
5118	}
5119	return ret, nil
5120	// {
5121	//   "description": "Lists all GTM Environments of a GTM Container.",
5122	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments",
5123	//   "httpMethod": "GET",
5124	//   "id": "tagmanager.accounts.containers.environments.list",
5125	//   "parameterOrder": [
5126	//     "parent"
5127	//   ],
5128	//   "parameters": {
5129	//     "pageToken": {
5130	//       "description": "Continuation token for fetching the next page of results.",
5131	//       "location": "query",
5132	//       "type": "string"
5133	//     },
5134	//     "parent": {
5135	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
5136	//       "location": "path",
5137	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
5138	//       "required": true,
5139	//       "type": "string"
5140	//     }
5141	//   },
5142	//   "path": "tagmanager/v2/{+parent}/environments",
5143	//   "response": {
5144	//     "$ref": "ListEnvironmentsResponse"
5145	//   },
5146	//   "scopes": [
5147	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
5148	//     "https://www.googleapis.com/auth/tagmanager.readonly"
5149	//   ]
5150	// }
5151
5152}
5153
5154// Pages invokes f for each page of results.
5155// A non-nil error returned from f will halt the iteration.
5156// The provided context supersedes any context provided to the Context method.
5157func (c *AccountsContainersEnvironmentsListCall) Pages(ctx context.Context, f func(*ListEnvironmentsResponse) error) error {
5158	c.ctx_ = ctx
5159	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5160	for {
5161		x, err := c.Do()
5162		if err != nil {
5163			return err
5164		}
5165		if err := f(x); err != nil {
5166			return err
5167		}
5168		if x.NextPageToken == "" {
5169			return nil
5170		}
5171		c.PageToken(x.NextPageToken)
5172	}
5173}
5174
5175// method id "tagmanager.accounts.containers.environments.reauthorize":
5176
5177type AccountsContainersEnvironmentsReauthorizeCall struct {
5178	s           *Service
5179	path        string
5180	environment *Environment
5181	urlParams_  gensupport.URLParams
5182	ctx_        context.Context
5183	header_     http.Header
5184}
5185
5186// Reauthorize: Re-generates the authorization code for a GTM
5187// Environment.
5188func (r *AccountsContainersEnvironmentsService) Reauthorize(path string, environment *Environment) *AccountsContainersEnvironmentsReauthorizeCall {
5189	c := &AccountsContainersEnvironmentsReauthorizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5190	c.path = path
5191	c.environment = environment
5192	return c
5193}
5194
5195// Fields allows partial responses to be retrieved. See
5196// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5197// for more information.
5198func (c *AccountsContainersEnvironmentsReauthorizeCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsReauthorizeCall {
5199	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5200	return c
5201}
5202
5203// Context sets the context to be used in this call's Do method. Any
5204// pending HTTP request will be aborted if the provided context is
5205// canceled.
5206func (c *AccountsContainersEnvironmentsReauthorizeCall) Context(ctx context.Context) *AccountsContainersEnvironmentsReauthorizeCall {
5207	c.ctx_ = ctx
5208	return c
5209}
5210
5211// Header returns an http.Header that can be modified by the caller to
5212// add HTTP headers to the request.
5213func (c *AccountsContainersEnvironmentsReauthorizeCall) Header() http.Header {
5214	if c.header_ == nil {
5215		c.header_ = make(http.Header)
5216	}
5217	return c.header_
5218}
5219
5220func (c *AccountsContainersEnvironmentsReauthorizeCall) doRequest(alt string) (*http.Response, error) {
5221	reqHeaders := make(http.Header)
5222	for k, v := range c.header_ {
5223		reqHeaders[k] = v
5224	}
5225	reqHeaders.Set("User-Agent", c.s.userAgent())
5226	var body io.Reader = nil
5227	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
5228	if err != nil {
5229		return nil, err
5230	}
5231	reqHeaders.Set("Content-Type", "application/json")
5232	c.urlParams_.Set("alt", alt)
5233	c.urlParams_.Set("prettyPrint", "false")
5234	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:reauthorize")
5235	urls += "?" + c.urlParams_.Encode()
5236	req, err := http.NewRequest("POST", urls, body)
5237	if err != nil {
5238		return nil, err
5239	}
5240	req.Header = reqHeaders
5241	googleapi.Expand(req.URL, map[string]string{
5242		"path": c.path,
5243	})
5244	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5245}
5246
5247// Do executes the "tagmanager.accounts.containers.environments.reauthorize" call.
5248// Exactly one of *Environment or error will be non-nil. Any non-2xx
5249// status code is an error. Response headers are in either
5250// *Environment.ServerResponse.Header or (if a response was returned at
5251// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5252// to check whether the returned error was because
5253// http.StatusNotModified was returned.
5254func (c *AccountsContainersEnvironmentsReauthorizeCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
5255	gensupport.SetOptions(c.urlParams_, opts...)
5256	res, err := c.doRequest("json")
5257	if res != nil && res.StatusCode == http.StatusNotModified {
5258		if res.Body != nil {
5259			res.Body.Close()
5260		}
5261		return nil, &googleapi.Error{
5262			Code:   res.StatusCode,
5263			Header: res.Header,
5264		}
5265	}
5266	if err != nil {
5267		return nil, err
5268	}
5269	defer googleapi.CloseBody(res)
5270	if err := googleapi.CheckResponse(res); err != nil {
5271		return nil, err
5272	}
5273	ret := &Environment{
5274		ServerResponse: googleapi.ServerResponse{
5275			Header:         res.Header,
5276			HTTPStatusCode: res.StatusCode,
5277		},
5278	}
5279	target := &ret
5280	if err := gensupport.DecodeResponse(target, res); err != nil {
5281		return nil, err
5282	}
5283	return ret, nil
5284	// {
5285	//   "description": "Re-generates the authorization code for a GTM Environment.",
5286	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}:reauthorize",
5287	//   "httpMethod": "POST",
5288	//   "id": "tagmanager.accounts.containers.environments.reauthorize",
5289	//   "parameterOrder": [
5290	//     "path"
5291	//   ],
5292	//   "parameters": {
5293	//     "path": {
5294	//       "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
5295	//       "location": "path",
5296	//       "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
5297	//       "required": true,
5298	//       "type": "string"
5299	//     }
5300	//   },
5301	//   "path": "tagmanager/v2/{+path}:reauthorize",
5302	//   "request": {
5303	//     "$ref": "Environment"
5304	//   },
5305	//   "response": {
5306	//     "$ref": "Environment"
5307	//   },
5308	//   "scopes": [
5309	//     "https://www.googleapis.com/auth/tagmanager.publish"
5310	//   ]
5311	// }
5312
5313}
5314
5315// method id "tagmanager.accounts.containers.environments.update":
5316
5317type AccountsContainersEnvironmentsUpdateCall struct {
5318	s           *Service
5319	path        string
5320	environment *Environment
5321	urlParams_  gensupport.URLParams
5322	ctx_        context.Context
5323	header_     http.Header
5324}
5325
5326// Update: Updates a GTM Environment.
5327func (r *AccountsContainersEnvironmentsService) Update(path string, environment *Environment) *AccountsContainersEnvironmentsUpdateCall {
5328	c := &AccountsContainersEnvironmentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5329	c.path = path
5330	c.environment = environment
5331	return c
5332}
5333
5334// Fingerprint sets the optional parameter "fingerprint": When provided,
5335// this fingerprint must match the fingerprint of the
5336// environment in storage.
5337func (c *AccountsContainersEnvironmentsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersEnvironmentsUpdateCall {
5338	c.urlParams_.Set("fingerprint", fingerprint)
5339	return c
5340}
5341
5342// Fields allows partial responses to be retrieved. See
5343// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5344// for more information.
5345func (c *AccountsContainersEnvironmentsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsUpdateCall {
5346	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5347	return c
5348}
5349
5350// Context sets the context to be used in this call's Do method. Any
5351// pending HTTP request will be aborted if the provided context is
5352// canceled.
5353func (c *AccountsContainersEnvironmentsUpdateCall) Context(ctx context.Context) *AccountsContainersEnvironmentsUpdateCall {
5354	c.ctx_ = ctx
5355	return c
5356}
5357
5358// Header returns an http.Header that can be modified by the caller to
5359// add HTTP headers to the request.
5360func (c *AccountsContainersEnvironmentsUpdateCall) Header() http.Header {
5361	if c.header_ == nil {
5362		c.header_ = make(http.Header)
5363	}
5364	return c.header_
5365}
5366
5367func (c *AccountsContainersEnvironmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
5368	reqHeaders := make(http.Header)
5369	for k, v := range c.header_ {
5370		reqHeaders[k] = v
5371	}
5372	reqHeaders.Set("User-Agent", c.s.userAgent())
5373	var body io.Reader = nil
5374	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
5375	if err != nil {
5376		return nil, err
5377	}
5378	reqHeaders.Set("Content-Type", "application/json")
5379	c.urlParams_.Set("alt", alt)
5380	c.urlParams_.Set("prettyPrint", "false")
5381	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
5382	urls += "?" + c.urlParams_.Encode()
5383	req, err := http.NewRequest("PUT", urls, body)
5384	if err != nil {
5385		return nil, err
5386	}
5387	req.Header = reqHeaders
5388	googleapi.Expand(req.URL, map[string]string{
5389		"path": c.path,
5390	})
5391	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5392}
5393
5394// Do executes the "tagmanager.accounts.containers.environments.update" call.
5395// Exactly one of *Environment or error will be non-nil. Any non-2xx
5396// status code is an error. Response headers are in either
5397// *Environment.ServerResponse.Header or (if a response was returned at
5398// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5399// to check whether the returned error was because
5400// http.StatusNotModified was returned.
5401func (c *AccountsContainersEnvironmentsUpdateCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
5402	gensupport.SetOptions(c.urlParams_, opts...)
5403	res, err := c.doRequest("json")
5404	if res != nil && res.StatusCode == http.StatusNotModified {
5405		if res.Body != nil {
5406			res.Body.Close()
5407		}
5408		return nil, &googleapi.Error{
5409			Code:   res.StatusCode,
5410			Header: res.Header,
5411		}
5412	}
5413	if err != nil {
5414		return nil, err
5415	}
5416	defer googleapi.CloseBody(res)
5417	if err := googleapi.CheckResponse(res); err != nil {
5418		return nil, err
5419	}
5420	ret := &Environment{
5421		ServerResponse: googleapi.ServerResponse{
5422			Header:         res.Header,
5423			HTTPStatusCode: res.StatusCode,
5424		},
5425	}
5426	target := &ret
5427	if err := gensupport.DecodeResponse(target, res); err != nil {
5428		return nil, err
5429	}
5430	return ret, nil
5431	// {
5432	//   "description": "Updates a GTM Environment.",
5433	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/environments/{environmentsId}",
5434	//   "httpMethod": "PUT",
5435	//   "id": "tagmanager.accounts.containers.environments.update",
5436	//   "parameterOrder": [
5437	//     "path"
5438	//   ],
5439	//   "parameters": {
5440	//     "fingerprint": {
5441	//       "description": "When provided, this fingerprint must match the fingerprint of the\nenvironment in storage.",
5442	//       "location": "query",
5443	//       "type": "string"
5444	//     },
5445	//     "path": {
5446	//       "description": "GTM Environment's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/environments/{environment_id}",
5447	//       "location": "path",
5448	//       "pattern": "^accounts/[^/]+/containers/[^/]+/environments/[^/]+$",
5449	//       "required": true,
5450	//       "type": "string"
5451	//     }
5452	//   },
5453	//   "path": "tagmanager/v2/{+path}",
5454	//   "request": {
5455	//     "$ref": "Environment"
5456	//   },
5457	//   "response": {
5458	//     "$ref": "Environment"
5459	//   },
5460	//   "scopes": [
5461	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
5462	//   ]
5463	// }
5464
5465}
5466
5467// method id "tagmanager.accounts.containers.version_headers.latest":
5468
5469type AccountsContainersVersionHeadersLatestCall struct {
5470	s            *Service
5471	parent       string
5472	urlParams_   gensupport.URLParams
5473	ifNoneMatch_ string
5474	ctx_         context.Context
5475	header_      http.Header
5476}
5477
5478// Latest: Gets the latest container version header
5479func (r *AccountsContainersVersionHeadersService) Latest(parent string) *AccountsContainersVersionHeadersLatestCall {
5480	c := &AccountsContainersVersionHeadersLatestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5481	c.parent = parent
5482	return c
5483}
5484
5485// Fields allows partial responses to be retrieved. See
5486// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5487// for more information.
5488func (c *AccountsContainersVersionHeadersLatestCall) Fields(s ...googleapi.Field) *AccountsContainersVersionHeadersLatestCall {
5489	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5490	return c
5491}
5492
5493// IfNoneMatch sets the optional parameter which makes the operation
5494// fail if the object's ETag matches the given value. This is useful for
5495// getting updates only after the object has changed since the last
5496// request. Use googleapi.IsNotModified to check whether the response
5497// error from Do is the result of In-None-Match.
5498func (c *AccountsContainersVersionHeadersLatestCall) IfNoneMatch(entityTag string) *AccountsContainersVersionHeadersLatestCall {
5499	c.ifNoneMatch_ = entityTag
5500	return c
5501}
5502
5503// Context sets the context to be used in this call's Do method. Any
5504// pending HTTP request will be aborted if the provided context is
5505// canceled.
5506func (c *AccountsContainersVersionHeadersLatestCall) Context(ctx context.Context) *AccountsContainersVersionHeadersLatestCall {
5507	c.ctx_ = ctx
5508	return c
5509}
5510
5511// Header returns an http.Header that can be modified by the caller to
5512// add HTTP headers to the request.
5513func (c *AccountsContainersVersionHeadersLatestCall) Header() http.Header {
5514	if c.header_ == nil {
5515		c.header_ = make(http.Header)
5516	}
5517	return c.header_
5518}
5519
5520func (c *AccountsContainersVersionHeadersLatestCall) doRequest(alt string) (*http.Response, error) {
5521	reqHeaders := make(http.Header)
5522	for k, v := range c.header_ {
5523		reqHeaders[k] = v
5524	}
5525	reqHeaders.Set("User-Agent", c.s.userAgent())
5526	if c.ifNoneMatch_ != "" {
5527		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5528	}
5529	var body io.Reader = nil
5530	c.urlParams_.Set("alt", alt)
5531	c.urlParams_.Set("prettyPrint", "false")
5532	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/version_headers:latest")
5533	urls += "?" + c.urlParams_.Encode()
5534	req, err := http.NewRequest("GET", urls, body)
5535	if err != nil {
5536		return nil, err
5537	}
5538	req.Header = reqHeaders
5539	googleapi.Expand(req.URL, map[string]string{
5540		"parent": c.parent,
5541	})
5542	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5543}
5544
5545// Do executes the "tagmanager.accounts.containers.version_headers.latest" call.
5546// Exactly one of *ContainerVersionHeader or error will be non-nil. Any
5547// non-2xx status code is an error. Response headers are in either
5548// *ContainerVersionHeader.ServerResponse.Header or (if a response was
5549// returned at all) in error.(*googleapi.Error).Header. Use
5550// googleapi.IsNotModified to check whether the returned error was
5551// because http.StatusNotModified was returned.
5552func (c *AccountsContainersVersionHeadersLatestCall) Do(opts ...googleapi.CallOption) (*ContainerVersionHeader, error) {
5553	gensupport.SetOptions(c.urlParams_, opts...)
5554	res, err := c.doRequest("json")
5555	if res != nil && res.StatusCode == http.StatusNotModified {
5556		if res.Body != nil {
5557			res.Body.Close()
5558		}
5559		return nil, &googleapi.Error{
5560			Code:   res.StatusCode,
5561			Header: res.Header,
5562		}
5563	}
5564	if err != nil {
5565		return nil, err
5566	}
5567	defer googleapi.CloseBody(res)
5568	if err := googleapi.CheckResponse(res); err != nil {
5569		return nil, err
5570	}
5571	ret := &ContainerVersionHeader{
5572		ServerResponse: googleapi.ServerResponse{
5573			Header:         res.Header,
5574			HTTPStatusCode: res.StatusCode,
5575		},
5576	}
5577	target := &ret
5578	if err := gensupport.DecodeResponse(target, res); err != nil {
5579		return nil, err
5580	}
5581	return ret, nil
5582	// {
5583	//   "description": "Gets the latest container version header",
5584	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/version_headers:latest",
5585	//   "httpMethod": "GET",
5586	//   "id": "tagmanager.accounts.containers.version_headers.latest",
5587	//   "parameterOrder": [
5588	//     "parent"
5589	//   ],
5590	//   "parameters": {
5591	//     "parent": {
5592	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
5593	//       "location": "path",
5594	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
5595	//       "required": true,
5596	//       "type": "string"
5597	//     }
5598	//   },
5599	//   "path": "tagmanager/v2/{+parent}/version_headers:latest",
5600	//   "response": {
5601	//     "$ref": "ContainerVersionHeader"
5602	//   },
5603	//   "scopes": [
5604	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
5605	//     "https://www.googleapis.com/auth/tagmanager.readonly"
5606	//   ]
5607	// }
5608
5609}
5610
5611// method id "tagmanager.accounts.containers.version_headers.list":
5612
5613type AccountsContainersVersionHeadersListCall struct {
5614	s            *Service
5615	parent       string
5616	urlParams_   gensupport.URLParams
5617	ifNoneMatch_ string
5618	ctx_         context.Context
5619	header_      http.Header
5620}
5621
5622// List: Lists all Container Versions of a GTM Container.
5623func (r *AccountsContainersVersionHeadersService) List(parent string) *AccountsContainersVersionHeadersListCall {
5624	c := &AccountsContainersVersionHeadersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5625	c.parent = parent
5626	return c
5627}
5628
5629// IncludeDeleted sets the optional parameter "includeDeleted": Also
5630// retrieve deleted (archived) versions when true.
5631func (c *AccountsContainersVersionHeadersListCall) IncludeDeleted(includeDeleted bool) *AccountsContainersVersionHeadersListCall {
5632	c.urlParams_.Set("includeDeleted", fmt.Sprint(includeDeleted))
5633	return c
5634}
5635
5636// PageToken sets the optional parameter "pageToken": Continuation token
5637// for fetching the next page of results.
5638func (c *AccountsContainersVersionHeadersListCall) PageToken(pageToken string) *AccountsContainersVersionHeadersListCall {
5639	c.urlParams_.Set("pageToken", pageToken)
5640	return c
5641}
5642
5643// Fields allows partial responses to be retrieved. See
5644// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5645// for more information.
5646func (c *AccountsContainersVersionHeadersListCall) Fields(s ...googleapi.Field) *AccountsContainersVersionHeadersListCall {
5647	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5648	return c
5649}
5650
5651// IfNoneMatch sets the optional parameter which makes the operation
5652// fail if the object's ETag matches the given value. This is useful for
5653// getting updates only after the object has changed since the last
5654// request. Use googleapi.IsNotModified to check whether the response
5655// error from Do is the result of In-None-Match.
5656func (c *AccountsContainersVersionHeadersListCall) IfNoneMatch(entityTag string) *AccountsContainersVersionHeadersListCall {
5657	c.ifNoneMatch_ = entityTag
5658	return c
5659}
5660
5661// Context sets the context to be used in this call's Do method. Any
5662// pending HTTP request will be aborted if the provided context is
5663// canceled.
5664func (c *AccountsContainersVersionHeadersListCall) Context(ctx context.Context) *AccountsContainersVersionHeadersListCall {
5665	c.ctx_ = ctx
5666	return c
5667}
5668
5669// Header returns an http.Header that can be modified by the caller to
5670// add HTTP headers to the request.
5671func (c *AccountsContainersVersionHeadersListCall) Header() http.Header {
5672	if c.header_ == nil {
5673		c.header_ = make(http.Header)
5674	}
5675	return c.header_
5676}
5677
5678func (c *AccountsContainersVersionHeadersListCall) doRequest(alt string) (*http.Response, error) {
5679	reqHeaders := make(http.Header)
5680	for k, v := range c.header_ {
5681		reqHeaders[k] = v
5682	}
5683	reqHeaders.Set("User-Agent", c.s.userAgent())
5684	if c.ifNoneMatch_ != "" {
5685		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5686	}
5687	var body io.Reader = nil
5688	c.urlParams_.Set("alt", alt)
5689	c.urlParams_.Set("prettyPrint", "false")
5690	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/version_headers")
5691	urls += "?" + c.urlParams_.Encode()
5692	req, err := http.NewRequest("GET", urls, body)
5693	if err != nil {
5694		return nil, err
5695	}
5696	req.Header = reqHeaders
5697	googleapi.Expand(req.URL, map[string]string{
5698		"parent": c.parent,
5699	})
5700	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5701}
5702
5703// Do executes the "tagmanager.accounts.containers.version_headers.list" call.
5704// Exactly one of *ListContainerVersionsResponse or error will be
5705// non-nil. Any non-2xx status code is an error. Response headers are in
5706// either *ListContainerVersionsResponse.ServerResponse.Header or (if a
5707// response was returned at all) in error.(*googleapi.Error).Header. Use
5708// googleapi.IsNotModified to check whether the returned error was
5709// because http.StatusNotModified was returned.
5710func (c *AccountsContainersVersionHeadersListCall) Do(opts ...googleapi.CallOption) (*ListContainerVersionsResponse, error) {
5711	gensupport.SetOptions(c.urlParams_, opts...)
5712	res, err := c.doRequest("json")
5713	if res != nil && res.StatusCode == http.StatusNotModified {
5714		if res.Body != nil {
5715			res.Body.Close()
5716		}
5717		return nil, &googleapi.Error{
5718			Code:   res.StatusCode,
5719			Header: res.Header,
5720		}
5721	}
5722	if err != nil {
5723		return nil, err
5724	}
5725	defer googleapi.CloseBody(res)
5726	if err := googleapi.CheckResponse(res); err != nil {
5727		return nil, err
5728	}
5729	ret := &ListContainerVersionsResponse{
5730		ServerResponse: googleapi.ServerResponse{
5731			Header:         res.Header,
5732			HTTPStatusCode: res.StatusCode,
5733		},
5734	}
5735	target := &ret
5736	if err := gensupport.DecodeResponse(target, res); err != nil {
5737		return nil, err
5738	}
5739	return ret, nil
5740	// {
5741	//   "description": "Lists all Container Versions of a GTM Container.",
5742	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/version_headers",
5743	//   "httpMethod": "GET",
5744	//   "id": "tagmanager.accounts.containers.version_headers.list",
5745	//   "parameterOrder": [
5746	//     "parent"
5747	//   ],
5748	//   "parameters": {
5749	//     "includeDeleted": {
5750	//       "description": "Also retrieve deleted (archived) versions when true.",
5751	//       "location": "query",
5752	//       "type": "boolean"
5753	//     },
5754	//     "pageToken": {
5755	//       "description": "Continuation token for fetching the next page of results.",
5756	//       "location": "query",
5757	//       "type": "string"
5758	//     },
5759	//     "parent": {
5760	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
5761	//       "location": "path",
5762	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
5763	//       "required": true,
5764	//       "type": "string"
5765	//     }
5766	//   },
5767	//   "path": "tagmanager/v2/{+parent}/version_headers",
5768	//   "response": {
5769	//     "$ref": "ListContainerVersionsResponse"
5770	//   },
5771	//   "scopes": [
5772	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
5773	//     "https://www.googleapis.com/auth/tagmanager.edit.containerversions",
5774	//     "https://www.googleapis.com/auth/tagmanager.readonly"
5775	//   ]
5776	// }
5777
5778}
5779
5780// Pages invokes f for each page of results.
5781// A non-nil error returned from f will halt the iteration.
5782// The provided context supersedes any context provided to the Context method.
5783func (c *AccountsContainersVersionHeadersListCall) Pages(ctx context.Context, f func(*ListContainerVersionsResponse) error) error {
5784	c.ctx_ = ctx
5785	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5786	for {
5787		x, err := c.Do()
5788		if err != nil {
5789			return err
5790		}
5791		if err := f(x); err != nil {
5792			return err
5793		}
5794		if x.NextPageToken == "" {
5795			return nil
5796		}
5797		c.PageToken(x.NextPageToken)
5798	}
5799}
5800
5801// method id "tagmanager.accounts.containers.versions.delete":
5802
5803type AccountsContainersVersionsDeleteCall struct {
5804	s          *Service
5805	path       string
5806	urlParams_ gensupport.URLParams
5807	ctx_       context.Context
5808	header_    http.Header
5809}
5810
5811// Delete: Deletes a Container Version.
5812func (r *AccountsContainersVersionsService) Delete(path string) *AccountsContainersVersionsDeleteCall {
5813	c := &AccountsContainersVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5814	c.path = path
5815	return c
5816}
5817
5818// Fields allows partial responses to be retrieved. See
5819// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5820// for more information.
5821func (c *AccountsContainersVersionsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsDeleteCall {
5822	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5823	return c
5824}
5825
5826// Context sets the context to be used in this call's Do method. Any
5827// pending HTTP request will be aborted if the provided context is
5828// canceled.
5829func (c *AccountsContainersVersionsDeleteCall) Context(ctx context.Context) *AccountsContainersVersionsDeleteCall {
5830	c.ctx_ = ctx
5831	return c
5832}
5833
5834// Header returns an http.Header that can be modified by the caller to
5835// add HTTP headers to the request.
5836func (c *AccountsContainersVersionsDeleteCall) Header() http.Header {
5837	if c.header_ == nil {
5838		c.header_ = make(http.Header)
5839	}
5840	return c.header_
5841}
5842
5843func (c *AccountsContainersVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
5844	reqHeaders := make(http.Header)
5845	for k, v := range c.header_ {
5846		reqHeaders[k] = v
5847	}
5848	reqHeaders.Set("User-Agent", c.s.userAgent())
5849	var body io.Reader = nil
5850	c.urlParams_.Set("alt", alt)
5851	c.urlParams_.Set("prettyPrint", "false")
5852	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
5853	urls += "?" + c.urlParams_.Encode()
5854	req, err := http.NewRequest("DELETE", urls, body)
5855	if err != nil {
5856		return nil, err
5857	}
5858	req.Header = reqHeaders
5859	googleapi.Expand(req.URL, map[string]string{
5860		"path": c.path,
5861	})
5862	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5863}
5864
5865// Do executes the "tagmanager.accounts.containers.versions.delete" call.
5866func (c *AccountsContainersVersionsDeleteCall) Do(opts ...googleapi.CallOption) error {
5867	gensupport.SetOptions(c.urlParams_, opts...)
5868	res, err := c.doRequest("json")
5869	if err != nil {
5870		return err
5871	}
5872	defer googleapi.CloseBody(res)
5873	if err := googleapi.CheckResponse(res); err != nil {
5874		return err
5875	}
5876	return nil
5877	// {
5878	//   "description": "Deletes a Container Version.",
5879	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}",
5880	//   "httpMethod": "DELETE",
5881	//   "id": "tagmanager.accounts.containers.versions.delete",
5882	//   "parameterOrder": [
5883	//     "path"
5884	//   ],
5885	//   "parameters": {
5886	//     "path": {
5887	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
5888	//       "location": "path",
5889	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
5890	//       "required": true,
5891	//       "type": "string"
5892	//     }
5893	//   },
5894	//   "path": "tagmanager/v2/{+path}",
5895	//   "scopes": [
5896	//     "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
5897	//   ]
5898	// }
5899
5900}
5901
5902// method id "tagmanager.accounts.containers.versions.get":
5903
5904type AccountsContainersVersionsGetCall struct {
5905	s            *Service
5906	path         string
5907	urlParams_   gensupport.URLParams
5908	ifNoneMatch_ string
5909	ctx_         context.Context
5910	header_      http.Header
5911}
5912
5913// Get: Gets a Container Version.
5914func (r *AccountsContainersVersionsService) Get(path string) *AccountsContainersVersionsGetCall {
5915	c := &AccountsContainersVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5916	c.path = path
5917	return c
5918}
5919
5920// ContainerVersionId sets the optional parameter "containerVersionId":
5921// The GTM ContainerVersion ID. Specify <code>published</code> to
5922// retrieve
5923// the currently published version.
5924func (c *AccountsContainersVersionsGetCall) ContainerVersionId(containerVersionId string) *AccountsContainersVersionsGetCall {
5925	c.urlParams_.Set("containerVersionId", containerVersionId)
5926	return c
5927}
5928
5929// Fields allows partial responses to be retrieved. See
5930// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5931// for more information.
5932func (c *AccountsContainersVersionsGetCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsGetCall {
5933	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5934	return c
5935}
5936
5937// IfNoneMatch sets the optional parameter which makes the operation
5938// fail if the object's ETag matches the given value. This is useful for
5939// getting updates only after the object has changed since the last
5940// request. Use googleapi.IsNotModified to check whether the response
5941// error from Do is the result of In-None-Match.
5942func (c *AccountsContainersVersionsGetCall) IfNoneMatch(entityTag string) *AccountsContainersVersionsGetCall {
5943	c.ifNoneMatch_ = entityTag
5944	return c
5945}
5946
5947// Context sets the context to be used in this call's Do method. Any
5948// pending HTTP request will be aborted if the provided context is
5949// canceled.
5950func (c *AccountsContainersVersionsGetCall) Context(ctx context.Context) *AccountsContainersVersionsGetCall {
5951	c.ctx_ = ctx
5952	return c
5953}
5954
5955// Header returns an http.Header that can be modified by the caller to
5956// add HTTP headers to the request.
5957func (c *AccountsContainersVersionsGetCall) Header() http.Header {
5958	if c.header_ == nil {
5959		c.header_ = make(http.Header)
5960	}
5961	return c.header_
5962}
5963
5964func (c *AccountsContainersVersionsGetCall) doRequest(alt string) (*http.Response, error) {
5965	reqHeaders := make(http.Header)
5966	for k, v := range c.header_ {
5967		reqHeaders[k] = v
5968	}
5969	reqHeaders.Set("User-Agent", c.s.userAgent())
5970	if c.ifNoneMatch_ != "" {
5971		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5972	}
5973	var body io.Reader = nil
5974	c.urlParams_.Set("alt", alt)
5975	c.urlParams_.Set("prettyPrint", "false")
5976	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
5977	urls += "?" + c.urlParams_.Encode()
5978	req, err := http.NewRequest("GET", urls, body)
5979	if err != nil {
5980		return nil, err
5981	}
5982	req.Header = reqHeaders
5983	googleapi.Expand(req.URL, map[string]string{
5984		"path": c.path,
5985	})
5986	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5987}
5988
5989// Do executes the "tagmanager.accounts.containers.versions.get" call.
5990// Exactly one of *ContainerVersion or error will be non-nil. Any
5991// non-2xx status code is an error. Response headers are in either
5992// *ContainerVersion.ServerResponse.Header or (if a response was
5993// returned at all) in error.(*googleapi.Error).Header. Use
5994// googleapi.IsNotModified to check whether the returned error was
5995// because http.StatusNotModified was returned.
5996func (c *AccountsContainersVersionsGetCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
5997	gensupport.SetOptions(c.urlParams_, opts...)
5998	res, err := c.doRequest("json")
5999	if res != nil && res.StatusCode == http.StatusNotModified {
6000		if res.Body != nil {
6001			res.Body.Close()
6002		}
6003		return nil, &googleapi.Error{
6004			Code:   res.StatusCode,
6005			Header: res.Header,
6006		}
6007	}
6008	if err != nil {
6009		return nil, err
6010	}
6011	defer googleapi.CloseBody(res)
6012	if err := googleapi.CheckResponse(res); err != nil {
6013		return nil, err
6014	}
6015	ret := &ContainerVersion{
6016		ServerResponse: googleapi.ServerResponse{
6017			Header:         res.Header,
6018			HTTPStatusCode: res.StatusCode,
6019		},
6020	}
6021	target := &ret
6022	if err := gensupport.DecodeResponse(target, res); err != nil {
6023		return nil, err
6024	}
6025	return ret, nil
6026	// {
6027	//   "description": "Gets a Container Version.",
6028	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}",
6029	//   "httpMethod": "GET",
6030	//   "id": "tagmanager.accounts.containers.versions.get",
6031	//   "parameterOrder": [
6032	//     "path"
6033	//   ],
6034	//   "parameters": {
6035	//     "containerVersionId": {
6036	//       "description": "The GTM ContainerVersion ID. Specify \u003ccode\u003epublished\u003c/code\u003e to retrieve\nthe currently published version.",
6037	//       "location": "query",
6038	//       "type": "string"
6039	//     },
6040	//     "path": {
6041	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
6042	//       "location": "path",
6043	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
6044	//       "required": true,
6045	//       "type": "string"
6046	//     }
6047	//   },
6048	//   "path": "tagmanager/v2/{+path}",
6049	//   "response": {
6050	//     "$ref": "ContainerVersion"
6051	//   },
6052	//   "scopes": [
6053	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
6054	//     "https://www.googleapis.com/auth/tagmanager.edit.containerversions",
6055	//     "https://www.googleapis.com/auth/tagmanager.readonly"
6056	//   ]
6057	// }
6058
6059}
6060
6061// method id "tagmanager.accounts.containers.versions.live":
6062
6063type AccountsContainersVersionsLiveCall struct {
6064	s            *Service
6065	parent       string
6066	urlParams_   gensupport.URLParams
6067	ifNoneMatch_ string
6068	ctx_         context.Context
6069	header_      http.Header
6070}
6071
6072// Live: Gets the live (i.e. published) container version
6073func (r *AccountsContainersVersionsService) Live(parent string) *AccountsContainersVersionsLiveCall {
6074	c := &AccountsContainersVersionsLiveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6075	c.parent = parent
6076	return c
6077}
6078
6079// Fields allows partial responses to be retrieved. See
6080// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6081// for more information.
6082func (c *AccountsContainersVersionsLiveCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsLiveCall {
6083	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6084	return c
6085}
6086
6087// IfNoneMatch sets the optional parameter which makes the operation
6088// fail if the object's ETag matches the given value. This is useful for
6089// getting updates only after the object has changed since the last
6090// request. Use googleapi.IsNotModified to check whether the response
6091// error from Do is the result of In-None-Match.
6092func (c *AccountsContainersVersionsLiveCall) IfNoneMatch(entityTag string) *AccountsContainersVersionsLiveCall {
6093	c.ifNoneMatch_ = entityTag
6094	return c
6095}
6096
6097// Context sets the context to be used in this call's Do method. Any
6098// pending HTTP request will be aborted if the provided context is
6099// canceled.
6100func (c *AccountsContainersVersionsLiveCall) Context(ctx context.Context) *AccountsContainersVersionsLiveCall {
6101	c.ctx_ = ctx
6102	return c
6103}
6104
6105// Header returns an http.Header that can be modified by the caller to
6106// add HTTP headers to the request.
6107func (c *AccountsContainersVersionsLiveCall) Header() http.Header {
6108	if c.header_ == nil {
6109		c.header_ = make(http.Header)
6110	}
6111	return c.header_
6112}
6113
6114func (c *AccountsContainersVersionsLiveCall) doRequest(alt string) (*http.Response, error) {
6115	reqHeaders := make(http.Header)
6116	for k, v := range c.header_ {
6117		reqHeaders[k] = v
6118	}
6119	reqHeaders.Set("User-Agent", c.s.userAgent())
6120	if c.ifNoneMatch_ != "" {
6121		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6122	}
6123	var body io.Reader = nil
6124	c.urlParams_.Set("alt", alt)
6125	c.urlParams_.Set("prettyPrint", "false")
6126	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/versions:live")
6127	urls += "?" + c.urlParams_.Encode()
6128	req, err := http.NewRequest("GET", urls, body)
6129	if err != nil {
6130		return nil, err
6131	}
6132	req.Header = reqHeaders
6133	googleapi.Expand(req.URL, map[string]string{
6134		"parent": c.parent,
6135	})
6136	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6137}
6138
6139// Do executes the "tagmanager.accounts.containers.versions.live" call.
6140// Exactly one of *ContainerVersion or error will be non-nil. Any
6141// non-2xx status code is an error. Response headers are in either
6142// *ContainerVersion.ServerResponse.Header or (if a response was
6143// returned at all) in error.(*googleapi.Error).Header. Use
6144// googleapi.IsNotModified to check whether the returned error was
6145// because http.StatusNotModified was returned.
6146func (c *AccountsContainersVersionsLiveCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
6147	gensupport.SetOptions(c.urlParams_, opts...)
6148	res, err := c.doRequest("json")
6149	if res != nil && res.StatusCode == http.StatusNotModified {
6150		if res.Body != nil {
6151			res.Body.Close()
6152		}
6153		return nil, &googleapi.Error{
6154			Code:   res.StatusCode,
6155			Header: res.Header,
6156		}
6157	}
6158	if err != nil {
6159		return nil, err
6160	}
6161	defer googleapi.CloseBody(res)
6162	if err := googleapi.CheckResponse(res); err != nil {
6163		return nil, err
6164	}
6165	ret := &ContainerVersion{
6166		ServerResponse: googleapi.ServerResponse{
6167			Header:         res.Header,
6168			HTTPStatusCode: res.StatusCode,
6169		},
6170	}
6171	target := &ret
6172	if err := gensupport.DecodeResponse(target, res); err != nil {
6173		return nil, err
6174	}
6175	return ret, nil
6176	// {
6177	//   "description": "Gets the live (i.e. published) container version",
6178	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions:live",
6179	//   "httpMethod": "GET",
6180	//   "id": "tagmanager.accounts.containers.versions.live",
6181	//   "parameterOrder": [
6182	//     "parent"
6183	//   ],
6184	//   "parameters": {
6185	//     "parent": {
6186	//       "description": "GTM Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
6187	//       "location": "path",
6188	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
6189	//       "required": true,
6190	//       "type": "string"
6191	//     }
6192	//   },
6193	//   "path": "tagmanager/v2/{+parent}/versions:live",
6194	//   "response": {
6195	//     "$ref": "ContainerVersion"
6196	//   },
6197	//   "scopes": [
6198	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
6199	//     "https://www.googleapis.com/auth/tagmanager.readonly"
6200	//   ]
6201	// }
6202
6203}
6204
6205// method id "tagmanager.accounts.containers.versions.publish":
6206
6207type AccountsContainersVersionsPublishCall struct {
6208	s          *Service
6209	path       string
6210	urlParams_ gensupport.URLParams
6211	ctx_       context.Context
6212	header_    http.Header
6213}
6214
6215// Publish: Publishes a Container Version.
6216func (r *AccountsContainersVersionsService) Publish(path string) *AccountsContainersVersionsPublishCall {
6217	c := &AccountsContainersVersionsPublishCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6218	c.path = path
6219	return c
6220}
6221
6222// Fingerprint sets the optional parameter "fingerprint": When provided,
6223// this fingerprint must match the fingerprint of the
6224// container version in storage.
6225func (c *AccountsContainersVersionsPublishCall) Fingerprint(fingerprint string) *AccountsContainersVersionsPublishCall {
6226	c.urlParams_.Set("fingerprint", fingerprint)
6227	return c
6228}
6229
6230// Fields allows partial responses to be retrieved. See
6231// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6232// for more information.
6233func (c *AccountsContainersVersionsPublishCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsPublishCall {
6234	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6235	return c
6236}
6237
6238// Context sets the context to be used in this call's Do method. Any
6239// pending HTTP request will be aborted if the provided context is
6240// canceled.
6241func (c *AccountsContainersVersionsPublishCall) Context(ctx context.Context) *AccountsContainersVersionsPublishCall {
6242	c.ctx_ = ctx
6243	return c
6244}
6245
6246// Header returns an http.Header that can be modified by the caller to
6247// add HTTP headers to the request.
6248func (c *AccountsContainersVersionsPublishCall) Header() http.Header {
6249	if c.header_ == nil {
6250		c.header_ = make(http.Header)
6251	}
6252	return c.header_
6253}
6254
6255func (c *AccountsContainersVersionsPublishCall) doRequest(alt string) (*http.Response, error) {
6256	reqHeaders := make(http.Header)
6257	for k, v := range c.header_ {
6258		reqHeaders[k] = v
6259	}
6260	reqHeaders.Set("User-Agent", c.s.userAgent())
6261	var body io.Reader = nil
6262	c.urlParams_.Set("alt", alt)
6263	c.urlParams_.Set("prettyPrint", "false")
6264	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:publish")
6265	urls += "?" + c.urlParams_.Encode()
6266	req, err := http.NewRequest("POST", urls, body)
6267	if err != nil {
6268		return nil, err
6269	}
6270	req.Header = reqHeaders
6271	googleapi.Expand(req.URL, map[string]string{
6272		"path": c.path,
6273	})
6274	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6275}
6276
6277// Do executes the "tagmanager.accounts.containers.versions.publish" call.
6278// Exactly one of *PublishContainerVersionResponse or error will be
6279// non-nil. Any non-2xx status code is an error. Response headers are in
6280// either *PublishContainerVersionResponse.ServerResponse.Header or (if
6281// a response was returned at all) in error.(*googleapi.Error).Header.
6282// Use googleapi.IsNotModified to check whether the returned error was
6283// because http.StatusNotModified was returned.
6284func (c *AccountsContainersVersionsPublishCall) Do(opts ...googleapi.CallOption) (*PublishContainerVersionResponse, error) {
6285	gensupport.SetOptions(c.urlParams_, opts...)
6286	res, err := c.doRequest("json")
6287	if res != nil && res.StatusCode == http.StatusNotModified {
6288		if res.Body != nil {
6289			res.Body.Close()
6290		}
6291		return nil, &googleapi.Error{
6292			Code:   res.StatusCode,
6293			Header: res.Header,
6294		}
6295	}
6296	if err != nil {
6297		return nil, err
6298	}
6299	defer googleapi.CloseBody(res)
6300	if err := googleapi.CheckResponse(res); err != nil {
6301		return nil, err
6302	}
6303	ret := &PublishContainerVersionResponse{
6304		ServerResponse: googleapi.ServerResponse{
6305			Header:         res.Header,
6306			HTTPStatusCode: res.StatusCode,
6307		},
6308	}
6309	target := &ret
6310	if err := gensupport.DecodeResponse(target, res); err != nil {
6311		return nil, err
6312	}
6313	return ret, nil
6314	// {
6315	//   "description": "Publishes a Container Version.",
6316	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:publish",
6317	//   "httpMethod": "POST",
6318	//   "id": "tagmanager.accounts.containers.versions.publish",
6319	//   "parameterOrder": [
6320	//     "path"
6321	//   ],
6322	//   "parameters": {
6323	//     "fingerprint": {
6324	//       "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
6325	//       "location": "query",
6326	//       "type": "string"
6327	//     },
6328	//     "path": {
6329	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
6330	//       "location": "path",
6331	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
6332	//       "required": true,
6333	//       "type": "string"
6334	//     }
6335	//   },
6336	//   "path": "tagmanager/v2/{+path}:publish",
6337	//   "response": {
6338	//     "$ref": "PublishContainerVersionResponse"
6339	//   },
6340	//   "scopes": [
6341	//     "https://www.googleapis.com/auth/tagmanager.publish"
6342	//   ]
6343	// }
6344
6345}
6346
6347// method id "tagmanager.accounts.containers.versions.set_latest":
6348
6349type AccountsContainersVersionsSetLatestCall struct {
6350	s          *Service
6351	path       string
6352	urlParams_ gensupport.URLParams
6353	ctx_       context.Context
6354	header_    http.Header
6355}
6356
6357// SetLatest: Sets the latest version used for synchronization of
6358// workspaces when
6359// detecting conflicts and errors.
6360func (r *AccountsContainersVersionsService) SetLatest(path string) *AccountsContainersVersionsSetLatestCall {
6361	c := &AccountsContainersVersionsSetLatestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6362	c.path = path
6363	return c
6364}
6365
6366// Fields allows partial responses to be retrieved. See
6367// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6368// for more information.
6369func (c *AccountsContainersVersionsSetLatestCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsSetLatestCall {
6370	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6371	return c
6372}
6373
6374// Context sets the context to be used in this call's Do method. Any
6375// pending HTTP request will be aborted if the provided context is
6376// canceled.
6377func (c *AccountsContainersVersionsSetLatestCall) Context(ctx context.Context) *AccountsContainersVersionsSetLatestCall {
6378	c.ctx_ = ctx
6379	return c
6380}
6381
6382// Header returns an http.Header that can be modified by the caller to
6383// add HTTP headers to the request.
6384func (c *AccountsContainersVersionsSetLatestCall) Header() http.Header {
6385	if c.header_ == nil {
6386		c.header_ = make(http.Header)
6387	}
6388	return c.header_
6389}
6390
6391func (c *AccountsContainersVersionsSetLatestCall) doRequest(alt string) (*http.Response, error) {
6392	reqHeaders := make(http.Header)
6393	for k, v := range c.header_ {
6394		reqHeaders[k] = v
6395	}
6396	reqHeaders.Set("User-Agent", c.s.userAgent())
6397	var body io.Reader = nil
6398	c.urlParams_.Set("alt", alt)
6399	c.urlParams_.Set("prettyPrint", "false")
6400	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:set_latest")
6401	urls += "?" + c.urlParams_.Encode()
6402	req, err := http.NewRequest("POST", urls, body)
6403	if err != nil {
6404		return nil, err
6405	}
6406	req.Header = reqHeaders
6407	googleapi.Expand(req.URL, map[string]string{
6408		"path": c.path,
6409	})
6410	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6411}
6412
6413// Do executes the "tagmanager.accounts.containers.versions.set_latest" call.
6414// Exactly one of *ContainerVersion or error will be non-nil. Any
6415// non-2xx status code is an error. Response headers are in either
6416// *ContainerVersion.ServerResponse.Header or (if a response was
6417// returned at all) in error.(*googleapi.Error).Header. Use
6418// googleapi.IsNotModified to check whether the returned error was
6419// because http.StatusNotModified was returned.
6420func (c *AccountsContainersVersionsSetLatestCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
6421	gensupport.SetOptions(c.urlParams_, opts...)
6422	res, err := c.doRequest("json")
6423	if res != nil && res.StatusCode == http.StatusNotModified {
6424		if res.Body != nil {
6425			res.Body.Close()
6426		}
6427		return nil, &googleapi.Error{
6428			Code:   res.StatusCode,
6429			Header: res.Header,
6430		}
6431	}
6432	if err != nil {
6433		return nil, err
6434	}
6435	defer googleapi.CloseBody(res)
6436	if err := googleapi.CheckResponse(res); err != nil {
6437		return nil, err
6438	}
6439	ret := &ContainerVersion{
6440		ServerResponse: googleapi.ServerResponse{
6441			Header:         res.Header,
6442			HTTPStatusCode: res.StatusCode,
6443		},
6444	}
6445	target := &ret
6446	if err := gensupport.DecodeResponse(target, res); err != nil {
6447		return nil, err
6448	}
6449	return ret, nil
6450	// {
6451	//   "description": "Sets the latest version used for synchronization of workspaces when\ndetecting conflicts and errors.",
6452	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:set_latest",
6453	//   "httpMethod": "POST",
6454	//   "id": "tagmanager.accounts.containers.versions.set_latest",
6455	//   "parameterOrder": [
6456	//     "path"
6457	//   ],
6458	//   "parameters": {
6459	//     "path": {
6460	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
6461	//       "location": "path",
6462	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
6463	//       "required": true,
6464	//       "type": "string"
6465	//     }
6466	//   },
6467	//   "path": "tagmanager/v2/{+path}:set_latest",
6468	//   "response": {
6469	//     "$ref": "ContainerVersion"
6470	//   },
6471	//   "scopes": [
6472	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
6473	//   ]
6474	// }
6475
6476}
6477
6478// method id "tagmanager.accounts.containers.versions.undelete":
6479
6480type AccountsContainersVersionsUndeleteCall struct {
6481	s          *Service
6482	path       string
6483	urlParams_ gensupport.URLParams
6484	ctx_       context.Context
6485	header_    http.Header
6486}
6487
6488// Undelete: Undeletes a Container Version.
6489func (r *AccountsContainersVersionsService) Undelete(path string) *AccountsContainersVersionsUndeleteCall {
6490	c := &AccountsContainersVersionsUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6491	c.path = path
6492	return c
6493}
6494
6495// Fields allows partial responses to be retrieved. See
6496// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6497// for more information.
6498func (c *AccountsContainersVersionsUndeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsUndeleteCall {
6499	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6500	return c
6501}
6502
6503// Context sets the context to be used in this call's Do method. Any
6504// pending HTTP request will be aborted if the provided context is
6505// canceled.
6506func (c *AccountsContainersVersionsUndeleteCall) Context(ctx context.Context) *AccountsContainersVersionsUndeleteCall {
6507	c.ctx_ = ctx
6508	return c
6509}
6510
6511// Header returns an http.Header that can be modified by the caller to
6512// add HTTP headers to the request.
6513func (c *AccountsContainersVersionsUndeleteCall) Header() http.Header {
6514	if c.header_ == nil {
6515		c.header_ = make(http.Header)
6516	}
6517	return c.header_
6518}
6519
6520func (c *AccountsContainersVersionsUndeleteCall) doRequest(alt string) (*http.Response, error) {
6521	reqHeaders := make(http.Header)
6522	for k, v := range c.header_ {
6523		reqHeaders[k] = v
6524	}
6525	reqHeaders.Set("User-Agent", c.s.userAgent())
6526	var body io.Reader = nil
6527	c.urlParams_.Set("alt", alt)
6528	c.urlParams_.Set("prettyPrint", "false")
6529	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:undelete")
6530	urls += "?" + c.urlParams_.Encode()
6531	req, err := http.NewRequest("POST", urls, body)
6532	if err != nil {
6533		return nil, err
6534	}
6535	req.Header = reqHeaders
6536	googleapi.Expand(req.URL, map[string]string{
6537		"path": c.path,
6538	})
6539	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6540}
6541
6542// Do executes the "tagmanager.accounts.containers.versions.undelete" call.
6543// Exactly one of *ContainerVersion or error will be non-nil. Any
6544// non-2xx status code is an error. Response headers are in either
6545// *ContainerVersion.ServerResponse.Header or (if a response was
6546// returned at all) in error.(*googleapi.Error).Header. Use
6547// googleapi.IsNotModified to check whether the returned error was
6548// because http.StatusNotModified was returned.
6549func (c *AccountsContainersVersionsUndeleteCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
6550	gensupport.SetOptions(c.urlParams_, opts...)
6551	res, err := c.doRequest("json")
6552	if res != nil && res.StatusCode == http.StatusNotModified {
6553		if res.Body != nil {
6554			res.Body.Close()
6555		}
6556		return nil, &googleapi.Error{
6557			Code:   res.StatusCode,
6558			Header: res.Header,
6559		}
6560	}
6561	if err != nil {
6562		return nil, err
6563	}
6564	defer googleapi.CloseBody(res)
6565	if err := googleapi.CheckResponse(res); err != nil {
6566		return nil, err
6567	}
6568	ret := &ContainerVersion{
6569		ServerResponse: googleapi.ServerResponse{
6570			Header:         res.Header,
6571			HTTPStatusCode: res.StatusCode,
6572		},
6573	}
6574	target := &ret
6575	if err := gensupport.DecodeResponse(target, res); err != nil {
6576		return nil, err
6577	}
6578	return ret, nil
6579	// {
6580	//   "description": "Undeletes a Container Version.",
6581	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}:undelete",
6582	//   "httpMethod": "POST",
6583	//   "id": "tagmanager.accounts.containers.versions.undelete",
6584	//   "parameterOrder": [
6585	//     "path"
6586	//   ],
6587	//   "parameters": {
6588	//     "path": {
6589	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
6590	//       "location": "path",
6591	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
6592	//       "required": true,
6593	//       "type": "string"
6594	//     }
6595	//   },
6596	//   "path": "tagmanager/v2/{+path}:undelete",
6597	//   "response": {
6598	//     "$ref": "ContainerVersion"
6599	//   },
6600	//   "scopes": [
6601	//     "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
6602	//   ]
6603	// }
6604
6605}
6606
6607// method id "tagmanager.accounts.containers.versions.update":
6608
6609type AccountsContainersVersionsUpdateCall struct {
6610	s                *Service
6611	path             string
6612	containerversion *ContainerVersion
6613	urlParams_       gensupport.URLParams
6614	ctx_             context.Context
6615	header_          http.Header
6616}
6617
6618// Update: Updates a Container Version.
6619func (r *AccountsContainersVersionsService) Update(path string, containerversion *ContainerVersion) *AccountsContainersVersionsUpdateCall {
6620	c := &AccountsContainersVersionsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6621	c.path = path
6622	c.containerversion = containerversion
6623	return c
6624}
6625
6626// Fingerprint sets the optional parameter "fingerprint": When provided,
6627// this fingerprint must match the fingerprint of the
6628// container version in storage.
6629func (c *AccountsContainersVersionsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersVersionsUpdateCall {
6630	c.urlParams_.Set("fingerprint", fingerprint)
6631	return c
6632}
6633
6634// Fields allows partial responses to be retrieved. See
6635// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6636// for more information.
6637func (c *AccountsContainersVersionsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsUpdateCall {
6638	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6639	return c
6640}
6641
6642// Context sets the context to be used in this call's Do method. Any
6643// pending HTTP request will be aborted if the provided context is
6644// canceled.
6645func (c *AccountsContainersVersionsUpdateCall) Context(ctx context.Context) *AccountsContainersVersionsUpdateCall {
6646	c.ctx_ = ctx
6647	return c
6648}
6649
6650// Header returns an http.Header that can be modified by the caller to
6651// add HTTP headers to the request.
6652func (c *AccountsContainersVersionsUpdateCall) Header() http.Header {
6653	if c.header_ == nil {
6654		c.header_ = make(http.Header)
6655	}
6656	return c.header_
6657}
6658
6659func (c *AccountsContainersVersionsUpdateCall) doRequest(alt string) (*http.Response, error) {
6660	reqHeaders := make(http.Header)
6661	for k, v := range c.header_ {
6662		reqHeaders[k] = v
6663	}
6664	reqHeaders.Set("User-Agent", c.s.userAgent())
6665	var body io.Reader = nil
6666	body, err := googleapi.WithoutDataWrapper.JSONReader(c.containerversion)
6667	if err != nil {
6668		return nil, err
6669	}
6670	reqHeaders.Set("Content-Type", "application/json")
6671	c.urlParams_.Set("alt", alt)
6672	c.urlParams_.Set("prettyPrint", "false")
6673	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
6674	urls += "?" + c.urlParams_.Encode()
6675	req, err := http.NewRequest("PUT", urls, body)
6676	if err != nil {
6677		return nil, err
6678	}
6679	req.Header = reqHeaders
6680	googleapi.Expand(req.URL, map[string]string{
6681		"path": c.path,
6682	})
6683	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6684}
6685
6686// Do executes the "tagmanager.accounts.containers.versions.update" call.
6687// Exactly one of *ContainerVersion or error will be non-nil. Any
6688// non-2xx status code is an error. Response headers are in either
6689// *ContainerVersion.ServerResponse.Header or (if a response was
6690// returned at all) in error.(*googleapi.Error).Header. Use
6691// googleapi.IsNotModified to check whether the returned error was
6692// because http.StatusNotModified was returned.
6693func (c *AccountsContainersVersionsUpdateCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
6694	gensupport.SetOptions(c.urlParams_, opts...)
6695	res, err := c.doRequest("json")
6696	if res != nil && res.StatusCode == http.StatusNotModified {
6697		if res.Body != nil {
6698			res.Body.Close()
6699		}
6700		return nil, &googleapi.Error{
6701			Code:   res.StatusCode,
6702			Header: res.Header,
6703		}
6704	}
6705	if err != nil {
6706		return nil, err
6707	}
6708	defer googleapi.CloseBody(res)
6709	if err := googleapi.CheckResponse(res); err != nil {
6710		return nil, err
6711	}
6712	ret := &ContainerVersion{
6713		ServerResponse: googleapi.ServerResponse{
6714			Header:         res.Header,
6715			HTTPStatusCode: res.StatusCode,
6716		},
6717	}
6718	target := &ret
6719	if err := gensupport.DecodeResponse(target, res); err != nil {
6720		return nil, err
6721	}
6722	return ret, nil
6723	// {
6724	//   "description": "Updates a Container Version.",
6725	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/versions/{versionsId}",
6726	//   "httpMethod": "PUT",
6727	//   "id": "tagmanager.accounts.containers.versions.update",
6728	//   "parameterOrder": [
6729	//     "path"
6730	//   ],
6731	//   "parameters": {
6732	//     "fingerprint": {
6733	//       "description": "When provided, this fingerprint must match the fingerprint of the\ncontainer version in storage.",
6734	//       "location": "query",
6735	//       "type": "string"
6736	//     },
6737	//     "path": {
6738	//       "description": "GTM ContainerVersion's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/versions/{version_id}",
6739	//       "location": "path",
6740	//       "pattern": "^accounts/[^/]+/containers/[^/]+/versions/[^/]+$",
6741	//       "required": true,
6742	//       "type": "string"
6743	//     }
6744	//   },
6745	//   "path": "tagmanager/v2/{+path}",
6746	//   "request": {
6747	//     "$ref": "ContainerVersion"
6748	//   },
6749	//   "response": {
6750	//     "$ref": "ContainerVersion"
6751	//   },
6752	//   "scopes": [
6753	//     "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
6754	//   ]
6755	// }
6756
6757}
6758
6759// method id "tagmanager.accounts.containers.workspaces.create":
6760
6761type AccountsContainersWorkspacesCreateCall struct {
6762	s          *Service
6763	parent     string
6764	workspace  *Workspace
6765	urlParams_ gensupport.URLParams
6766	ctx_       context.Context
6767	header_    http.Header
6768}
6769
6770// Create: Creates a Workspace.
6771func (r *AccountsContainersWorkspacesService) Create(parent string, workspace *Workspace) *AccountsContainersWorkspacesCreateCall {
6772	c := &AccountsContainersWorkspacesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6773	c.parent = parent
6774	c.workspace = workspace
6775	return c
6776}
6777
6778// Fields allows partial responses to be retrieved. See
6779// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6780// for more information.
6781func (c *AccountsContainersWorkspacesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesCreateCall {
6782	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6783	return c
6784}
6785
6786// Context sets the context to be used in this call's Do method. Any
6787// pending HTTP request will be aborted if the provided context is
6788// canceled.
6789func (c *AccountsContainersWorkspacesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesCreateCall {
6790	c.ctx_ = ctx
6791	return c
6792}
6793
6794// Header returns an http.Header that can be modified by the caller to
6795// add HTTP headers to the request.
6796func (c *AccountsContainersWorkspacesCreateCall) Header() http.Header {
6797	if c.header_ == nil {
6798		c.header_ = make(http.Header)
6799	}
6800	return c.header_
6801}
6802
6803func (c *AccountsContainersWorkspacesCreateCall) doRequest(alt string) (*http.Response, error) {
6804	reqHeaders := make(http.Header)
6805	for k, v := range c.header_ {
6806		reqHeaders[k] = v
6807	}
6808	reqHeaders.Set("User-Agent", c.s.userAgent())
6809	var body io.Reader = nil
6810	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workspace)
6811	if err != nil {
6812		return nil, err
6813	}
6814	reqHeaders.Set("Content-Type", "application/json")
6815	c.urlParams_.Set("alt", alt)
6816	c.urlParams_.Set("prettyPrint", "false")
6817	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/workspaces")
6818	urls += "?" + c.urlParams_.Encode()
6819	req, err := http.NewRequest("POST", urls, body)
6820	if err != nil {
6821		return nil, err
6822	}
6823	req.Header = reqHeaders
6824	googleapi.Expand(req.URL, map[string]string{
6825		"parent": c.parent,
6826	})
6827	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6828}
6829
6830// Do executes the "tagmanager.accounts.containers.workspaces.create" call.
6831// Exactly one of *Workspace or error will be non-nil. Any non-2xx
6832// status code is an error. Response headers are in either
6833// *Workspace.ServerResponse.Header or (if a response was returned at
6834// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6835// to check whether the returned error was because
6836// http.StatusNotModified was returned.
6837func (c *AccountsContainersWorkspacesCreateCall) Do(opts ...googleapi.CallOption) (*Workspace, error) {
6838	gensupport.SetOptions(c.urlParams_, opts...)
6839	res, err := c.doRequest("json")
6840	if res != nil && res.StatusCode == http.StatusNotModified {
6841		if res.Body != nil {
6842			res.Body.Close()
6843		}
6844		return nil, &googleapi.Error{
6845			Code:   res.StatusCode,
6846			Header: res.Header,
6847		}
6848	}
6849	if err != nil {
6850		return nil, err
6851	}
6852	defer googleapi.CloseBody(res)
6853	if err := googleapi.CheckResponse(res); err != nil {
6854		return nil, err
6855	}
6856	ret := &Workspace{
6857		ServerResponse: googleapi.ServerResponse{
6858			Header:         res.Header,
6859			HTTPStatusCode: res.StatusCode,
6860		},
6861	}
6862	target := &ret
6863	if err := gensupport.DecodeResponse(target, res); err != nil {
6864		return nil, err
6865	}
6866	return ret, nil
6867	// {
6868	//   "description": "Creates a Workspace.",
6869	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces",
6870	//   "httpMethod": "POST",
6871	//   "id": "tagmanager.accounts.containers.workspaces.create",
6872	//   "parameterOrder": [
6873	//     "parent"
6874	//   ],
6875	//   "parameters": {
6876	//     "parent": {
6877	//       "description": "GTM parent Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
6878	//       "location": "path",
6879	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
6880	//       "required": true,
6881	//       "type": "string"
6882	//     }
6883	//   },
6884	//   "path": "tagmanager/v2/{+parent}/workspaces",
6885	//   "request": {
6886	//     "$ref": "Workspace"
6887	//   },
6888	//   "response": {
6889	//     "$ref": "Workspace"
6890	//   },
6891	//   "scopes": [
6892	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
6893	//   ]
6894	// }
6895
6896}
6897
6898// method id "tagmanager.accounts.containers.workspaces.create_version":
6899
6900type AccountsContainersWorkspacesCreateVersionCall struct {
6901	s                                           *Service
6902	path                                        string
6903	createcontainerversionrequestversionoptions *CreateContainerVersionRequestVersionOptions
6904	urlParams_                                  gensupport.URLParams
6905	ctx_                                        context.Context
6906	header_                                     http.Header
6907}
6908
6909// CreateVersion: Creates a Container Version from the entities present
6910// in the workspace,
6911// deletes the workspace, and sets the base container version to the
6912// newly
6913// created version.
6914func (r *AccountsContainersWorkspacesService) CreateVersion(path string, createcontainerversionrequestversionoptions *CreateContainerVersionRequestVersionOptions) *AccountsContainersWorkspacesCreateVersionCall {
6915	c := &AccountsContainersWorkspacesCreateVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6916	c.path = path
6917	c.createcontainerversionrequestversionoptions = createcontainerversionrequestversionoptions
6918	return c
6919}
6920
6921// Fields allows partial responses to be retrieved. See
6922// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6923// for more information.
6924func (c *AccountsContainersWorkspacesCreateVersionCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesCreateVersionCall {
6925	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6926	return c
6927}
6928
6929// Context sets the context to be used in this call's Do method. Any
6930// pending HTTP request will be aborted if the provided context is
6931// canceled.
6932func (c *AccountsContainersWorkspacesCreateVersionCall) Context(ctx context.Context) *AccountsContainersWorkspacesCreateVersionCall {
6933	c.ctx_ = ctx
6934	return c
6935}
6936
6937// Header returns an http.Header that can be modified by the caller to
6938// add HTTP headers to the request.
6939func (c *AccountsContainersWorkspacesCreateVersionCall) Header() http.Header {
6940	if c.header_ == nil {
6941		c.header_ = make(http.Header)
6942	}
6943	return c.header_
6944}
6945
6946func (c *AccountsContainersWorkspacesCreateVersionCall) doRequest(alt string) (*http.Response, error) {
6947	reqHeaders := make(http.Header)
6948	for k, v := range c.header_ {
6949		reqHeaders[k] = v
6950	}
6951	reqHeaders.Set("User-Agent", c.s.userAgent())
6952	var body io.Reader = nil
6953	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createcontainerversionrequestversionoptions)
6954	if err != nil {
6955		return nil, err
6956	}
6957	reqHeaders.Set("Content-Type", "application/json")
6958	c.urlParams_.Set("alt", alt)
6959	c.urlParams_.Set("prettyPrint", "false")
6960	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:create_version")
6961	urls += "?" + c.urlParams_.Encode()
6962	req, err := http.NewRequest("POST", urls, body)
6963	if err != nil {
6964		return nil, err
6965	}
6966	req.Header = reqHeaders
6967	googleapi.Expand(req.URL, map[string]string{
6968		"path": c.path,
6969	})
6970	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6971}
6972
6973// Do executes the "tagmanager.accounts.containers.workspaces.create_version" call.
6974// Exactly one of *CreateContainerVersionResponse or error will be
6975// non-nil. Any non-2xx status code is an error. Response headers are in
6976// either *CreateContainerVersionResponse.ServerResponse.Header or (if a
6977// response was returned at all) in error.(*googleapi.Error).Header. Use
6978// googleapi.IsNotModified to check whether the returned error was
6979// because http.StatusNotModified was returned.
6980func (c *AccountsContainersWorkspacesCreateVersionCall) Do(opts ...googleapi.CallOption) (*CreateContainerVersionResponse, error) {
6981	gensupport.SetOptions(c.urlParams_, opts...)
6982	res, err := c.doRequest("json")
6983	if res != nil && res.StatusCode == http.StatusNotModified {
6984		if res.Body != nil {
6985			res.Body.Close()
6986		}
6987		return nil, &googleapi.Error{
6988			Code:   res.StatusCode,
6989			Header: res.Header,
6990		}
6991	}
6992	if err != nil {
6993		return nil, err
6994	}
6995	defer googleapi.CloseBody(res)
6996	if err := googleapi.CheckResponse(res); err != nil {
6997		return nil, err
6998	}
6999	ret := &CreateContainerVersionResponse{
7000		ServerResponse: googleapi.ServerResponse{
7001			Header:         res.Header,
7002			HTTPStatusCode: res.StatusCode,
7003		},
7004	}
7005	target := &ret
7006	if err := gensupport.DecodeResponse(target, res); err != nil {
7007		return nil, err
7008	}
7009	return ret, nil
7010	// {
7011	//   "description": "Creates a Container Version from the entities present in the workspace,\ndeletes the workspace, and sets the base container version to the newly\ncreated version.",
7012	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:create_version",
7013	//   "httpMethod": "POST",
7014	//   "id": "tagmanager.accounts.containers.workspaces.create_version",
7015	//   "parameterOrder": [
7016	//     "path"
7017	//   ],
7018	//   "parameters": {
7019	//     "path": {
7020	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
7021	//       "location": "path",
7022	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
7023	//       "required": true,
7024	//       "type": "string"
7025	//     }
7026	//   },
7027	//   "path": "tagmanager/v2/{+path}:create_version",
7028	//   "request": {
7029	//     "$ref": "CreateContainerVersionRequestVersionOptions"
7030	//   },
7031	//   "response": {
7032	//     "$ref": "CreateContainerVersionResponse"
7033	//   },
7034	//   "scopes": [
7035	//     "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
7036	//   ]
7037	// }
7038
7039}
7040
7041// method id "tagmanager.accounts.containers.workspaces.delete":
7042
7043type AccountsContainersWorkspacesDeleteCall struct {
7044	s          *Service
7045	path       string
7046	urlParams_ gensupport.URLParams
7047	ctx_       context.Context
7048	header_    http.Header
7049}
7050
7051// Delete: Deletes a Workspace.
7052func (r *AccountsContainersWorkspacesService) Delete(path string) *AccountsContainersWorkspacesDeleteCall {
7053	c := &AccountsContainersWorkspacesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7054	c.path = path
7055	return c
7056}
7057
7058// Fields allows partial responses to be retrieved. See
7059// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7060// for more information.
7061func (c *AccountsContainersWorkspacesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesDeleteCall {
7062	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7063	return c
7064}
7065
7066// Context sets the context to be used in this call's Do method. Any
7067// pending HTTP request will be aborted if the provided context is
7068// canceled.
7069func (c *AccountsContainersWorkspacesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesDeleteCall {
7070	c.ctx_ = ctx
7071	return c
7072}
7073
7074// Header returns an http.Header that can be modified by the caller to
7075// add HTTP headers to the request.
7076func (c *AccountsContainersWorkspacesDeleteCall) Header() http.Header {
7077	if c.header_ == nil {
7078		c.header_ = make(http.Header)
7079	}
7080	return c.header_
7081}
7082
7083func (c *AccountsContainersWorkspacesDeleteCall) doRequest(alt string) (*http.Response, error) {
7084	reqHeaders := make(http.Header)
7085	for k, v := range c.header_ {
7086		reqHeaders[k] = v
7087	}
7088	reqHeaders.Set("User-Agent", c.s.userAgent())
7089	var body io.Reader = nil
7090	c.urlParams_.Set("alt", alt)
7091	c.urlParams_.Set("prettyPrint", "false")
7092	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
7093	urls += "?" + c.urlParams_.Encode()
7094	req, err := http.NewRequest("DELETE", urls, body)
7095	if err != nil {
7096		return nil, err
7097	}
7098	req.Header = reqHeaders
7099	googleapi.Expand(req.URL, map[string]string{
7100		"path": c.path,
7101	})
7102	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7103}
7104
7105// Do executes the "tagmanager.accounts.containers.workspaces.delete" call.
7106func (c *AccountsContainersWorkspacesDeleteCall) Do(opts ...googleapi.CallOption) error {
7107	gensupport.SetOptions(c.urlParams_, opts...)
7108	res, err := c.doRequest("json")
7109	if err != nil {
7110		return err
7111	}
7112	defer googleapi.CloseBody(res)
7113	if err := googleapi.CheckResponse(res); err != nil {
7114		return err
7115	}
7116	return nil
7117	// {
7118	//   "description": "Deletes a Workspace.",
7119	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}",
7120	//   "httpMethod": "DELETE",
7121	//   "id": "tagmanager.accounts.containers.workspaces.delete",
7122	//   "parameterOrder": [
7123	//     "path"
7124	//   ],
7125	//   "parameters": {
7126	//     "path": {
7127	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
7128	//       "location": "path",
7129	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
7130	//       "required": true,
7131	//       "type": "string"
7132	//     }
7133	//   },
7134	//   "path": "tagmanager/v2/{+path}",
7135	//   "scopes": [
7136	//     "https://www.googleapis.com/auth/tagmanager.delete.containers"
7137	//   ]
7138	// }
7139
7140}
7141
7142// method id "tagmanager.accounts.containers.workspaces.get":
7143
7144type AccountsContainersWorkspacesGetCall struct {
7145	s            *Service
7146	path         string
7147	urlParams_   gensupport.URLParams
7148	ifNoneMatch_ string
7149	ctx_         context.Context
7150	header_      http.Header
7151}
7152
7153// Get: Gets a Workspace.
7154func (r *AccountsContainersWorkspacesService) Get(path string) *AccountsContainersWorkspacesGetCall {
7155	c := &AccountsContainersWorkspacesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7156	c.path = path
7157	return c
7158}
7159
7160// Fields allows partial responses to be retrieved. See
7161// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7162// for more information.
7163func (c *AccountsContainersWorkspacesGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesGetCall {
7164	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7165	return c
7166}
7167
7168// IfNoneMatch sets the optional parameter which makes the operation
7169// fail if the object's ETag matches the given value. This is useful for
7170// getting updates only after the object has changed since the last
7171// request. Use googleapi.IsNotModified to check whether the response
7172// error from Do is the result of In-None-Match.
7173func (c *AccountsContainersWorkspacesGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesGetCall {
7174	c.ifNoneMatch_ = entityTag
7175	return c
7176}
7177
7178// Context sets the context to be used in this call's Do method. Any
7179// pending HTTP request will be aborted if the provided context is
7180// canceled.
7181func (c *AccountsContainersWorkspacesGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesGetCall {
7182	c.ctx_ = ctx
7183	return c
7184}
7185
7186// Header returns an http.Header that can be modified by the caller to
7187// add HTTP headers to the request.
7188func (c *AccountsContainersWorkspacesGetCall) Header() http.Header {
7189	if c.header_ == nil {
7190		c.header_ = make(http.Header)
7191	}
7192	return c.header_
7193}
7194
7195func (c *AccountsContainersWorkspacesGetCall) doRequest(alt string) (*http.Response, error) {
7196	reqHeaders := make(http.Header)
7197	for k, v := range c.header_ {
7198		reqHeaders[k] = v
7199	}
7200	reqHeaders.Set("User-Agent", c.s.userAgent())
7201	if c.ifNoneMatch_ != "" {
7202		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7203	}
7204	var body io.Reader = nil
7205	c.urlParams_.Set("alt", alt)
7206	c.urlParams_.Set("prettyPrint", "false")
7207	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
7208	urls += "?" + c.urlParams_.Encode()
7209	req, err := http.NewRequest("GET", urls, body)
7210	if err != nil {
7211		return nil, err
7212	}
7213	req.Header = reqHeaders
7214	googleapi.Expand(req.URL, map[string]string{
7215		"path": c.path,
7216	})
7217	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7218}
7219
7220// Do executes the "tagmanager.accounts.containers.workspaces.get" call.
7221// Exactly one of *Workspace or error will be non-nil. Any non-2xx
7222// status code is an error. Response headers are in either
7223// *Workspace.ServerResponse.Header or (if a response was returned at
7224// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7225// to check whether the returned error was because
7226// http.StatusNotModified was returned.
7227func (c *AccountsContainersWorkspacesGetCall) Do(opts ...googleapi.CallOption) (*Workspace, error) {
7228	gensupport.SetOptions(c.urlParams_, opts...)
7229	res, err := c.doRequest("json")
7230	if res != nil && res.StatusCode == http.StatusNotModified {
7231		if res.Body != nil {
7232			res.Body.Close()
7233		}
7234		return nil, &googleapi.Error{
7235			Code:   res.StatusCode,
7236			Header: res.Header,
7237		}
7238	}
7239	if err != nil {
7240		return nil, err
7241	}
7242	defer googleapi.CloseBody(res)
7243	if err := googleapi.CheckResponse(res); err != nil {
7244		return nil, err
7245	}
7246	ret := &Workspace{
7247		ServerResponse: googleapi.ServerResponse{
7248			Header:         res.Header,
7249			HTTPStatusCode: res.StatusCode,
7250		},
7251	}
7252	target := &ret
7253	if err := gensupport.DecodeResponse(target, res); err != nil {
7254		return nil, err
7255	}
7256	return ret, nil
7257	// {
7258	//   "description": "Gets a Workspace.",
7259	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}",
7260	//   "httpMethod": "GET",
7261	//   "id": "tagmanager.accounts.containers.workspaces.get",
7262	//   "parameterOrder": [
7263	//     "path"
7264	//   ],
7265	//   "parameters": {
7266	//     "path": {
7267	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
7268	//       "location": "path",
7269	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
7270	//       "required": true,
7271	//       "type": "string"
7272	//     }
7273	//   },
7274	//   "path": "tagmanager/v2/{+path}",
7275	//   "response": {
7276	//     "$ref": "Workspace"
7277	//   },
7278	//   "scopes": [
7279	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
7280	//     "https://www.googleapis.com/auth/tagmanager.readonly"
7281	//   ]
7282	// }
7283
7284}
7285
7286// method id "tagmanager.accounts.containers.workspaces.getStatus":
7287
7288type AccountsContainersWorkspacesGetStatusCall struct {
7289	s            *Service
7290	path         string
7291	urlParams_   gensupport.URLParams
7292	ifNoneMatch_ string
7293	ctx_         context.Context
7294	header_      http.Header
7295}
7296
7297// GetStatus: Finds conflicting and modified entities in the workspace.
7298func (r *AccountsContainersWorkspacesService) GetStatus(path string) *AccountsContainersWorkspacesGetStatusCall {
7299	c := &AccountsContainersWorkspacesGetStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7300	c.path = path
7301	return c
7302}
7303
7304// Fields allows partial responses to be retrieved. See
7305// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7306// for more information.
7307func (c *AccountsContainersWorkspacesGetStatusCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesGetStatusCall {
7308	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7309	return c
7310}
7311
7312// IfNoneMatch sets the optional parameter which makes the operation
7313// fail if the object's ETag matches the given value. This is useful for
7314// getting updates only after the object has changed since the last
7315// request. Use googleapi.IsNotModified to check whether the response
7316// error from Do is the result of In-None-Match.
7317func (c *AccountsContainersWorkspacesGetStatusCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesGetStatusCall {
7318	c.ifNoneMatch_ = entityTag
7319	return c
7320}
7321
7322// Context sets the context to be used in this call's Do method. Any
7323// pending HTTP request will be aborted if the provided context is
7324// canceled.
7325func (c *AccountsContainersWorkspacesGetStatusCall) Context(ctx context.Context) *AccountsContainersWorkspacesGetStatusCall {
7326	c.ctx_ = ctx
7327	return c
7328}
7329
7330// Header returns an http.Header that can be modified by the caller to
7331// add HTTP headers to the request.
7332func (c *AccountsContainersWorkspacesGetStatusCall) Header() http.Header {
7333	if c.header_ == nil {
7334		c.header_ = make(http.Header)
7335	}
7336	return c.header_
7337}
7338
7339func (c *AccountsContainersWorkspacesGetStatusCall) doRequest(alt string) (*http.Response, error) {
7340	reqHeaders := make(http.Header)
7341	for k, v := range c.header_ {
7342		reqHeaders[k] = v
7343	}
7344	reqHeaders.Set("User-Agent", c.s.userAgent())
7345	if c.ifNoneMatch_ != "" {
7346		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7347	}
7348	var body io.Reader = nil
7349	c.urlParams_.Set("alt", alt)
7350	c.urlParams_.Set("prettyPrint", "false")
7351	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}/status")
7352	urls += "?" + c.urlParams_.Encode()
7353	req, err := http.NewRequest("GET", urls, body)
7354	if err != nil {
7355		return nil, err
7356	}
7357	req.Header = reqHeaders
7358	googleapi.Expand(req.URL, map[string]string{
7359		"path": c.path,
7360	})
7361	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7362}
7363
7364// Do executes the "tagmanager.accounts.containers.workspaces.getStatus" call.
7365// Exactly one of *GetWorkspaceStatusResponse or error will be non-nil.
7366// Any non-2xx status code is an error. Response headers are in either
7367// *GetWorkspaceStatusResponse.ServerResponse.Header or (if a response
7368// was returned at all) in error.(*googleapi.Error).Header. Use
7369// googleapi.IsNotModified to check whether the returned error was
7370// because http.StatusNotModified was returned.
7371func (c *AccountsContainersWorkspacesGetStatusCall) Do(opts ...googleapi.CallOption) (*GetWorkspaceStatusResponse, error) {
7372	gensupport.SetOptions(c.urlParams_, opts...)
7373	res, err := c.doRequest("json")
7374	if res != nil && res.StatusCode == http.StatusNotModified {
7375		if res.Body != nil {
7376			res.Body.Close()
7377		}
7378		return nil, &googleapi.Error{
7379			Code:   res.StatusCode,
7380			Header: res.Header,
7381		}
7382	}
7383	if err != nil {
7384		return nil, err
7385	}
7386	defer googleapi.CloseBody(res)
7387	if err := googleapi.CheckResponse(res); err != nil {
7388		return nil, err
7389	}
7390	ret := &GetWorkspaceStatusResponse{
7391		ServerResponse: googleapi.ServerResponse{
7392			Header:         res.Header,
7393			HTTPStatusCode: res.StatusCode,
7394		},
7395	}
7396	target := &ret
7397	if err := gensupport.DecodeResponse(target, res); err != nil {
7398		return nil, err
7399	}
7400	return ret, nil
7401	// {
7402	//   "description": "Finds conflicting and modified entities in the workspace.",
7403	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/status",
7404	//   "httpMethod": "GET",
7405	//   "id": "tagmanager.accounts.containers.workspaces.getStatus",
7406	//   "parameterOrder": [
7407	//     "path"
7408	//   ],
7409	//   "parameters": {
7410	//     "path": {
7411	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
7412	//       "location": "path",
7413	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
7414	//       "required": true,
7415	//       "type": "string"
7416	//     }
7417	//   },
7418	//   "path": "tagmanager/v2/{+path}/status",
7419	//   "response": {
7420	//     "$ref": "GetWorkspaceStatusResponse"
7421	//   },
7422	//   "scopes": [
7423	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
7424	//     "https://www.googleapis.com/auth/tagmanager.readonly"
7425	//   ]
7426	// }
7427
7428}
7429
7430// method id "tagmanager.accounts.containers.workspaces.list":
7431
7432type AccountsContainersWorkspacesListCall struct {
7433	s            *Service
7434	parent       string
7435	urlParams_   gensupport.URLParams
7436	ifNoneMatch_ string
7437	ctx_         context.Context
7438	header_      http.Header
7439}
7440
7441// List: Lists all Workspaces that belong to a GTM Container.
7442func (r *AccountsContainersWorkspacesService) List(parent string) *AccountsContainersWorkspacesListCall {
7443	c := &AccountsContainersWorkspacesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7444	c.parent = parent
7445	return c
7446}
7447
7448// PageToken sets the optional parameter "pageToken": Continuation token
7449// for fetching the next page of results.
7450func (c *AccountsContainersWorkspacesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesListCall {
7451	c.urlParams_.Set("pageToken", pageToken)
7452	return c
7453}
7454
7455// Fields allows partial responses to be retrieved. See
7456// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7457// for more information.
7458func (c *AccountsContainersWorkspacesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesListCall {
7459	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7460	return c
7461}
7462
7463// IfNoneMatch sets the optional parameter which makes the operation
7464// fail if the object's ETag matches the given value. This is useful for
7465// getting updates only after the object has changed since the last
7466// request. Use googleapi.IsNotModified to check whether the response
7467// error from Do is the result of In-None-Match.
7468func (c *AccountsContainersWorkspacesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesListCall {
7469	c.ifNoneMatch_ = entityTag
7470	return c
7471}
7472
7473// Context sets the context to be used in this call's Do method. Any
7474// pending HTTP request will be aborted if the provided context is
7475// canceled.
7476func (c *AccountsContainersWorkspacesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesListCall {
7477	c.ctx_ = ctx
7478	return c
7479}
7480
7481// Header returns an http.Header that can be modified by the caller to
7482// add HTTP headers to the request.
7483func (c *AccountsContainersWorkspacesListCall) Header() http.Header {
7484	if c.header_ == nil {
7485		c.header_ = make(http.Header)
7486	}
7487	return c.header_
7488}
7489
7490func (c *AccountsContainersWorkspacesListCall) doRequest(alt string) (*http.Response, error) {
7491	reqHeaders := make(http.Header)
7492	for k, v := range c.header_ {
7493		reqHeaders[k] = v
7494	}
7495	reqHeaders.Set("User-Agent", c.s.userAgent())
7496	if c.ifNoneMatch_ != "" {
7497		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7498	}
7499	var body io.Reader = nil
7500	c.urlParams_.Set("alt", alt)
7501	c.urlParams_.Set("prettyPrint", "false")
7502	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/workspaces")
7503	urls += "?" + c.urlParams_.Encode()
7504	req, err := http.NewRequest("GET", urls, body)
7505	if err != nil {
7506		return nil, err
7507	}
7508	req.Header = reqHeaders
7509	googleapi.Expand(req.URL, map[string]string{
7510		"parent": c.parent,
7511	})
7512	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7513}
7514
7515// Do executes the "tagmanager.accounts.containers.workspaces.list" call.
7516// Exactly one of *ListWorkspacesResponse or error will be non-nil. Any
7517// non-2xx status code is an error. Response headers are in either
7518// *ListWorkspacesResponse.ServerResponse.Header or (if a response was
7519// returned at all) in error.(*googleapi.Error).Header. Use
7520// googleapi.IsNotModified to check whether the returned error was
7521// because http.StatusNotModified was returned.
7522func (c *AccountsContainersWorkspacesListCall) Do(opts ...googleapi.CallOption) (*ListWorkspacesResponse, error) {
7523	gensupport.SetOptions(c.urlParams_, opts...)
7524	res, err := c.doRequest("json")
7525	if res != nil && res.StatusCode == http.StatusNotModified {
7526		if res.Body != nil {
7527			res.Body.Close()
7528		}
7529		return nil, &googleapi.Error{
7530			Code:   res.StatusCode,
7531			Header: res.Header,
7532		}
7533	}
7534	if err != nil {
7535		return nil, err
7536	}
7537	defer googleapi.CloseBody(res)
7538	if err := googleapi.CheckResponse(res); err != nil {
7539		return nil, err
7540	}
7541	ret := &ListWorkspacesResponse{
7542		ServerResponse: googleapi.ServerResponse{
7543			Header:         res.Header,
7544			HTTPStatusCode: res.StatusCode,
7545		},
7546	}
7547	target := &ret
7548	if err := gensupport.DecodeResponse(target, res); err != nil {
7549		return nil, err
7550	}
7551	return ret, nil
7552	// {
7553	//   "description": "Lists all Workspaces that belong to a GTM Container.",
7554	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces",
7555	//   "httpMethod": "GET",
7556	//   "id": "tagmanager.accounts.containers.workspaces.list",
7557	//   "parameterOrder": [
7558	//     "parent"
7559	//   ],
7560	//   "parameters": {
7561	//     "pageToken": {
7562	//       "description": "Continuation token for fetching the next page of results.",
7563	//       "location": "query",
7564	//       "type": "string"
7565	//     },
7566	//     "parent": {
7567	//       "description": "GTM parent Container's API relative path.\nExample: accounts/{account_id}/containers/{container_id}",
7568	//       "location": "path",
7569	//       "pattern": "^accounts/[^/]+/containers/[^/]+$",
7570	//       "required": true,
7571	//       "type": "string"
7572	//     }
7573	//   },
7574	//   "path": "tagmanager/v2/{+parent}/workspaces",
7575	//   "response": {
7576	//     "$ref": "ListWorkspacesResponse"
7577	//   },
7578	//   "scopes": [
7579	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
7580	//     "https://www.googleapis.com/auth/tagmanager.readonly"
7581	//   ]
7582	// }
7583
7584}
7585
7586// Pages invokes f for each page of results.
7587// A non-nil error returned from f will halt the iteration.
7588// The provided context supersedes any context provided to the Context method.
7589func (c *AccountsContainersWorkspacesListCall) Pages(ctx context.Context, f func(*ListWorkspacesResponse) error) error {
7590	c.ctx_ = ctx
7591	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7592	for {
7593		x, err := c.Do()
7594		if err != nil {
7595			return err
7596		}
7597		if err := f(x); err != nil {
7598			return err
7599		}
7600		if x.NextPageToken == "" {
7601			return nil
7602		}
7603		c.PageToken(x.NextPageToken)
7604	}
7605}
7606
7607// method id "tagmanager.accounts.containers.workspaces.quick_preview":
7608
7609type AccountsContainersWorkspacesQuickPreviewCall struct {
7610	s          *Service
7611	path       string
7612	urlParams_ gensupport.URLParams
7613	ctx_       context.Context
7614	header_    http.Header
7615}
7616
7617// QuickPreview: Quick previews a workspace by creating a fake container
7618// version from all
7619// entities in the provided workspace.
7620func (r *AccountsContainersWorkspacesService) QuickPreview(path string) *AccountsContainersWorkspacesQuickPreviewCall {
7621	c := &AccountsContainersWorkspacesQuickPreviewCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7622	c.path = path
7623	return c
7624}
7625
7626// Fields allows partial responses to be retrieved. See
7627// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7628// for more information.
7629func (c *AccountsContainersWorkspacesQuickPreviewCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesQuickPreviewCall {
7630	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7631	return c
7632}
7633
7634// Context sets the context to be used in this call's Do method. Any
7635// pending HTTP request will be aborted if the provided context is
7636// canceled.
7637func (c *AccountsContainersWorkspacesQuickPreviewCall) Context(ctx context.Context) *AccountsContainersWorkspacesQuickPreviewCall {
7638	c.ctx_ = ctx
7639	return c
7640}
7641
7642// Header returns an http.Header that can be modified by the caller to
7643// add HTTP headers to the request.
7644func (c *AccountsContainersWorkspacesQuickPreviewCall) Header() http.Header {
7645	if c.header_ == nil {
7646		c.header_ = make(http.Header)
7647	}
7648	return c.header_
7649}
7650
7651func (c *AccountsContainersWorkspacesQuickPreviewCall) doRequest(alt string) (*http.Response, error) {
7652	reqHeaders := make(http.Header)
7653	for k, v := range c.header_ {
7654		reqHeaders[k] = v
7655	}
7656	reqHeaders.Set("User-Agent", c.s.userAgent())
7657	var body io.Reader = nil
7658	c.urlParams_.Set("alt", alt)
7659	c.urlParams_.Set("prettyPrint", "false")
7660	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:quick_preview")
7661	urls += "?" + c.urlParams_.Encode()
7662	req, err := http.NewRequest("POST", urls, body)
7663	if err != nil {
7664		return nil, err
7665	}
7666	req.Header = reqHeaders
7667	googleapi.Expand(req.URL, map[string]string{
7668		"path": c.path,
7669	})
7670	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7671}
7672
7673// Do executes the "tagmanager.accounts.containers.workspaces.quick_preview" call.
7674// Exactly one of *QuickPreviewResponse or error will be non-nil. Any
7675// non-2xx status code is an error. Response headers are in either
7676// *QuickPreviewResponse.ServerResponse.Header or (if a response was
7677// returned at all) in error.(*googleapi.Error).Header. Use
7678// googleapi.IsNotModified to check whether the returned error was
7679// because http.StatusNotModified was returned.
7680func (c *AccountsContainersWorkspacesQuickPreviewCall) Do(opts ...googleapi.CallOption) (*QuickPreviewResponse, error) {
7681	gensupport.SetOptions(c.urlParams_, opts...)
7682	res, err := c.doRequest("json")
7683	if res != nil && res.StatusCode == http.StatusNotModified {
7684		if res.Body != nil {
7685			res.Body.Close()
7686		}
7687		return nil, &googleapi.Error{
7688			Code:   res.StatusCode,
7689			Header: res.Header,
7690		}
7691	}
7692	if err != nil {
7693		return nil, err
7694	}
7695	defer googleapi.CloseBody(res)
7696	if err := googleapi.CheckResponse(res); err != nil {
7697		return nil, err
7698	}
7699	ret := &QuickPreviewResponse{
7700		ServerResponse: googleapi.ServerResponse{
7701			Header:         res.Header,
7702			HTTPStatusCode: res.StatusCode,
7703		},
7704	}
7705	target := &ret
7706	if err := gensupport.DecodeResponse(target, res); err != nil {
7707		return nil, err
7708	}
7709	return ret, nil
7710	// {
7711	//   "description": "Quick previews a workspace by creating a fake container version from all\nentities in the provided workspace.",
7712	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:quick_preview",
7713	//   "httpMethod": "POST",
7714	//   "id": "tagmanager.accounts.containers.workspaces.quick_preview",
7715	//   "parameterOrder": [
7716	//     "path"
7717	//   ],
7718	//   "parameters": {
7719	//     "path": {
7720	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
7721	//       "location": "path",
7722	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
7723	//       "required": true,
7724	//       "type": "string"
7725	//     }
7726	//   },
7727	//   "path": "tagmanager/v2/{+path}:quick_preview",
7728	//   "response": {
7729	//     "$ref": "QuickPreviewResponse"
7730	//   },
7731	//   "scopes": [
7732	//     "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
7733	//   ]
7734	// }
7735
7736}
7737
7738// method id "tagmanager.accounts.containers.workspaces.resolve_conflict":
7739
7740type AccountsContainersWorkspacesResolveConflictCall struct {
7741	s          *Service
7742	path       string
7743	entity     *Entity
7744	urlParams_ gensupport.URLParams
7745	ctx_       context.Context
7746	header_    http.Header
7747}
7748
7749// ResolveConflict: Resolves a merge conflict for a workspace entity by
7750// updating it to the
7751// resolved entity passed in the request.
7752func (r *AccountsContainersWorkspacesService) ResolveConflict(path string, entity *Entity) *AccountsContainersWorkspacesResolveConflictCall {
7753	c := &AccountsContainersWorkspacesResolveConflictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7754	c.path = path
7755	c.entity = entity
7756	return c
7757}
7758
7759// Fingerprint sets the optional parameter "fingerprint": When provided,
7760// this fingerprint must match the fingerprint of
7761// the
7762// entity_in_workspace in the merge conflict.
7763func (c *AccountsContainersWorkspacesResolveConflictCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesResolveConflictCall {
7764	c.urlParams_.Set("fingerprint", fingerprint)
7765	return c
7766}
7767
7768// Fields allows partial responses to be retrieved. See
7769// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7770// for more information.
7771func (c *AccountsContainersWorkspacesResolveConflictCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesResolveConflictCall {
7772	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7773	return c
7774}
7775
7776// Context sets the context to be used in this call's Do method. Any
7777// pending HTTP request will be aborted if the provided context is
7778// canceled.
7779func (c *AccountsContainersWorkspacesResolveConflictCall) Context(ctx context.Context) *AccountsContainersWorkspacesResolveConflictCall {
7780	c.ctx_ = ctx
7781	return c
7782}
7783
7784// Header returns an http.Header that can be modified by the caller to
7785// add HTTP headers to the request.
7786func (c *AccountsContainersWorkspacesResolveConflictCall) Header() http.Header {
7787	if c.header_ == nil {
7788		c.header_ = make(http.Header)
7789	}
7790	return c.header_
7791}
7792
7793func (c *AccountsContainersWorkspacesResolveConflictCall) doRequest(alt string) (*http.Response, error) {
7794	reqHeaders := make(http.Header)
7795	for k, v := range c.header_ {
7796		reqHeaders[k] = v
7797	}
7798	reqHeaders.Set("User-Agent", c.s.userAgent())
7799	var body io.Reader = nil
7800	body, err := googleapi.WithoutDataWrapper.JSONReader(c.entity)
7801	if err != nil {
7802		return nil, err
7803	}
7804	reqHeaders.Set("Content-Type", "application/json")
7805	c.urlParams_.Set("alt", alt)
7806	c.urlParams_.Set("prettyPrint", "false")
7807	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:resolve_conflict")
7808	urls += "?" + c.urlParams_.Encode()
7809	req, err := http.NewRequest("POST", urls, body)
7810	if err != nil {
7811		return nil, err
7812	}
7813	req.Header = reqHeaders
7814	googleapi.Expand(req.URL, map[string]string{
7815		"path": c.path,
7816	})
7817	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7818}
7819
7820// Do executes the "tagmanager.accounts.containers.workspaces.resolve_conflict" call.
7821func (c *AccountsContainersWorkspacesResolveConflictCall) Do(opts ...googleapi.CallOption) error {
7822	gensupport.SetOptions(c.urlParams_, opts...)
7823	res, err := c.doRequest("json")
7824	if err != nil {
7825		return err
7826	}
7827	defer googleapi.CloseBody(res)
7828	if err := googleapi.CheckResponse(res); err != nil {
7829		return err
7830	}
7831	return nil
7832	// {
7833	//   "description": "Resolves a merge conflict for a workspace entity by updating it to the\nresolved entity passed in the request.",
7834	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:resolve_conflict",
7835	//   "httpMethod": "POST",
7836	//   "id": "tagmanager.accounts.containers.workspaces.resolve_conflict",
7837	//   "parameterOrder": [
7838	//     "path"
7839	//   ],
7840	//   "parameters": {
7841	//     "fingerprint": {
7842	//       "description": "When provided, this fingerprint must match the fingerprint of the\nentity_in_workspace in the merge conflict.",
7843	//       "location": "query",
7844	//       "type": "string"
7845	//     },
7846	//     "path": {
7847	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
7848	//       "location": "path",
7849	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
7850	//       "required": true,
7851	//       "type": "string"
7852	//     }
7853	//   },
7854	//   "path": "tagmanager/v2/{+path}:resolve_conflict",
7855	//   "request": {
7856	//     "$ref": "Entity"
7857	//   },
7858	//   "scopes": [
7859	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
7860	//   ]
7861	// }
7862
7863}
7864
7865// method id "tagmanager.accounts.containers.workspaces.sync":
7866
7867type AccountsContainersWorkspacesSyncCall struct {
7868	s          *Service
7869	path       string
7870	urlParams_ gensupport.URLParams
7871	ctx_       context.Context
7872	header_    http.Header
7873}
7874
7875// Sync: Syncs a workspace to the latest container version by updating
7876// all
7877// unmodified workspace entities and displaying conflicts for
7878// modified
7879// entities.
7880func (r *AccountsContainersWorkspacesService) Sync(path string) *AccountsContainersWorkspacesSyncCall {
7881	c := &AccountsContainersWorkspacesSyncCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7882	c.path = path
7883	return c
7884}
7885
7886// Fields allows partial responses to be retrieved. See
7887// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7888// for more information.
7889func (c *AccountsContainersWorkspacesSyncCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesSyncCall {
7890	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7891	return c
7892}
7893
7894// Context sets the context to be used in this call's Do method. Any
7895// pending HTTP request will be aborted if the provided context is
7896// canceled.
7897func (c *AccountsContainersWorkspacesSyncCall) Context(ctx context.Context) *AccountsContainersWorkspacesSyncCall {
7898	c.ctx_ = ctx
7899	return c
7900}
7901
7902// Header returns an http.Header that can be modified by the caller to
7903// add HTTP headers to the request.
7904func (c *AccountsContainersWorkspacesSyncCall) Header() http.Header {
7905	if c.header_ == nil {
7906		c.header_ = make(http.Header)
7907	}
7908	return c.header_
7909}
7910
7911func (c *AccountsContainersWorkspacesSyncCall) doRequest(alt string) (*http.Response, error) {
7912	reqHeaders := make(http.Header)
7913	for k, v := range c.header_ {
7914		reqHeaders[k] = v
7915	}
7916	reqHeaders.Set("User-Agent", c.s.userAgent())
7917	var body io.Reader = nil
7918	c.urlParams_.Set("alt", alt)
7919	c.urlParams_.Set("prettyPrint", "false")
7920	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:sync")
7921	urls += "?" + c.urlParams_.Encode()
7922	req, err := http.NewRequest("POST", urls, body)
7923	if err != nil {
7924		return nil, err
7925	}
7926	req.Header = reqHeaders
7927	googleapi.Expand(req.URL, map[string]string{
7928		"path": c.path,
7929	})
7930	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7931}
7932
7933// Do executes the "tagmanager.accounts.containers.workspaces.sync" call.
7934// Exactly one of *SyncWorkspaceResponse or error will be non-nil. Any
7935// non-2xx status code is an error. Response headers are in either
7936// *SyncWorkspaceResponse.ServerResponse.Header or (if a response was
7937// returned at all) in error.(*googleapi.Error).Header. Use
7938// googleapi.IsNotModified to check whether the returned error was
7939// because http.StatusNotModified was returned.
7940func (c *AccountsContainersWorkspacesSyncCall) Do(opts ...googleapi.CallOption) (*SyncWorkspaceResponse, error) {
7941	gensupport.SetOptions(c.urlParams_, opts...)
7942	res, err := c.doRequest("json")
7943	if res != nil && res.StatusCode == http.StatusNotModified {
7944		if res.Body != nil {
7945			res.Body.Close()
7946		}
7947		return nil, &googleapi.Error{
7948			Code:   res.StatusCode,
7949			Header: res.Header,
7950		}
7951	}
7952	if err != nil {
7953		return nil, err
7954	}
7955	defer googleapi.CloseBody(res)
7956	if err := googleapi.CheckResponse(res); err != nil {
7957		return nil, err
7958	}
7959	ret := &SyncWorkspaceResponse{
7960		ServerResponse: googleapi.ServerResponse{
7961			Header:         res.Header,
7962			HTTPStatusCode: res.StatusCode,
7963		},
7964	}
7965	target := &ret
7966	if err := gensupport.DecodeResponse(target, res); err != nil {
7967		return nil, err
7968	}
7969	return ret, nil
7970	// {
7971	//   "description": "Syncs a workspace to the latest container version by updating all\nunmodified workspace entities and displaying conflicts for modified\nentities.",
7972	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}:sync",
7973	//   "httpMethod": "POST",
7974	//   "id": "tagmanager.accounts.containers.workspaces.sync",
7975	//   "parameterOrder": [
7976	//     "path"
7977	//   ],
7978	//   "parameters": {
7979	//     "path": {
7980	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
7981	//       "location": "path",
7982	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
7983	//       "required": true,
7984	//       "type": "string"
7985	//     }
7986	//   },
7987	//   "path": "tagmanager/v2/{+path}:sync",
7988	//   "response": {
7989	//     "$ref": "SyncWorkspaceResponse"
7990	//   },
7991	//   "scopes": [
7992	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
7993	//   ]
7994	// }
7995
7996}
7997
7998// method id "tagmanager.accounts.containers.workspaces.update":
7999
8000type AccountsContainersWorkspacesUpdateCall struct {
8001	s          *Service
8002	path       string
8003	workspace  *Workspace
8004	urlParams_ gensupport.URLParams
8005	ctx_       context.Context
8006	header_    http.Header
8007}
8008
8009// Update: Updates a Workspace.
8010func (r *AccountsContainersWorkspacesService) Update(path string, workspace *Workspace) *AccountsContainersWorkspacesUpdateCall {
8011	c := &AccountsContainersWorkspacesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8012	c.path = path
8013	c.workspace = workspace
8014	return c
8015}
8016
8017// Fingerprint sets the optional parameter "fingerprint": When provided,
8018// this fingerprint must match the fingerprint of the
8019// workspace in storage.
8020func (c *AccountsContainersWorkspacesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesUpdateCall {
8021	c.urlParams_.Set("fingerprint", fingerprint)
8022	return c
8023}
8024
8025// Fields allows partial responses to be retrieved. See
8026// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8027// for more information.
8028func (c *AccountsContainersWorkspacesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesUpdateCall {
8029	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8030	return c
8031}
8032
8033// Context sets the context to be used in this call's Do method. Any
8034// pending HTTP request will be aborted if the provided context is
8035// canceled.
8036func (c *AccountsContainersWorkspacesUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesUpdateCall {
8037	c.ctx_ = ctx
8038	return c
8039}
8040
8041// Header returns an http.Header that can be modified by the caller to
8042// add HTTP headers to the request.
8043func (c *AccountsContainersWorkspacesUpdateCall) Header() http.Header {
8044	if c.header_ == nil {
8045		c.header_ = make(http.Header)
8046	}
8047	return c.header_
8048}
8049
8050func (c *AccountsContainersWorkspacesUpdateCall) doRequest(alt string) (*http.Response, error) {
8051	reqHeaders := make(http.Header)
8052	for k, v := range c.header_ {
8053		reqHeaders[k] = v
8054	}
8055	reqHeaders.Set("User-Agent", c.s.userAgent())
8056	var body io.Reader = nil
8057	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workspace)
8058	if err != nil {
8059		return nil, err
8060	}
8061	reqHeaders.Set("Content-Type", "application/json")
8062	c.urlParams_.Set("alt", alt)
8063	c.urlParams_.Set("prettyPrint", "false")
8064	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
8065	urls += "?" + c.urlParams_.Encode()
8066	req, err := http.NewRequest("PUT", urls, body)
8067	if err != nil {
8068		return nil, err
8069	}
8070	req.Header = reqHeaders
8071	googleapi.Expand(req.URL, map[string]string{
8072		"path": c.path,
8073	})
8074	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8075}
8076
8077// Do executes the "tagmanager.accounts.containers.workspaces.update" call.
8078// Exactly one of *Workspace or error will be non-nil. Any non-2xx
8079// status code is an error. Response headers are in either
8080// *Workspace.ServerResponse.Header or (if a response was returned at
8081// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8082// to check whether the returned error was because
8083// http.StatusNotModified was returned.
8084func (c *AccountsContainersWorkspacesUpdateCall) Do(opts ...googleapi.CallOption) (*Workspace, error) {
8085	gensupport.SetOptions(c.urlParams_, opts...)
8086	res, err := c.doRequest("json")
8087	if res != nil && res.StatusCode == http.StatusNotModified {
8088		if res.Body != nil {
8089			res.Body.Close()
8090		}
8091		return nil, &googleapi.Error{
8092			Code:   res.StatusCode,
8093			Header: res.Header,
8094		}
8095	}
8096	if err != nil {
8097		return nil, err
8098	}
8099	defer googleapi.CloseBody(res)
8100	if err := googleapi.CheckResponse(res); err != nil {
8101		return nil, err
8102	}
8103	ret := &Workspace{
8104		ServerResponse: googleapi.ServerResponse{
8105			Header:         res.Header,
8106			HTTPStatusCode: res.StatusCode,
8107		},
8108	}
8109	target := &ret
8110	if err := gensupport.DecodeResponse(target, res); err != nil {
8111		return nil, err
8112	}
8113	return ret, nil
8114	// {
8115	//   "description": "Updates a Workspace.",
8116	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}",
8117	//   "httpMethod": "PUT",
8118	//   "id": "tagmanager.accounts.containers.workspaces.update",
8119	//   "parameterOrder": [
8120	//     "path"
8121	//   ],
8122	//   "parameters": {
8123	//     "fingerprint": {
8124	//       "description": "When provided, this fingerprint must match the fingerprint of the\nworkspace in storage.",
8125	//       "location": "query",
8126	//       "type": "string"
8127	//     },
8128	//     "path": {
8129	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
8130	//       "location": "path",
8131	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
8132	//       "required": true,
8133	//       "type": "string"
8134	//     }
8135	//   },
8136	//   "path": "tagmanager/v2/{+path}",
8137	//   "request": {
8138	//     "$ref": "Workspace"
8139	//   },
8140	//   "response": {
8141	//     "$ref": "Workspace"
8142	//   },
8143	//   "scopes": [
8144	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
8145	//   ]
8146	// }
8147
8148}
8149
8150// method id "tagmanager.accounts.containers.workspaces.built_in_variables.create":
8151
8152type AccountsContainersWorkspacesBuiltInVariablesCreateCall struct {
8153	s          *Service
8154	parent     string
8155	urlParams_ gensupport.URLParams
8156	ctx_       context.Context
8157	header_    http.Header
8158}
8159
8160// Create: Creates one or more GTM Built-In Variables.
8161func (r *AccountsContainersWorkspacesBuiltInVariablesService) Create(parent string) *AccountsContainersWorkspacesBuiltInVariablesCreateCall {
8162	c := &AccountsContainersWorkspacesBuiltInVariablesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8163	c.parent = parent
8164	return c
8165}
8166
8167// Type sets the optional parameter "type": The types of built-in
8168// variables to enable.
8169//
8170// Possible values:
8171//   "BUILT_IN_VARIABLE_TYPE_UNSPECIFIED"
8172//   "PAGE_URL"
8173//   "PAGE_HOSTNAME"
8174//   "PAGE_PATH"
8175//   "REFERRER"
8176//   "EVENT"
8177//   "CLICK_ELEMENT"
8178//   "CLICK_CLASSES"
8179//   "CLICK_ID"
8180//   "CLICK_TARGET"
8181//   "CLICK_URL"
8182//   "CLICK_TEXT"
8183//   "FORM_ELEMENT"
8184//   "FORM_CLASSES"
8185//   "FORM_ID"
8186//   "FORM_TARGET"
8187//   "FORM_URL"
8188//   "FORM_TEXT"
8189//   "ERROR_MESSAGE"
8190//   "ERROR_URL"
8191//   "ERROR_LINE"
8192//   "NEW_HISTORY_URL"
8193//   "OLD_HISTORY_URL"
8194//   "NEW_HISTORY_FRAGMENT"
8195//   "OLD_HISTORY_FRAGMENT"
8196//   "NEW_HISTORY_STATE"
8197//   "OLD_HISTORY_STATE"
8198//   "HISTORY_SOURCE"
8199//   "CONTAINER_VERSION"
8200//   "DEBUG_MODE"
8201//   "RANDOM_NUMBER"
8202//   "CONTAINER_ID"
8203//   "APP_ID"
8204//   "APP_NAME"
8205//   "APP_VERSION_CODE"
8206//   "APP_VERSION_NAME"
8207//   "LANGUAGE"
8208//   "OS_VERSION"
8209//   "PLATFORM"
8210//   "SDK_VERSION"
8211//   "DEVICE_NAME"
8212//   "RESOLUTION"
8213//   "ADVERTISER_ID"
8214//   "ADVERTISING_TRACKING_ENABLED"
8215//   "HTML_ID"
8216//   "ENVIRONMENT_NAME"
8217//   "AMP_BROWSER_LANGUAGE"
8218//   "AMP_CANONICAL_PATH"
8219//   "AMP_CANONICAL_URL"
8220//   "AMP_CANONICAL_HOST"
8221//   "AMP_REFERRER"
8222//   "AMP_TITLE"
8223//   "AMP_CLIENT_ID"
8224//   "AMP_CLIENT_TIMEZONE"
8225//   "AMP_CLIENT_TIMESTAMP"
8226//   "AMP_CLIENT_SCREEN_WIDTH"
8227//   "AMP_CLIENT_SCREEN_HEIGHT"
8228//   "AMP_CLIENT_SCROLL_X"
8229//   "AMP_CLIENT_SCROLL_Y"
8230//   "AMP_CLIENT_MAX_SCROLL_X"
8231//   "AMP_CLIENT_MAX_SCROLL_Y"
8232//   "AMP_TOTAL_ENGAGED_TIME"
8233//   "AMP_PAGE_VIEW_ID"
8234//   "AMP_PAGE_LOAD_TIME"
8235//   "AMP_PAGE_DOWNLOAD_TIME"
8236//   "AMP_GTM_EVENT"
8237//   "EVENT_NAME"
8238//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN"
8239//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ACLID"
8240//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ANID"
8241//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CLICK_TIMESTAMP"
8242//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CONTENT"
8243//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CP1"
8244//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_GCLID"
8245//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_SOURCE"
8246//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_TERM"
8247//   "FIREBASE_EVENT_PARAMETER_CURRENCY"
8248//   "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_ACCEPT_TIME"
8249//   "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_LINKID"
8250//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_DEVICE_TIME"
8251//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_ID"
8252//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_NAME"
8253//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_TIME"
8254//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_TOPIC"
8255//   "FIREBASE_EVENT_PARAMETER_PREVIOUS_APP_VERSION"
8256//   "FIREBASE_EVENT_PARAMETER_PREVIOUS_OS_VERSION"
8257//   "FIREBASE_EVENT_PARAMETER_PRICE"
8258//   "FIREBASE_EVENT_PARAMETER_PRODUCT_ID"
8259//   "FIREBASE_EVENT_PARAMETER_QUANTITY"
8260//   "FIREBASE_EVENT_PARAMETER_VALUE"
8261//   "VIDEO_PROVIDER"
8262//   "VIDEO_URL"
8263//   "VIDEO_TITLE"
8264//   "VIDEO_DURATION"
8265//   "VIDEO_PERCENT"
8266//   "VIDEO_VISIBLE"
8267//   "VIDEO_STATUS"
8268//   "VIDEO_CURRENT_TIME"
8269//   "SCROLL_DEPTH_THRESHOLD"
8270//   "SCROLL_DEPTH_UNITS"
8271//   "SCROLL_DEPTH_DIRECTION"
8272//   "ELEMENT_VISIBILITY_RATIO"
8273//   "ELEMENT_VISIBILITY_TIME"
8274//   "ELEMENT_VISIBILITY_FIRST_TIME"
8275//   "ELEMENT_VISIBILITY_RECENT_TIME"
8276func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Type(type_ ...string) *AccountsContainersWorkspacesBuiltInVariablesCreateCall {
8277	c.urlParams_.SetMulti("type", append([]string{}, type_...))
8278	return c
8279}
8280
8281// Fields allows partial responses to be retrieved. See
8282// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8283// for more information.
8284func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesBuiltInVariablesCreateCall {
8285	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8286	return c
8287}
8288
8289// Context sets the context to be used in this call's Do method. Any
8290// pending HTTP request will be aborted if the provided context is
8291// canceled.
8292func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesBuiltInVariablesCreateCall {
8293	c.ctx_ = ctx
8294	return c
8295}
8296
8297// Header returns an http.Header that can be modified by the caller to
8298// add HTTP headers to the request.
8299func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Header() http.Header {
8300	if c.header_ == nil {
8301		c.header_ = make(http.Header)
8302	}
8303	return c.header_
8304}
8305
8306func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) doRequest(alt string) (*http.Response, error) {
8307	reqHeaders := make(http.Header)
8308	for k, v := range c.header_ {
8309		reqHeaders[k] = v
8310	}
8311	reqHeaders.Set("User-Agent", c.s.userAgent())
8312	var body io.Reader = nil
8313	c.urlParams_.Set("alt", alt)
8314	c.urlParams_.Set("prettyPrint", "false")
8315	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/built_in_variables")
8316	urls += "?" + c.urlParams_.Encode()
8317	req, err := http.NewRequest("POST", urls, body)
8318	if err != nil {
8319		return nil, err
8320	}
8321	req.Header = reqHeaders
8322	googleapi.Expand(req.URL, map[string]string{
8323		"parent": c.parent,
8324	})
8325	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8326}
8327
8328// Do executes the "tagmanager.accounts.containers.workspaces.built_in_variables.create" call.
8329// Exactly one of *CreateBuiltInVariableResponse or error will be
8330// non-nil. Any non-2xx status code is an error. Response headers are in
8331// either *CreateBuiltInVariableResponse.ServerResponse.Header or (if a
8332// response was returned at all) in error.(*googleapi.Error).Header. Use
8333// googleapi.IsNotModified to check whether the returned error was
8334// because http.StatusNotModified was returned.
8335func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Do(opts ...googleapi.CallOption) (*CreateBuiltInVariableResponse, error) {
8336	gensupport.SetOptions(c.urlParams_, opts...)
8337	res, err := c.doRequest("json")
8338	if res != nil && res.StatusCode == http.StatusNotModified {
8339		if res.Body != nil {
8340			res.Body.Close()
8341		}
8342		return nil, &googleapi.Error{
8343			Code:   res.StatusCode,
8344			Header: res.Header,
8345		}
8346	}
8347	if err != nil {
8348		return nil, err
8349	}
8350	defer googleapi.CloseBody(res)
8351	if err := googleapi.CheckResponse(res); err != nil {
8352		return nil, err
8353	}
8354	ret := &CreateBuiltInVariableResponse{
8355		ServerResponse: googleapi.ServerResponse{
8356			Header:         res.Header,
8357			HTTPStatusCode: res.StatusCode,
8358		},
8359	}
8360	target := &ret
8361	if err := gensupport.DecodeResponse(target, res); err != nil {
8362		return nil, err
8363	}
8364	return ret, nil
8365	// {
8366	//   "description": "Creates one or more GTM Built-In Variables.",
8367	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables",
8368	//   "httpMethod": "POST",
8369	//   "id": "tagmanager.accounts.containers.workspaces.built_in_variables.create",
8370	//   "parameterOrder": [
8371	//     "parent"
8372	//   ],
8373	//   "parameters": {
8374	//     "parent": {
8375	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
8376	//       "location": "path",
8377	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
8378	//       "required": true,
8379	//       "type": "string"
8380	//     },
8381	//     "type": {
8382	//       "description": "The types of built-in variables to enable.",
8383	//       "enum": [
8384	//         "BUILT_IN_VARIABLE_TYPE_UNSPECIFIED",
8385	//         "PAGE_URL",
8386	//         "PAGE_HOSTNAME",
8387	//         "PAGE_PATH",
8388	//         "REFERRER",
8389	//         "EVENT",
8390	//         "CLICK_ELEMENT",
8391	//         "CLICK_CLASSES",
8392	//         "CLICK_ID",
8393	//         "CLICK_TARGET",
8394	//         "CLICK_URL",
8395	//         "CLICK_TEXT",
8396	//         "FORM_ELEMENT",
8397	//         "FORM_CLASSES",
8398	//         "FORM_ID",
8399	//         "FORM_TARGET",
8400	//         "FORM_URL",
8401	//         "FORM_TEXT",
8402	//         "ERROR_MESSAGE",
8403	//         "ERROR_URL",
8404	//         "ERROR_LINE",
8405	//         "NEW_HISTORY_URL",
8406	//         "OLD_HISTORY_URL",
8407	//         "NEW_HISTORY_FRAGMENT",
8408	//         "OLD_HISTORY_FRAGMENT",
8409	//         "NEW_HISTORY_STATE",
8410	//         "OLD_HISTORY_STATE",
8411	//         "HISTORY_SOURCE",
8412	//         "CONTAINER_VERSION",
8413	//         "DEBUG_MODE",
8414	//         "RANDOM_NUMBER",
8415	//         "CONTAINER_ID",
8416	//         "APP_ID",
8417	//         "APP_NAME",
8418	//         "APP_VERSION_CODE",
8419	//         "APP_VERSION_NAME",
8420	//         "LANGUAGE",
8421	//         "OS_VERSION",
8422	//         "PLATFORM",
8423	//         "SDK_VERSION",
8424	//         "DEVICE_NAME",
8425	//         "RESOLUTION",
8426	//         "ADVERTISER_ID",
8427	//         "ADVERTISING_TRACKING_ENABLED",
8428	//         "HTML_ID",
8429	//         "ENVIRONMENT_NAME",
8430	//         "AMP_BROWSER_LANGUAGE",
8431	//         "AMP_CANONICAL_PATH",
8432	//         "AMP_CANONICAL_URL",
8433	//         "AMP_CANONICAL_HOST",
8434	//         "AMP_REFERRER",
8435	//         "AMP_TITLE",
8436	//         "AMP_CLIENT_ID",
8437	//         "AMP_CLIENT_TIMEZONE",
8438	//         "AMP_CLIENT_TIMESTAMP",
8439	//         "AMP_CLIENT_SCREEN_WIDTH",
8440	//         "AMP_CLIENT_SCREEN_HEIGHT",
8441	//         "AMP_CLIENT_SCROLL_X",
8442	//         "AMP_CLIENT_SCROLL_Y",
8443	//         "AMP_CLIENT_MAX_SCROLL_X",
8444	//         "AMP_CLIENT_MAX_SCROLL_Y",
8445	//         "AMP_TOTAL_ENGAGED_TIME",
8446	//         "AMP_PAGE_VIEW_ID",
8447	//         "AMP_PAGE_LOAD_TIME",
8448	//         "AMP_PAGE_DOWNLOAD_TIME",
8449	//         "AMP_GTM_EVENT",
8450	//         "EVENT_NAME",
8451	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN",
8452	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ACLID",
8453	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ANID",
8454	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CLICK_TIMESTAMP",
8455	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CONTENT",
8456	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CP1",
8457	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_GCLID",
8458	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_SOURCE",
8459	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_TERM",
8460	//         "FIREBASE_EVENT_PARAMETER_CURRENCY",
8461	//         "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_ACCEPT_TIME",
8462	//         "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_LINKID",
8463	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_DEVICE_TIME",
8464	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_ID",
8465	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_NAME",
8466	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_TIME",
8467	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_TOPIC",
8468	//         "FIREBASE_EVENT_PARAMETER_PREVIOUS_APP_VERSION",
8469	//         "FIREBASE_EVENT_PARAMETER_PREVIOUS_OS_VERSION",
8470	//         "FIREBASE_EVENT_PARAMETER_PRICE",
8471	//         "FIREBASE_EVENT_PARAMETER_PRODUCT_ID",
8472	//         "FIREBASE_EVENT_PARAMETER_QUANTITY",
8473	//         "FIREBASE_EVENT_PARAMETER_VALUE",
8474	//         "VIDEO_PROVIDER",
8475	//         "VIDEO_URL",
8476	//         "VIDEO_TITLE",
8477	//         "VIDEO_DURATION",
8478	//         "VIDEO_PERCENT",
8479	//         "VIDEO_VISIBLE",
8480	//         "VIDEO_STATUS",
8481	//         "VIDEO_CURRENT_TIME",
8482	//         "SCROLL_DEPTH_THRESHOLD",
8483	//         "SCROLL_DEPTH_UNITS",
8484	//         "SCROLL_DEPTH_DIRECTION",
8485	//         "ELEMENT_VISIBILITY_RATIO",
8486	//         "ELEMENT_VISIBILITY_TIME",
8487	//         "ELEMENT_VISIBILITY_FIRST_TIME",
8488	//         "ELEMENT_VISIBILITY_RECENT_TIME"
8489	//       ],
8490	//       "location": "query",
8491	//       "repeated": true,
8492	//       "type": "string"
8493	//     }
8494	//   },
8495	//   "path": "tagmanager/v2/{+parent}/built_in_variables",
8496	//   "response": {
8497	//     "$ref": "CreateBuiltInVariableResponse"
8498	//   },
8499	//   "scopes": [
8500	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
8501	//   ]
8502	// }
8503
8504}
8505
8506// method id "tagmanager.accounts.containers.workspaces.built_in_variables.delete":
8507
8508type AccountsContainersWorkspacesBuiltInVariablesDeleteCall struct {
8509	s          *Service
8510	path       string
8511	urlParams_ gensupport.URLParams
8512	ctx_       context.Context
8513	header_    http.Header
8514}
8515
8516// Delete: Deletes one or more GTM Built-In Variables.
8517func (r *AccountsContainersWorkspacesBuiltInVariablesService) Delete(path string) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall {
8518	c := &AccountsContainersWorkspacesBuiltInVariablesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8519	c.path = path
8520	return c
8521}
8522
8523// Type sets the optional parameter "type": The types of built-in
8524// variables to delete.
8525//
8526// Possible values:
8527//   "BUILT_IN_VARIABLE_TYPE_UNSPECIFIED"
8528//   "PAGE_URL"
8529//   "PAGE_HOSTNAME"
8530//   "PAGE_PATH"
8531//   "REFERRER"
8532//   "EVENT"
8533//   "CLICK_ELEMENT"
8534//   "CLICK_CLASSES"
8535//   "CLICK_ID"
8536//   "CLICK_TARGET"
8537//   "CLICK_URL"
8538//   "CLICK_TEXT"
8539//   "FORM_ELEMENT"
8540//   "FORM_CLASSES"
8541//   "FORM_ID"
8542//   "FORM_TARGET"
8543//   "FORM_URL"
8544//   "FORM_TEXT"
8545//   "ERROR_MESSAGE"
8546//   "ERROR_URL"
8547//   "ERROR_LINE"
8548//   "NEW_HISTORY_URL"
8549//   "OLD_HISTORY_URL"
8550//   "NEW_HISTORY_FRAGMENT"
8551//   "OLD_HISTORY_FRAGMENT"
8552//   "NEW_HISTORY_STATE"
8553//   "OLD_HISTORY_STATE"
8554//   "HISTORY_SOURCE"
8555//   "CONTAINER_VERSION"
8556//   "DEBUG_MODE"
8557//   "RANDOM_NUMBER"
8558//   "CONTAINER_ID"
8559//   "APP_ID"
8560//   "APP_NAME"
8561//   "APP_VERSION_CODE"
8562//   "APP_VERSION_NAME"
8563//   "LANGUAGE"
8564//   "OS_VERSION"
8565//   "PLATFORM"
8566//   "SDK_VERSION"
8567//   "DEVICE_NAME"
8568//   "RESOLUTION"
8569//   "ADVERTISER_ID"
8570//   "ADVERTISING_TRACKING_ENABLED"
8571//   "HTML_ID"
8572//   "ENVIRONMENT_NAME"
8573//   "AMP_BROWSER_LANGUAGE"
8574//   "AMP_CANONICAL_PATH"
8575//   "AMP_CANONICAL_URL"
8576//   "AMP_CANONICAL_HOST"
8577//   "AMP_REFERRER"
8578//   "AMP_TITLE"
8579//   "AMP_CLIENT_ID"
8580//   "AMP_CLIENT_TIMEZONE"
8581//   "AMP_CLIENT_TIMESTAMP"
8582//   "AMP_CLIENT_SCREEN_WIDTH"
8583//   "AMP_CLIENT_SCREEN_HEIGHT"
8584//   "AMP_CLIENT_SCROLL_X"
8585//   "AMP_CLIENT_SCROLL_Y"
8586//   "AMP_CLIENT_MAX_SCROLL_X"
8587//   "AMP_CLIENT_MAX_SCROLL_Y"
8588//   "AMP_TOTAL_ENGAGED_TIME"
8589//   "AMP_PAGE_VIEW_ID"
8590//   "AMP_PAGE_LOAD_TIME"
8591//   "AMP_PAGE_DOWNLOAD_TIME"
8592//   "AMP_GTM_EVENT"
8593//   "EVENT_NAME"
8594//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN"
8595//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ACLID"
8596//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ANID"
8597//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CLICK_TIMESTAMP"
8598//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CONTENT"
8599//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CP1"
8600//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_GCLID"
8601//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_SOURCE"
8602//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_TERM"
8603//   "FIREBASE_EVENT_PARAMETER_CURRENCY"
8604//   "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_ACCEPT_TIME"
8605//   "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_LINKID"
8606//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_DEVICE_TIME"
8607//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_ID"
8608//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_NAME"
8609//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_TIME"
8610//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_TOPIC"
8611//   "FIREBASE_EVENT_PARAMETER_PREVIOUS_APP_VERSION"
8612//   "FIREBASE_EVENT_PARAMETER_PREVIOUS_OS_VERSION"
8613//   "FIREBASE_EVENT_PARAMETER_PRICE"
8614//   "FIREBASE_EVENT_PARAMETER_PRODUCT_ID"
8615//   "FIREBASE_EVENT_PARAMETER_QUANTITY"
8616//   "FIREBASE_EVENT_PARAMETER_VALUE"
8617//   "VIDEO_PROVIDER"
8618//   "VIDEO_URL"
8619//   "VIDEO_TITLE"
8620//   "VIDEO_DURATION"
8621//   "VIDEO_PERCENT"
8622//   "VIDEO_VISIBLE"
8623//   "VIDEO_STATUS"
8624//   "VIDEO_CURRENT_TIME"
8625//   "SCROLL_DEPTH_THRESHOLD"
8626//   "SCROLL_DEPTH_UNITS"
8627//   "SCROLL_DEPTH_DIRECTION"
8628//   "ELEMENT_VISIBILITY_RATIO"
8629//   "ELEMENT_VISIBILITY_TIME"
8630//   "ELEMENT_VISIBILITY_FIRST_TIME"
8631//   "ELEMENT_VISIBILITY_RECENT_TIME"
8632func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Type(type_ ...string) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall {
8633	c.urlParams_.SetMulti("type", append([]string{}, type_...))
8634	return c
8635}
8636
8637// Fields allows partial responses to be retrieved. See
8638// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8639// for more information.
8640func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall {
8641	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8642	return c
8643}
8644
8645// Context sets the context to be used in this call's Do method. Any
8646// pending HTTP request will be aborted if the provided context is
8647// canceled.
8648func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall {
8649	c.ctx_ = ctx
8650	return c
8651}
8652
8653// Header returns an http.Header that can be modified by the caller to
8654// add HTTP headers to the request.
8655func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Header() http.Header {
8656	if c.header_ == nil {
8657		c.header_ = make(http.Header)
8658	}
8659	return c.header_
8660}
8661
8662func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
8663	reqHeaders := make(http.Header)
8664	for k, v := range c.header_ {
8665		reqHeaders[k] = v
8666	}
8667	reqHeaders.Set("User-Agent", c.s.userAgent())
8668	var body io.Reader = nil
8669	c.urlParams_.Set("alt", alt)
8670	c.urlParams_.Set("prettyPrint", "false")
8671	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
8672	urls += "?" + c.urlParams_.Encode()
8673	req, err := http.NewRequest("DELETE", urls, body)
8674	if err != nil {
8675		return nil, err
8676	}
8677	req.Header = reqHeaders
8678	googleapi.Expand(req.URL, map[string]string{
8679		"path": c.path,
8680	})
8681	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8682}
8683
8684// Do executes the "tagmanager.accounts.containers.workspaces.built_in_variables.delete" call.
8685func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Do(opts ...googleapi.CallOption) error {
8686	gensupport.SetOptions(c.urlParams_, opts...)
8687	res, err := c.doRequest("json")
8688	if err != nil {
8689		return err
8690	}
8691	defer googleapi.CloseBody(res)
8692	if err := googleapi.CheckResponse(res); err != nil {
8693		return err
8694	}
8695	return nil
8696	// {
8697	//   "description": "Deletes one or more GTM Built-In Variables.",
8698	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables",
8699	//   "httpMethod": "DELETE",
8700	//   "id": "tagmanager.accounts.containers.workspaces.built_in_variables.delete",
8701	//   "parameterOrder": [
8702	//     "path"
8703	//   ],
8704	//   "parameters": {
8705	//     "path": {
8706	//       "description": "GTM BuiltInVariable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
8707	//       "location": "path",
8708	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/built_in_variables$",
8709	//       "required": true,
8710	//       "type": "string"
8711	//     },
8712	//     "type": {
8713	//       "description": "The types of built-in variables to delete.",
8714	//       "enum": [
8715	//         "BUILT_IN_VARIABLE_TYPE_UNSPECIFIED",
8716	//         "PAGE_URL",
8717	//         "PAGE_HOSTNAME",
8718	//         "PAGE_PATH",
8719	//         "REFERRER",
8720	//         "EVENT",
8721	//         "CLICK_ELEMENT",
8722	//         "CLICK_CLASSES",
8723	//         "CLICK_ID",
8724	//         "CLICK_TARGET",
8725	//         "CLICK_URL",
8726	//         "CLICK_TEXT",
8727	//         "FORM_ELEMENT",
8728	//         "FORM_CLASSES",
8729	//         "FORM_ID",
8730	//         "FORM_TARGET",
8731	//         "FORM_URL",
8732	//         "FORM_TEXT",
8733	//         "ERROR_MESSAGE",
8734	//         "ERROR_URL",
8735	//         "ERROR_LINE",
8736	//         "NEW_HISTORY_URL",
8737	//         "OLD_HISTORY_URL",
8738	//         "NEW_HISTORY_FRAGMENT",
8739	//         "OLD_HISTORY_FRAGMENT",
8740	//         "NEW_HISTORY_STATE",
8741	//         "OLD_HISTORY_STATE",
8742	//         "HISTORY_SOURCE",
8743	//         "CONTAINER_VERSION",
8744	//         "DEBUG_MODE",
8745	//         "RANDOM_NUMBER",
8746	//         "CONTAINER_ID",
8747	//         "APP_ID",
8748	//         "APP_NAME",
8749	//         "APP_VERSION_CODE",
8750	//         "APP_VERSION_NAME",
8751	//         "LANGUAGE",
8752	//         "OS_VERSION",
8753	//         "PLATFORM",
8754	//         "SDK_VERSION",
8755	//         "DEVICE_NAME",
8756	//         "RESOLUTION",
8757	//         "ADVERTISER_ID",
8758	//         "ADVERTISING_TRACKING_ENABLED",
8759	//         "HTML_ID",
8760	//         "ENVIRONMENT_NAME",
8761	//         "AMP_BROWSER_LANGUAGE",
8762	//         "AMP_CANONICAL_PATH",
8763	//         "AMP_CANONICAL_URL",
8764	//         "AMP_CANONICAL_HOST",
8765	//         "AMP_REFERRER",
8766	//         "AMP_TITLE",
8767	//         "AMP_CLIENT_ID",
8768	//         "AMP_CLIENT_TIMEZONE",
8769	//         "AMP_CLIENT_TIMESTAMP",
8770	//         "AMP_CLIENT_SCREEN_WIDTH",
8771	//         "AMP_CLIENT_SCREEN_HEIGHT",
8772	//         "AMP_CLIENT_SCROLL_X",
8773	//         "AMP_CLIENT_SCROLL_Y",
8774	//         "AMP_CLIENT_MAX_SCROLL_X",
8775	//         "AMP_CLIENT_MAX_SCROLL_Y",
8776	//         "AMP_TOTAL_ENGAGED_TIME",
8777	//         "AMP_PAGE_VIEW_ID",
8778	//         "AMP_PAGE_LOAD_TIME",
8779	//         "AMP_PAGE_DOWNLOAD_TIME",
8780	//         "AMP_GTM_EVENT",
8781	//         "EVENT_NAME",
8782	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN",
8783	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ACLID",
8784	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ANID",
8785	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CLICK_TIMESTAMP",
8786	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CONTENT",
8787	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CP1",
8788	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_GCLID",
8789	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_SOURCE",
8790	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_TERM",
8791	//         "FIREBASE_EVENT_PARAMETER_CURRENCY",
8792	//         "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_ACCEPT_TIME",
8793	//         "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_LINKID",
8794	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_DEVICE_TIME",
8795	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_ID",
8796	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_NAME",
8797	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_TIME",
8798	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_TOPIC",
8799	//         "FIREBASE_EVENT_PARAMETER_PREVIOUS_APP_VERSION",
8800	//         "FIREBASE_EVENT_PARAMETER_PREVIOUS_OS_VERSION",
8801	//         "FIREBASE_EVENT_PARAMETER_PRICE",
8802	//         "FIREBASE_EVENT_PARAMETER_PRODUCT_ID",
8803	//         "FIREBASE_EVENT_PARAMETER_QUANTITY",
8804	//         "FIREBASE_EVENT_PARAMETER_VALUE",
8805	//         "VIDEO_PROVIDER",
8806	//         "VIDEO_URL",
8807	//         "VIDEO_TITLE",
8808	//         "VIDEO_DURATION",
8809	//         "VIDEO_PERCENT",
8810	//         "VIDEO_VISIBLE",
8811	//         "VIDEO_STATUS",
8812	//         "VIDEO_CURRENT_TIME",
8813	//         "SCROLL_DEPTH_THRESHOLD",
8814	//         "SCROLL_DEPTH_UNITS",
8815	//         "SCROLL_DEPTH_DIRECTION",
8816	//         "ELEMENT_VISIBILITY_RATIO",
8817	//         "ELEMENT_VISIBILITY_TIME",
8818	//         "ELEMENT_VISIBILITY_FIRST_TIME",
8819	//         "ELEMENT_VISIBILITY_RECENT_TIME"
8820	//       ],
8821	//       "location": "query",
8822	//       "repeated": true,
8823	//       "type": "string"
8824	//     }
8825	//   },
8826	//   "path": "tagmanager/v2/{+path}",
8827	//   "scopes": [
8828	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
8829	//   ]
8830	// }
8831
8832}
8833
8834// method id "tagmanager.accounts.containers.workspaces.built_in_variables.list":
8835
8836type AccountsContainersWorkspacesBuiltInVariablesListCall struct {
8837	s            *Service
8838	parent       string
8839	urlParams_   gensupport.URLParams
8840	ifNoneMatch_ string
8841	ctx_         context.Context
8842	header_      http.Header
8843}
8844
8845// List: Lists all the enabled Built-In Variables of a GTM Container.
8846func (r *AccountsContainersWorkspacesBuiltInVariablesService) List(parent string) *AccountsContainersWorkspacesBuiltInVariablesListCall {
8847	c := &AccountsContainersWorkspacesBuiltInVariablesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8848	c.parent = parent
8849	return c
8850}
8851
8852// PageToken sets the optional parameter "pageToken": Continuation token
8853// for fetching the next page of results.
8854func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesBuiltInVariablesListCall {
8855	c.urlParams_.Set("pageToken", pageToken)
8856	return c
8857}
8858
8859// Fields allows partial responses to be retrieved. See
8860// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8861// for more information.
8862func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesBuiltInVariablesListCall {
8863	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8864	return c
8865}
8866
8867// IfNoneMatch sets the optional parameter which makes the operation
8868// fail if the object's ETag matches the given value. This is useful for
8869// getting updates only after the object has changed since the last
8870// request. Use googleapi.IsNotModified to check whether the response
8871// error from Do is the result of In-None-Match.
8872func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesBuiltInVariablesListCall {
8873	c.ifNoneMatch_ = entityTag
8874	return c
8875}
8876
8877// Context sets the context to be used in this call's Do method. Any
8878// pending HTTP request will be aborted if the provided context is
8879// canceled.
8880func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesBuiltInVariablesListCall {
8881	c.ctx_ = ctx
8882	return c
8883}
8884
8885// Header returns an http.Header that can be modified by the caller to
8886// add HTTP headers to the request.
8887func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Header() http.Header {
8888	if c.header_ == nil {
8889		c.header_ = make(http.Header)
8890	}
8891	return c.header_
8892}
8893
8894func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) doRequest(alt string) (*http.Response, error) {
8895	reqHeaders := make(http.Header)
8896	for k, v := range c.header_ {
8897		reqHeaders[k] = v
8898	}
8899	reqHeaders.Set("User-Agent", c.s.userAgent())
8900	if c.ifNoneMatch_ != "" {
8901		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8902	}
8903	var body io.Reader = nil
8904	c.urlParams_.Set("alt", alt)
8905	c.urlParams_.Set("prettyPrint", "false")
8906	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/built_in_variables")
8907	urls += "?" + c.urlParams_.Encode()
8908	req, err := http.NewRequest("GET", urls, body)
8909	if err != nil {
8910		return nil, err
8911	}
8912	req.Header = reqHeaders
8913	googleapi.Expand(req.URL, map[string]string{
8914		"parent": c.parent,
8915	})
8916	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8917}
8918
8919// Do executes the "tagmanager.accounts.containers.workspaces.built_in_variables.list" call.
8920// Exactly one of *ListEnabledBuiltInVariablesResponse or error will be
8921// non-nil. Any non-2xx status code is an error. Response headers are in
8922// either *ListEnabledBuiltInVariablesResponse.ServerResponse.Header or
8923// (if a response was returned at all) in
8924// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8925// whether the returned error was because http.StatusNotModified was
8926// returned.
8927func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Do(opts ...googleapi.CallOption) (*ListEnabledBuiltInVariablesResponse, error) {
8928	gensupport.SetOptions(c.urlParams_, opts...)
8929	res, err := c.doRequest("json")
8930	if res != nil && res.StatusCode == http.StatusNotModified {
8931		if res.Body != nil {
8932			res.Body.Close()
8933		}
8934		return nil, &googleapi.Error{
8935			Code:   res.StatusCode,
8936			Header: res.Header,
8937		}
8938	}
8939	if err != nil {
8940		return nil, err
8941	}
8942	defer googleapi.CloseBody(res)
8943	if err := googleapi.CheckResponse(res); err != nil {
8944		return nil, err
8945	}
8946	ret := &ListEnabledBuiltInVariablesResponse{
8947		ServerResponse: googleapi.ServerResponse{
8948			Header:         res.Header,
8949			HTTPStatusCode: res.StatusCode,
8950		},
8951	}
8952	target := &ret
8953	if err := gensupport.DecodeResponse(target, res); err != nil {
8954		return nil, err
8955	}
8956	return ret, nil
8957	// {
8958	//   "description": "Lists all the enabled Built-In Variables of a GTM Container.",
8959	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables",
8960	//   "httpMethod": "GET",
8961	//   "id": "tagmanager.accounts.containers.workspaces.built_in_variables.list",
8962	//   "parameterOrder": [
8963	//     "parent"
8964	//   ],
8965	//   "parameters": {
8966	//     "pageToken": {
8967	//       "description": "Continuation token for fetching the next page of results.",
8968	//       "location": "query",
8969	//       "type": "string"
8970	//     },
8971	//     "parent": {
8972	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
8973	//       "location": "path",
8974	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
8975	//       "required": true,
8976	//       "type": "string"
8977	//     }
8978	//   },
8979	//   "path": "tagmanager/v2/{+parent}/built_in_variables",
8980	//   "response": {
8981	//     "$ref": "ListEnabledBuiltInVariablesResponse"
8982	//   },
8983	//   "scopes": [
8984	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
8985	//     "https://www.googleapis.com/auth/tagmanager.readonly"
8986	//   ]
8987	// }
8988
8989}
8990
8991// Pages invokes f for each page of results.
8992// A non-nil error returned from f will halt the iteration.
8993// The provided context supersedes any context provided to the Context method.
8994func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Pages(ctx context.Context, f func(*ListEnabledBuiltInVariablesResponse) error) error {
8995	c.ctx_ = ctx
8996	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8997	for {
8998		x, err := c.Do()
8999		if err != nil {
9000			return err
9001		}
9002		if err := f(x); err != nil {
9003			return err
9004		}
9005		if x.NextPageToken == "" {
9006			return nil
9007		}
9008		c.PageToken(x.NextPageToken)
9009	}
9010}
9011
9012// method id "tagmanager.accounts.containers.workspaces.built_in_variables.revert":
9013
9014type AccountsContainersWorkspacesBuiltInVariablesRevertCall struct {
9015	s          *Service
9016	path       string
9017	urlParams_ gensupport.URLParams
9018	ctx_       context.Context
9019	header_    http.Header
9020}
9021
9022// Revert: Reverts changes to a GTM Built-In Variables in a GTM
9023// Workspace.
9024func (r *AccountsContainersWorkspacesBuiltInVariablesService) Revert(path string) *AccountsContainersWorkspacesBuiltInVariablesRevertCall {
9025	c := &AccountsContainersWorkspacesBuiltInVariablesRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9026	c.path = path
9027	return c
9028}
9029
9030// Type sets the optional parameter "type": The type of built-in
9031// variable to revert.
9032//
9033// Possible values:
9034//   "BUILT_IN_VARIABLE_TYPE_UNSPECIFIED"
9035//   "PAGE_URL"
9036//   "PAGE_HOSTNAME"
9037//   "PAGE_PATH"
9038//   "REFERRER"
9039//   "EVENT"
9040//   "CLICK_ELEMENT"
9041//   "CLICK_CLASSES"
9042//   "CLICK_ID"
9043//   "CLICK_TARGET"
9044//   "CLICK_URL"
9045//   "CLICK_TEXT"
9046//   "FORM_ELEMENT"
9047//   "FORM_CLASSES"
9048//   "FORM_ID"
9049//   "FORM_TARGET"
9050//   "FORM_URL"
9051//   "FORM_TEXT"
9052//   "ERROR_MESSAGE"
9053//   "ERROR_URL"
9054//   "ERROR_LINE"
9055//   "NEW_HISTORY_URL"
9056//   "OLD_HISTORY_URL"
9057//   "NEW_HISTORY_FRAGMENT"
9058//   "OLD_HISTORY_FRAGMENT"
9059//   "NEW_HISTORY_STATE"
9060//   "OLD_HISTORY_STATE"
9061//   "HISTORY_SOURCE"
9062//   "CONTAINER_VERSION"
9063//   "DEBUG_MODE"
9064//   "RANDOM_NUMBER"
9065//   "CONTAINER_ID"
9066//   "APP_ID"
9067//   "APP_NAME"
9068//   "APP_VERSION_CODE"
9069//   "APP_VERSION_NAME"
9070//   "LANGUAGE"
9071//   "OS_VERSION"
9072//   "PLATFORM"
9073//   "SDK_VERSION"
9074//   "DEVICE_NAME"
9075//   "RESOLUTION"
9076//   "ADVERTISER_ID"
9077//   "ADVERTISING_TRACKING_ENABLED"
9078//   "HTML_ID"
9079//   "ENVIRONMENT_NAME"
9080//   "AMP_BROWSER_LANGUAGE"
9081//   "AMP_CANONICAL_PATH"
9082//   "AMP_CANONICAL_URL"
9083//   "AMP_CANONICAL_HOST"
9084//   "AMP_REFERRER"
9085//   "AMP_TITLE"
9086//   "AMP_CLIENT_ID"
9087//   "AMP_CLIENT_TIMEZONE"
9088//   "AMP_CLIENT_TIMESTAMP"
9089//   "AMP_CLIENT_SCREEN_WIDTH"
9090//   "AMP_CLIENT_SCREEN_HEIGHT"
9091//   "AMP_CLIENT_SCROLL_X"
9092//   "AMP_CLIENT_SCROLL_Y"
9093//   "AMP_CLIENT_MAX_SCROLL_X"
9094//   "AMP_CLIENT_MAX_SCROLL_Y"
9095//   "AMP_TOTAL_ENGAGED_TIME"
9096//   "AMP_PAGE_VIEW_ID"
9097//   "AMP_PAGE_LOAD_TIME"
9098//   "AMP_PAGE_DOWNLOAD_TIME"
9099//   "AMP_GTM_EVENT"
9100//   "EVENT_NAME"
9101//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN"
9102//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ACLID"
9103//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ANID"
9104//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CLICK_TIMESTAMP"
9105//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CONTENT"
9106//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CP1"
9107//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_GCLID"
9108//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_SOURCE"
9109//   "FIREBASE_EVENT_PARAMETER_CAMPAIGN_TERM"
9110//   "FIREBASE_EVENT_PARAMETER_CURRENCY"
9111//   "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_ACCEPT_TIME"
9112//   "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_LINKID"
9113//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_DEVICE_TIME"
9114//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_ID"
9115//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_NAME"
9116//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_TIME"
9117//   "FIREBASE_EVENT_PARAMETER_NOTIFICATION_TOPIC"
9118//   "FIREBASE_EVENT_PARAMETER_PREVIOUS_APP_VERSION"
9119//   "FIREBASE_EVENT_PARAMETER_PREVIOUS_OS_VERSION"
9120//   "FIREBASE_EVENT_PARAMETER_PRICE"
9121//   "FIREBASE_EVENT_PARAMETER_PRODUCT_ID"
9122//   "FIREBASE_EVENT_PARAMETER_QUANTITY"
9123//   "FIREBASE_EVENT_PARAMETER_VALUE"
9124//   "VIDEO_PROVIDER"
9125//   "VIDEO_URL"
9126//   "VIDEO_TITLE"
9127//   "VIDEO_DURATION"
9128//   "VIDEO_PERCENT"
9129//   "VIDEO_VISIBLE"
9130//   "VIDEO_STATUS"
9131//   "VIDEO_CURRENT_TIME"
9132//   "SCROLL_DEPTH_THRESHOLD"
9133//   "SCROLL_DEPTH_UNITS"
9134//   "SCROLL_DEPTH_DIRECTION"
9135//   "ELEMENT_VISIBILITY_RATIO"
9136//   "ELEMENT_VISIBILITY_TIME"
9137//   "ELEMENT_VISIBILITY_FIRST_TIME"
9138//   "ELEMENT_VISIBILITY_RECENT_TIME"
9139func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Type(type_ string) *AccountsContainersWorkspacesBuiltInVariablesRevertCall {
9140	c.urlParams_.Set("type", type_)
9141	return c
9142}
9143
9144// Fields allows partial responses to be retrieved. See
9145// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9146// for more information.
9147func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesBuiltInVariablesRevertCall {
9148	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9149	return c
9150}
9151
9152// Context sets the context to be used in this call's Do method. Any
9153// pending HTTP request will be aborted if the provided context is
9154// canceled.
9155func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesBuiltInVariablesRevertCall {
9156	c.ctx_ = ctx
9157	return c
9158}
9159
9160// Header returns an http.Header that can be modified by the caller to
9161// add HTTP headers to the request.
9162func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Header() http.Header {
9163	if c.header_ == nil {
9164		c.header_ = make(http.Header)
9165	}
9166	return c.header_
9167}
9168
9169func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) doRequest(alt string) (*http.Response, error) {
9170	reqHeaders := make(http.Header)
9171	for k, v := range c.header_ {
9172		reqHeaders[k] = v
9173	}
9174	reqHeaders.Set("User-Agent", c.s.userAgent())
9175	var body io.Reader = nil
9176	c.urlParams_.Set("alt", alt)
9177	c.urlParams_.Set("prettyPrint", "false")
9178	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}/built_in_variables:revert")
9179	urls += "?" + c.urlParams_.Encode()
9180	req, err := http.NewRequest("POST", urls, body)
9181	if err != nil {
9182		return nil, err
9183	}
9184	req.Header = reqHeaders
9185	googleapi.Expand(req.URL, map[string]string{
9186		"path": c.path,
9187	})
9188	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9189}
9190
9191// Do executes the "tagmanager.accounts.containers.workspaces.built_in_variables.revert" call.
9192// Exactly one of *RevertBuiltInVariableResponse or error will be
9193// non-nil. Any non-2xx status code is an error. Response headers are in
9194// either *RevertBuiltInVariableResponse.ServerResponse.Header or (if a
9195// response was returned at all) in error.(*googleapi.Error).Header. Use
9196// googleapi.IsNotModified to check whether the returned error was
9197// because http.StatusNotModified was returned.
9198func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Do(opts ...googleapi.CallOption) (*RevertBuiltInVariableResponse, error) {
9199	gensupport.SetOptions(c.urlParams_, opts...)
9200	res, err := c.doRequest("json")
9201	if res != nil && res.StatusCode == http.StatusNotModified {
9202		if res.Body != nil {
9203			res.Body.Close()
9204		}
9205		return nil, &googleapi.Error{
9206			Code:   res.StatusCode,
9207			Header: res.Header,
9208		}
9209	}
9210	if err != nil {
9211		return nil, err
9212	}
9213	defer googleapi.CloseBody(res)
9214	if err := googleapi.CheckResponse(res); err != nil {
9215		return nil, err
9216	}
9217	ret := &RevertBuiltInVariableResponse{
9218		ServerResponse: googleapi.ServerResponse{
9219			Header:         res.Header,
9220			HTTPStatusCode: res.StatusCode,
9221		},
9222	}
9223	target := &ret
9224	if err := gensupport.DecodeResponse(target, res); err != nil {
9225		return nil, err
9226	}
9227	return ret, nil
9228	// {
9229	//   "description": "Reverts changes to a GTM Built-In Variables in a GTM Workspace.",
9230	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/built_in_variables:revert",
9231	//   "httpMethod": "POST",
9232	//   "id": "tagmanager.accounts.containers.workspaces.built_in_variables.revert",
9233	//   "parameterOrder": [
9234	//     "path"
9235	//   ],
9236	//   "parameters": {
9237	//     "path": {
9238	//       "description": "GTM BuiltInVariable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/built_in_variables",
9239	//       "location": "path",
9240	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
9241	//       "required": true,
9242	//       "type": "string"
9243	//     },
9244	//     "type": {
9245	//       "description": "The type of built-in variable to revert.",
9246	//       "enum": [
9247	//         "BUILT_IN_VARIABLE_TYPE_UNSPECIFIED",
9248	//         "PAGE_URL",
9249	//         "PAGE_HOSTNAME",
9250	//         "PAGE_PATH",
9251	//         "REFERRER",
9252	//         "EVENT",
9253	//         "CLICK_ELEMENT",
9254	//         "CLICK_CLASSES",
9255	//         "CLICK_ID",
9256	//         "CLICK_TARGET",
9257	//         "CLICK_URL",
9258	//         "CLICK_TEXT",
9259	//         "FORM_ELEMENT",
9260	//         "FORM_CLASSES",
9261	//         "FORM_ID",
9262	//         "FORM_TARGET",
9263	//         "FORM_URL",
9264	//         "FORM_TEXT",
9265	//         "ERROR_MESSAGE",
9266	//         "ERROR_URL",
9267	//         "ERROR_LINE",
9268	//         "NEW_HISTORY_URL",
9269	//         "OLD_HISTORY_URL",
9270	//         "NEW_HISTORY_FRAGMENT",
9271	//         "OLD_HISTORY_FRAGMENT",
9272	//         "NEW_HISTORY_STATE",
9273	//         "OLD_HISTORY_STATE",
9274	//         "HISTORY_SOURCE",
9275	//         "CONTAINER_VERSION",
9276	//         "DEBUG_MODE",
9277	//         "RANDOM_NUMBER",
9278	//         "CONTAINER_ID",
9279	//         "APP_ID",
9280	//         "APP_NAME",
9281	//         "APP_VERSION_CODE",
9282	//         "APP_VERSION_NAME",
9283	//         "LANGUAGE",
9284	//         "OS_VERSION",
9285	//         "PLATFORM",
9286	//         "SDK_VERSION",
9287	//         "DEVICE_NAME",
9288	//         "RESOLUTION",
9289	//         "ADVERTISER_ID",
9290	//         "ADVERTISING_TRACKING_ENABLED",
9291	//         "HTML_ID",
9292	//         "ENVIRONMENT_NAME",
9293	//         "AMP_BROWSER_LANGUAGE",
9294	//         "AMP_CANONICAL_PATH",
9295	//         "AMP_CANONICAL_URL",
9296	//         "AMP_CANONICAL_HOST",
9297	//         "AMP_REFERRER",
9298	//         "AMP_TITLE",
9299	//         "AMP_CLIENT_ID",
9300	//         "AMP_CLIENT_TIMEZONE",
9301	//         "AMP_CLIENT_TIMESTAMP",
9302	//         "AMP_CLIENT_SCREEN_WIDTH",
9303	//         "AMP_CLIENT_SCREEN_HEIGHT",
9304	//         "AMP_CLIENT_SCROLL_X",
9305	//         "AMP_CLIENT_SCROLL_Y",
9306	//         "AMP_CLIENT_MAX_SCROLL_X",
9307	//         "AMP_CLIENT_MAX_SCROLL_Y",
9308	//         "AMP_TOTAL_ENGAGED_TIME",
9309	//         "AMP_PAGE_VIEW_ID",
9310	//         "AMP_PAGE_LOAD_TIME",
9311	//         "AMP_PAGE_DOWNLOAD_TIME",
9312	//         "AMP_GTM_EVENT",
9313	//         "EVENT_NAME",
9314	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN",
9315	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ACLID",
9316	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_ANID",
9317	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CLICK_TIMESTAMP",
9318	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CONTENT",
9319	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_CP1",
9320	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_GCLID",
9321	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_SOURCE",
9322	//         "FIREBASE_EVENT_PARAMETER_CAMPAIGN_TERM",
9323	//         "FIREBASE_EVENT_PARAMETER_CURRENCY",
9324	//         "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_ACCEPT_TIME",
9325	//         "FIREBASE_EVENT_PARAMETER_DYNAMIC_LINK_LINKID",
9326	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_DEVICE_TIME",
9327	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_ID",
9328	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_NAME",
9329	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_MESSAGE_TIME",
9330	//         "FIREBASE_EVENT_PARAMETER_NOTIFICATION_TOPIC",
9331	//         "FIREBASE_EVENT_PARAMETER_PREVIOUS_APP_VERSION",
9332	//         "FIREBASE_EVENT_PARAMETER_PREVIOUS_OS_VERSION",
9333	//         "FIREBASE_EVENT_PARAMETER_PRICE",
9334	//         "FIREBASE_EVENT_PARAMETER_PRODUCT_ID",
9335	//         "FIREBASE_EVENT_PARAMETER_QUANTITY",
9336	//         "FIREBASE_EVENT_PARAMETER_VALUE",
9337	//         "VIDEO_PROVIDER",
9338	//         "VIDEO_URL",
9339	//         "VIDEO_TITLE",
9340	//         "VIDEO_DURATION",
9341	//         "VIDEO_PERCENT",
9342	//         "VIDEO_VISIBLE",
9343	//         "VIDEO_STATUS",
9344	//         "VIDEO_CURRENT_TIME",
9345	//         "SCROLL_DEPTH_THRESHOLD",
9346	//         "SCROLL_DEPTH_UNITS",
9347	//         "SCROLL_DEPTH_DIRECTION",
9348	//         "ELEMENT_VISIBILITY_RATIO",
9349	//         "ELEMENT_VISIBILITY_TIME",
9350	//         "ELEMENT_VISIBILITY_FIRST_TIME",
9351	//         "ELEMENT_VISIBILITY_RECENT_TIME"
9352	//       ],
9353	//       "location": "query",
9354	//       "type": "string"
9355	//     }
9356	//   },
9357	//   "path": "tagmanager/v2/{+path}/built_in_variables:revert",
9358	//   "response": {
9359	//     "$ref": "RevertBuiltInVariableResponse"
9360	//   },
9361	//   "scopes": [
9362	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
9363	//   ]
9364	// }
9365
9366}
9367
9368// method id "tagmanager.accounts.containers.workspaces.folders.create":
9369
9370type AccountsContainersWorkspacesFoldersCreateCall struct {
9371	s          *Service
9372	parent     string
9373	folder     *Folder
9374	urlParams_ gensupport.URLParams
9375	ctx_       context.Context
9376	header_    http.Header
9377}
9378
9379// Create: Creates a GTM Folder.
9380func (r *AccountsContainersWorkspacesFoldersService) Create(parent string, folder *Folder) *AccountsContainersWorkspacesFoldersCreateCall {
9381	c := &AccountsContainersWorkspacesFoldersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9382	c.parent = parent
9383	c.folder = folder
9384	return c
9385}
9386
9387// Fields allows partial responses to be retrieved. See
9388// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9389// for more information.
9390func (c *AccountsContainersWorkspacesFoldersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersCreateCall {
9391	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9392	return c
9393}
9394
9395// Context sets the context to be used in this call's Do method. Any
9396// pending HTTP request will be aborted if the provided context is
9397// canceled.
9398func (c *AccountsContainersWorkspacesFoldersCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersCreateCall {
9399	c.ctx_ = ctx
9400	return c
9401}
9402
9403// Header returns an http.Header that can be modified by the caller to
9404// add HTTP headers to the request.
9405func (c *AccountsContainersWorkspacesFoldersCreateCall) Header() http.Header {
9406	if c.header_ == nil {
9407		c.header_ = make(http.Header)
9408	}
9409	return c.header_
9410}
9411
9412func (c *AccountsContainersWorkspacesFoldersCreateCall) doRequest(alt string) (*http.Response, error) {
9413	reqHeaders := make(http.Header)
9414	for k, v := range c.header_ {
9415		reqHeaders[k] = v
9416	}
9417	reqHeaders.Set("User-Agent", c.s.userAgent())
9418	var body io.Reader = nil
9419	body, err := googleapi.WithoutDataWrapper.JSONReader(c.folder)
9420	if err != nil {
9421		return nil, err
9422	}
9423	reqHeaders.Set("Content-Type", "application/json")
9424	c.urlParams_.Set("alt", alt)
9425	c.urlParams_.Set("prettyPrint", "false")
9426	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/folders")
9427	urls += "?" + c.urlParams_.Encode()
9428	req, err := http.NewRequest("POST", urls, body)
9429	if err != nil {
9430		return nil, err
9431	}
9432	req.Header = reqHeaders
9433	googleapi.Expand(req.URL, map[string]string{
9434		"parent": c.parent,
9435	})
9436	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9437}
9438
9439// Do executes the "tagmanager.accounts.containers.workspaces.folders.create" call.
9440// Exactly one of *Folder or error will be non-nil. Any non-2xx status
9441// code is an error. Response headers are in either
9442// *Folder.ServerResponse.Header or (if a response was returned at all)
9443// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9444// check whether the returned error was because http.StatusNotModified
9445// was returned.
9446func (c *AccountsContainersWorkspacesFoldersCreateCall) Do(opts ...googleapi.CallOption) (*Folder, error) {
9447	gensupport.SetOptions(c.urlParams_, opts...)
9448	res, err := c.doRequest("json")
9449	if res != nil && res.StatusCode == http.StatusNotModified {
9450		if res.Body != nil {
9451			res.Body.Close()
9452		}
9453		return nil, &googleapi.Error{
9454			Code:   res.StatusCode,
9455			Header: res.Header,
9456		}
9457	}
9458	if err != nil {
9459		return nil, err
9460	}
9461	defer googleapi.CloseBody(res)
9462	if err := googleapi.CheckResponse(res); err != nil {
9463		return nil, err
9464	}
9465	ret := &Folder{
9466		ServerResponse: googleapi.ServerResponse{
9467			Header:         res.Header,
9468			HTTPStatusCode: res.StatusCode,
9469		},
9470	}
9471	target := &ret
9472	if err := gensupport.DecodeResponse(target, res); err != nil {
9473		return nil, err
9474	}
9475	return ret, nil
9476	// {
9477	//   "description": "Creates a GTM Folder.",
9478	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders",
9479	//   "httpMethod": "POST",
9480	//   "id": "tagmanager.accounts.containers.workspaces.folders.create",
9481	//   "parameterOrder": [
9482	//     "parent"
9483	//   ],
9484	//   "parameters": {
9485	//     "parent": {
9486	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
9487	//       "location": "path",
9488	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
9489	//       "required": true,
9490	//       "type": "string"
9491	//     }
9492	//   },
9493	//   "path": "tagmanager/v2/{+parent}/folders",
9494	//   "request": {
9495	//     "$ref": "Folder"
9496	//   },
9497	//   "response": {
9498	//     "$ref": "Folder"
9499	//   },
9500	//   "scopes": [
9501	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
9502	//   ]
9503	// }
9504
9505}
9506
9507// method id "tagmanager.accounts.containers.workspaces.folders.delete":
9508
9509type AccountsContainersWorkspacesFoldersDeleteCall struct {
9510	s          *Service
9511	path       string
9512	urlParams_ gensupport.URLParams
9513	ctx_       context.Context
9514	header_    http.Header
9515}
9516
9517// Delete: Deletes a GTM Folder.
9518func (r *AccountsContainersWorkspacesFoldersService) Delete(path string) *AccountsContainersWorkspacesFoldersDeleteCall {
9519	c := &AccountsContainersWorkspacesFoldersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9520	c.path = path
9521	return c
9522}
9523
9524// Fields allows partial responses to be retrieved. See
9525// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9526// for more information.
9527func (c *AccountsContainersWorkspacesFoldersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersDeleteCall {
9528	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9529	return c
9530}
9531
9532// Context sets the context to be used in this call's Do method. Any
9533// pending HTTP request will be aborted if the provided context is
9534// canceled.
9535func (c *AccountsContainersWorkspacesFoldersDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersDeleteCall {
9536	c.ctx_ = ctx
9537	return c
9538}
9539
9540// Header returns an http.Header that can be modified by the caller to
9541// add HTTP headers to the request.
9542func (c *AccountsContainersWorkspacesFoldersDeleteCall) Header() http.Header {
9543	if c.header_ == nil {
9544		c.header_ = make(http.Header)
9545	}
9546	return c.header_
9547}
9548
9549func (c *AccountsContainersWorkspacesFoldersDeleteCall) doRequest(alt string) (*http.Response, error) {
9550	reqHeaders := make(http.Header)
9551	for k, v := range c.header_ {
9552		reqHeaders[k] = v
9553	}
9554	reqHeaders.Set("User-Agent", c.s.userAgent())
9555	var body io.Reader = nil
9556	c.urlParams_.Set("alt", alt)
9557	c.urlParams_.Set("prettyPrint", "false")
9558	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
9559	urls += "?" + c.urlParams_.Encode()
9560	req, err := http.NewRequest("DELETE", urls, body)
9561	if err != nil {
9562		return nil, err
9563	}
9564	req.Header = reqHeaders
9565	googleapi.Expand(req.URL, map[string]string{
9566		"path": c.path,
9567	})
9568	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9569}
9570
9571// Do executes the "tagmanager.accounts.containers.workspaces.folders.delete" call.
9572func (c *AccountsContainersWorkspacesFoldersDeleteCall) Do(opts ...googleapi.CallOption) error {
9573	gensupport.SetOptions(c.urlParams_, opts...)
9574	res, err := c.doRequest("json")
9575	if err != nil {
9576		return err
9577	}
9578	defer googleapi.CloseBody(res)
9579	if err := googleapi.CheckResponse(res); err != nil {
9580		return err
9581	}
9582	return nil
9583	// {
9584	//   "description": "Deletes a GTM Folder.",
9585	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}",
9586	//   "httpMethod": "DELETE",
9587	//   "id": "tagmanager.accounts.containers.workspaces.folders.delete",
9588	//   "parameterOrder": [
9589	//     "path"
9590	//   ],
9591	//   "parameters": {
9592	//     "path": {
9593	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
9594	//       "location": "path",
9595	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
9596	//       "required": true,
9597	//       "type": "string"
9598	//     }
9599	//   },
9600	//   "path": "tagmanager/v2/{+path}",
9601	//   "scopes": [
9602	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
9603	//   ]
9604	// }
9605
9606}
9607
9608// method id "tagmanager.accounts.containers.workspaces.folders.entities":
9609
9610type AccountsContainersWorkspacesFoldersEntitiesCall struct {
9611	s          *Service
9612	path       string
9613	urlParams_ gensupport.URLParams
9614	ctx_       context.Context
9615	header_    http.Header
9616}
9617
9618// Entities: List all entities in a GTM Folder.
9619func (r *AccountsContainersWorkspacesFoldersService) Entities(path string) *AccountsContainersWorkspacesFoldersEntitiesCall {
9620	c := &AccountsContainersWorkspacesFoldersEntitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9621	c.path = path
9622	return c
9623}
9624
9625// PageToken sets the optional parameter "pageToken": Continuation token
9626// for fetching the next page of results.
9627func (c *AccountsContainersWorkspacesFoldersEntitiesCall) PageToken(pageToken string) *AccountsContainersWorkspacesFoldersEntitiesCall {
9628	c.urlParams_.Set("pageToken", pageToken)
9629	return c
9630}
9631
9632// Fields allows partial responses to be retrieved. See
9633// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9634// for more information.
9635func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersEntitiesCall {
9636	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9637	return c
9638}
9639
9640// Context sets the context to be used in this call's Do method. Any
9641// pending HTTP request will be aborted if the provided context is
9642// canceled.
9643func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersEntitiesCall {
9644	c.ctx_ = ctx
9645	return c
9646}
9647
9648// Header returns an http.Header that can be modified by the caller to
9649// add HTTP headers to the request.
9650func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Header() http.Header {
9651	if c.header_ == nil {
9652		c.header_ = make(http.Header)
9653	}
9654	return c.header_
9655}
9656
9657func (c *AccountsContainersWorkspacesFoldersEntitiesCall) doRequest(alt string) (*http.Response, error) {
9658	reqHeaders := make(http.Header)
9659	for k, v := range c.header_ {
9660		reqHeaders[k] = v
9661	}
9662	reqHeaders.Set("User-Agent", c.s.userAgent())
9663	var body io.Reader = nil
9664	c.urlParams_.Set("alt", alt)
9665	c.urlParams_.Set("prettyPrint", "false")
9666	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:entities")
9667	urls += "?" + c.urlParams_.Encode()
9668	req, err := http.NewRequest("POST", urls, body)
9669	if err != nil {
9670		return nil, err
9671	}
9672	req.Header = reqHeaders
9673	googleapi.Expand(req.URL, map[string]string{
9674		"path": c.path,
9675	})
9676	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9677}
9678
9679// Do executes the "tagmanager.accounts.containers.workspaces.folders.entities" call.
9680// Exactly one of *FolderEntities or error will be non-nil. Any non-2xx
9681// status code is an error. Response headers are in either
9682// *FolderEntities.ServerResponse.Header or (if a response was returned
9683// at all) in error.(*googleapi.Error).Header. Use
9684// googleapi.IsNotModified to check whether the returned error was
9685// because http.StatusNotModified was returned.
9686func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Do(opts ...googleapi.CallOption) (*FolderEntities, error) {
9687	gensupport.SetOptions(c.urlParams_, opts...)
9688	res, err := c.doRequest("json")
9689	if res != nil && res.StatusCode == http.StatusNotModified {
9690		if res.Body != nil {
9691			res.Body.Close()
9692		}
9693		return nil, &googleapi.Error{
9694			Code:   res.StatusCode,
9695			Header: res.Header,
9696		}
9697	}
9698	if err != nil {
9699		return nil, err
9700	}
9701	defer googleapi.CloseBody(res)
9702	if err := googleapi.CheckResponse(res); err != nil {
9703		return nil, err
9704	}
9705	ret := &FolderEntities{
9706		ServerResponse: googleapi.ServerResponse{
9707			Header:         res.Header,
9708			HTTPStatusCode: res.StatusCode,
9709		},
9710	}
9711	target := &ret
9712	if err := gensupport.DecodeResponse(target, res); err != nil {
9713		return nil, err
9714	}
9715	return ret, nil
9716	// {
9717	//   "description": "List all entities in a GTM Folder.",
9718	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:entities",
9719	//   "httpMethod": "POST",
9720	//   "id": "tagmanager.accounts.containers.workspaces.folders.entities",
9721	//   "parameterOrder": [
9722	//     "path"
9723	//   ],
9724	//   "parameters": {
9725	//     "pageToken": {
9726	//       "description": "Continuation token for fetching the next page of results.",
9727	//       "location": "query",
9728	//       "type": "string"
9729	//     },
9730	//     "path": {
9731	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
9732	//       "location": "path",
9733	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
9734	//       "required": true,
9735	//       "type": "string"
9736	//     }
9737	//   },
9738	//   "path": "tagmanager/v2/{+path}:entities",
9739	//   "response": {
9740	//     "$ref": "FolderEntities"
9741	//   },
9742	//   "scopes": [
9743	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
9744	//     "https://www.googleapis.com/auth/tagmanager.readonly"
9745	//   ]
9746	// }
9747
9748}
9749
9750// Pages invokes f for each page of results.
9751// A non-nil error returned from f will halt the iteration.
9752// The provided context supersedes any context provided to the Context method.
9753func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Pages(ctx context.Context, f func(*FolderEntities) error) error {
9754	c.ctx_ = ctx
9755	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9756	for {
9757		x, err := c.Do()
9758		if err != nil {
9759			return err
9760		}
9761		if err := f(x); err != nil {
9762			return err
9763		}
9764		if x.NextPageToken == "" {
9765			return nil
9766		}
9767		c.PageToken(x.NextPageToken)
9768	}
9769}
9770
9771// method id "tagmanager.accounts.containers.workspaces.folders.get":
9772
9773type AccountsContainersWorkspacesFoldersGetCall struct {
9774	s            *Service
9775	path         string
9776	urlParams_   gensupport.URLParams
9777	ifNoneMatch_ string
9778	ctx_         context.Context
9779	header_      http.Header
9780}
9781
9782// Get: Gets a GTM Folder.
9783func (r *AccountsContainersWorkspacesFoldersService) Get(path string) *AccountsContainersWorkspacesFoldersGetCall {
9784	c := &AccountsContainersWorkspacesFoldersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9785	c.path = path
9786	return c
9787}
9788
9789// Fields allows partial responses to be retrieved. See
9790// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9791// for more information.
9792func (c *AccountsContainersWorkspacesFoldersGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersGetCall {
9793	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9794	return c
9795}
9796
9797// IfNoneMatch sets the optional parameter which makes the operation
9798// fail if the object's ETag matches the given value. This is useful for
9799// getting updates only after the object has changed since the last
9800// request. Use googleapi.IsNotModified to check whether the response
9801// error from Do is the result of In-None-Match.
9802func (c *AccountsContainersWorkspacesFoldersGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesFoldersGetCall {
9803	c.ifNoneMatch_ = entityTag
9804	return c
9805}
9806
9807// Context sets the context to be used in this call's Do method. Any
9808// pending HTTP request will be aborted if the provided context is
9809// canceled.
9810func (c *AccountsContainersWorkspacesFoldersGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersGetCall {
9811	c.ctx_ = ctx
9812	return c
9813}
9814
9815// Header returns an http.Header that can be modified by the caller to
9816// add HTTP headers to the request.
9817func (c *AccountsContainersWorkspacesFoldersGetCall) Header() http.Header {
9818	if c.header_ == nil {
9819		c.header_ = make(http.Header)
9820	}
9821	return c.header_
9822}
9823
9824func (c *AccountsContainersWorkspacesFoldersGetCall) doRequest(alt string) (*http.Response, error) {
9825	reqHeaders := make(http.Header)
9826	for k, v := range c.header_ {
9827		reqHeaders[k] = v
9828	}
9829	reqHeaders.Set("User-Agent", c.s.userAgent())
9830	if c.ifNoneMatch_ != "" {
9831		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9832	}
9833	var body io.Reader = nil
9834	c.urlParams_.Set("alt", alt)
9835	c.urlParams_.Set("prettyPrint", "false")
9836	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
9837	urls += "?" + c.urlParams_.Encode()
9838	req, err := http.NewRequest("GET", urls, body)
9839	if err != nil {
9840		return nil, err
9841	}
9842	req.Header = reqHeaders
9843	googleapi.Expand(req.URL, map[string]string{
9844		"path": c.path,
9845	})
9846	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9847}
9848
9849// Do executes the "tagmanager.accounts.containers.workspaces.folders.get" call.
9850// Exactly one of *Folder or error will be non-nil. Any non-2xx status
9851// code is an error. Response headers are in either
9852// *Folder.ServerResponse.Header or (if a response was returned at all)
9853// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9854// check whether the returned error was because http.StatusNotModified
9855// was returned.
9856func (c *AccountsContainersWorkspacesFoldersGetCall) Do(opts ...googleapi.CallOption) (*Folder, error) {
9857	gensupport.SetOptions(c.urlParams_, opts...)
9858	res, err := c.doRequest("json")
9859	if res != nil && res.StatusCode == http.StatusNotModified {
9860		if res.Body != nil {
9861			res.Body.Close()
9862		}
9863		return nil, &googleapi.Error{
9864			Code:   res.StatusCode,
9865			Header: res.Header,
9866		}
9867	}
9868	if err != nil {
9869		return nil, err
9870	}
9871	defer googleapi.CloseBody(res)
9872	if err := googleapi.CheckResponse(res); err != nil {
9873		return nil, err
9874	}
9875	ret := &Folder{
9876		ServerResponse: googleapi.ServerResponse{
9877			Header:         res.Header,
9878			HTTPStatusCode: res.StatusCode,
9879		},
9880	}
9881	target := &ret
9882	if err := gensupport.DecodeResponse(target, res); err != nil {
9883		return nil, err
9884	}
9885	return ret, nil
9886	// {
9887	//   "description": "Gets a GTM Folder.",
9888	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}",
9889	//   "httpMethod": "GET",
9890	//   "id": "tagmanager.accounts.containers.workspaces.folders.get",
9891	//   "parameterOrder": [
9892	//     "path"
9893	//   ],
9894	//   "parameters": {
9895	//     "path": {
9896	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
9897	//       "location": "path",
9898	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
9899	//       "required": true,
9900	//       "type": "string"
9901	//     }
9902	//   },
9903	//   "path": "tagmanager/v2/{+path}",
9904	//   "response": {
9905	//     "$ref": "Folder"
9906	//   },
9907	//   "scopes": [
9908	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
9909	//     "https://www.googleapis.com/auth/tagmanager.readonly"
9910	//   ]
9911	// }
9912
9913}
9914
9915// method id "tagmanager.accounts.containers.workspaces.folders.list":
9916
9917type AccountsContainersWorkspacesFoldersListCall struct {
9918	s            *Service
9919	parent       string
9920	urlParams_   gensupport.URLParams
9921	ifNoneMatch_ string
9922	ctx_         context.Context
9923	header_      http.Header
9924}
9925
9926// List: Lists all GTM Folders of a Container.
9927func (r *AccountsContainersWorkspacesFoldersService) List(parent string) *AccountsContainersWorkspacesFoldersListCall {
9928	c := &AccountsContainersWorkspacesFoldersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9929	c.parent = parent
9930	return c
9931}
9932
9933// PageToken sets the optional parameter "pageToken": Continuation token
9934// for fetching the next page of results.
9935func (c *AccountsContainersWorkspacesFoldersListCall) PageToken(pageToken string) *AccountsContainersWorkspacesFoldersListCall {
9936	c.urlParams_.Set("pageToken", pageToken)
9937	return c
9938}
9939
9940// Fields allows partial responses to be retrieved. See
9941// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9942// for more information.
9943func (c *AccountsContainersWorkspacesFoldersListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersListCall {
9944	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9945	return c
9946}
9947
9948// IfNoneMatch sets the optional parameter which makes the operation
9949// fail if the object's ETag matches the given value. This is useful for
9950// getting updates only after the object has changed since the last
9951// request. Use googleapi.IsNotModified to check whether the response
9952// error from Do is the result of In-None-Match.
9953func (c *AccountsContainersWorkspacesFoldersListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesFoldersListCall {
9954	c.ifNoneMatch_ = entityTag
9955	return c
9956}
9957
9958// Context sets the context to be used in this call's Do method. Any
9959// pending HTTP request will be aborted if the provided context is
9960// canceled.
9961func (c *AccountsContainersWorkspacesFoldersListCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersListCall {
9962	c.ctx_ = ctx
9963	return c
9964}
9965
9966// Header returns an http.Header that can be modified by the caller to
9967// add HTTP headers to the request.
9968func (c *AccountsContainersWorkspacesFoldersListCall) Header() http.Header {
9969	if c.header_ == nil {
9970		c.header_ = make(http.Header)
9971	}
9972	return c.header_
9973}
9974
9975func (c *AccountsContainersWorkspacesFoldersListCall) doRequest(alt string) (*http.Response, error) {
9976	reqHeaders := make(http.Header)
9977	for k, v := range c.header_ {
9978		reqHeaders[k] = v
9979	}
9980	reqHeaders.Set("User-Agent", c.s.userAgent())
9981	if c.ifNoneMatch_ != "" {
9982		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9983	}
9984	var body io.Reader = nil
9985	c.urlParams_.Set("alt", alt)
9986	c.urlParams_.Set("prettyPrint", "false")
9987	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/folders")
9988	urls += "?" + c.urlParams_.Encode()
9989	req, err := http.NewRequest("GET", urls, body)
9990	if err != nil {
9991		return nil, err
9992	}
9993	req.Header = reqHeaders
9994	googleapi.Expand(req.URL, map[string]string{
9995		"parent": c.parent,
9996	})
9997	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9998}
9999
10000// Do executes the "tagmanager.accounts.containers.workspaces.folders.list" call.
10001// Exactly one of *ListFoldersResponse or error will be non-nil. Any
10002// non-2xx status code is an error. Response headers are in either
10003// *ListFoldersResponse.ServerResponse.Header or (if a response was
10004// returned at all) in error.(*googleapi.Error).Header. Use
10005// googleapi.IsNotModified to check whether the returned error was
10006// because http.StatusNotModified was returned.
10007func (c *AccountsContainersWorkspacesFoldersListCall) Do(opts ...googleapi.CallOption) (*ListFoldersResponse, error) {
10008	gensupport.SetOptions(c.urlParams_, opts...)
10009	res, err := c.doRequest("json")
10010	if res != nil && res.StatusCode == http.StatusNotModified {
10011		if res.Body != nil {
10012			res.Body.Close()
10013		}
10014		return nil, &googleapi.Error{
10015			Code:   res.StatusCode,
10016			Header: res.Header,
10017		}
10018	}
10019	if err != nil {
10020		return nil, err
10021	}
10022	defer googleapi.CloseBody(res)
10023	if err := googleapi.CheckResponse(res); err != nil {
10024		return nil, err
10025	}
10026	ret := &ListFoldersResponse{
10027		ServerResponse: googleapi.ServerResponse{
10028			Header:         res.Header,
10029			HTTPStatusCode: res.StatusCode,
10030		},
10031	}
10032	target := &ret
10033	if err := gensupport.DecodeResponse(target, res); err != nil {
10034		return nil, err
10035	}
10036	return ret, nil
10037	// {
10038	//   "description": "Lists all GTM Folders of a Container.",
10039	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders",
10040	//   "httpMethod": "GET",
10041	//   "id": "tagmanager.accounts.containers.workspaces.folders.list",
10042	//   "parameterOrder": [
10043	//     "parent"
10044	//   ],
10045	//   "parameters": {
10046	//     "pageToken": {
10047	//       "description": "Continuation token for fetching the next page of results.",
10048	//       "location": "query",
10049	//       "type": "string"
10050	//     },
10051	//     "parent": {
10052	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
10053	//       "location": "path",
10054	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
10055	//       "required": true,
10056	//       "type": "string"
10057	//     }
10058	//   },
10059	//   "path": "tagmanager/v2/{+parent}/folders",
10060	//   "response": {
10061	//     "$ref": "ListFoldersResponse"
10062	//   },
10063	//   "scopes": [
10064	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
10065	//     "https://www.googleapis.com/auth/tagmanager.readonly"
10066	//   ]
10067	// }
10068
10069}
10070
10071// Pages invokes f for each page of results.
10072// A non-nil error returned from f will halt the iteration.
10073// The provided context supersedes any context provided to the Context method.
10074func (c *AccountsContainersWorkspacesFoldersListCall) Pages(ctx context.Context, f func(*ListFoldersResponse) error) error {
10075	c.ctx_ = ctx
10076	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
10077	for {
10078		x, err := c.Do()
10079		if err != nil {
10080			return err
10081		}
10082		if err := f(x); err != nil {
10083			return err
10084		}
10085		if x.NextPageToken == "" {
10086			return nil
10087		}
10088		c.PageToken(x.NextPageToken)
10089	}
10090}
10091
10092// method id "tagmanager.accounts.containers.workspaces.folders.move_entities_to_folder":
10093
10094type AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall struct {
10095	s          *Service
10096	path       string
10097	folder     *Folder
10098	urlParams_ gensupport.URLParams
10099	ctx_       context.Context
10100	header_    http.Header
10101}
10102
10103// MoveEntitiesToFolder: Moves entities to a GTM Folder.
10104func (r *AccountsContainersWorkspacesFoldersService) MoveEntitiesToFolder(path string, folder *Folder) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
10105	c := &AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10106	c.path = path
10107	c.folder = folder
10108	return c
10109}
10110
10111// TagId sets the optional parameter "tagId": The tags to be moved to
10112// the folder.
10113func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) TagId(tagId ...string) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
10114	c.urlParams_.SetMulti("tagId", append([]string{}, tagId...))
10115	return c
10116}
10117
10118// TriggerId sets the optional parameter "triggerId": The triggers to be
10119// moved to the folder.
10120func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) TriggerId(triggerId ...string) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
10121	c.urlParams_.SetMulti("triggerId", append([]string{}, triggerId...))
10122	return c
10123}
10124
10125// VariableId sets the optional parameter "variableId": The variables to
10126// be moved to the folder.
10127func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) VariableId(variableId ...string) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
10128	c.urlParams_.SetMulti("variableId", append([]string{}, variableId...))
10129	return c
10130}
10131
10132// Fields allows partial responses to be retrieved. See
10133// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10134// for more information.
10135func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
10136	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10137	return c
10138}
10139
10140// Context sets the context to be used in this call's Do method. Any
10141// pending HTTP request will be aborted if the provided context is
10142// canceled.
10143func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
10144	c.ctx_ = ctx
10145	return c
10146}
10147
10148// Header returns an http.Header that can be modified by the caller to
10149// add HTTP headers to the request.
10150func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) Header() http.Header {
10151	if c.header_ == nil {
10152		c.header_ = make(http.Header)
10153	}
10154	return c.header_
10155}
10156
10157func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) doRequest(alt string) (*http.Response, error) {
10158	reqHeaders := make(http.Header)
10159	for k, v := range c.header_ {
10160		reqHeaders[k] = v
10161	}
10162	reqHeaders.Set("User-Agent", c.s.userAgent())
10163	var body io.Reader = nil
10164	body, err := googleapi.WithoutDataWrapper.JSONReader(c.folder)
10165	if err != nil {
10166		return nil, err
10167	}
10168	reqHeaders.Set("Content-Type", "application/json")
10169	c.urlParams_.Set("alt", alt)
10170	c.urlParams_.Set("prettyPrint", "false")
10171	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:move_entities_to_folder")
10172	urls += "?" + c.urlParams_.Encode()
10173	req, err := http.NewRequest("POST", urls, body)
10174	if err != nil {
10175		return nil, err
10176	}
10177	req.Header = reqHeaders
10178	googleapi.Expand(req.URL, map[string]string{
10179		"path": c.path,
10180	})
10181	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10182}
10183
10184// Do executes the "tagmanager.accounts.containers.workspaces.folders.move_entities_to_folder" call.
10185func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) Do(opts ...googleapi.CallOption) error {
10186	gensupport.SetOptions(c.urlParams_, opts...)
10187	res, err := c.doRequest("json")
10188	if err != nil {
10189		return err
10190	}
10191	defer googleapi.CloseBody(res)
10192	if err := googleapi.CheckResponse(res); err != nil {
10193		return err
10194	}
10195	return nil
10196	// {
10197	//   "description": "Moves entities to a GTM Folder.",
10198	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:move_entities_to_folder",
10199	//   "httpMethod": "POST",
10200	//   "id": "tagmanager.accounts.containers.workspaces.folders.move_entities_to_folder",
10201	//   "parameterOrder": [
10202	//     "path"
10203	//   ],
10204	//   "parameters": {
10205	//     "path": {
10206	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
10207	//       "location": "path",
10208	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
10209	//       "required": true,
10210	//       "type": "string"
10211	//     },
10212	//     "tagId": {
10213	//       "description": "The tags to be moved to the folder.",
10214	//       "location": "query",
10215	//       "repeated": true,
10216	//       "type": "string"
10217	//     },
10218	//     "triggerId": {
10219	//       "description": "The triggers to be moved to the folder.",
10220	//       "location": "query",
10221	//       "repeated": true,
10222	//       "type": "string"
10223	//     },
10224	//     "variableId": {
10225	//       "description": "The variables to be moved to the folder.",
10226	//       "location": "query",
10227	//       "repeated": true,
10228	//       "type": "string"
10229	//     }
10230	//   },
10231	//   "path": "tagmanager/v2/{+path}:move_entities_to_folder",
10232	//   "request": {
10233	//     "$ref": "Folder"
10234	//   },
10235	//   "scopes": [
10236	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
10237	//   ]
10238	// }
10239
10240}
10241
10242// method id "tagmanager.accounts.containers.workspaces.folders.revert":
10243
10244type AccountsContainersWorkspacesFoldersRevertCall struct {
10245	s          *Service
10246	path       string
10247	urlParams_ gensupport.URLParams
10248	ctx_       context.Context
10249	header_    http.Header
10250}
10251
10252// Revert: Reverts changes to a GTM Folder in a GTM Workspace.
10253func (r *AccountsContainersWorkspacesFoldersService) Revert(path string) *AccountsContainersWorkspacesFoldersRevertCall {
10254	c := &AccountsContainersWorkspacesFoldersRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10255	c.path = path
10256	return c
10257}
10258
10259// Fingerprint sets the optional parameter "fingerprint": When provided,
10260// this fingerprint must match the fingerprint of the tag
10261// in storage.
10262func (c *AccountsContainersWorkspacesFoldersRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesFoldersRevertCall {
10263	c.urlParams_.Set("fingerprint", fingerprint)
10264	return c
10265}
10266
10267// Fields allows partial responses to be retrieved. See
10268// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10269// for more information.
10270func (c *AccountsContainersWorkspacesFoldersRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersRevertCall {
10271	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10272	return c
10273}
10274
10275// Context sets the context to be used in this call's Do method. Any
10276// pending HTTP request will be aborted if the provided context is
10277// canceled.
10278func (c *AccountsContainersWorkspacesFoldersRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersRevertCall {
10279	c.ctx_ = ctx
10280	return c
10281}
10282
10283// Header returns an http.Header that can be modified by the caller to
10284// add HTTP headers to the request.
10285func (c *AccountsContainersWorkspacesFoldersRevertCall) Header() http.Header {
10286	if c.header_ == nil {
10287		c.header_ = make(http.Header)
10288	}
10289	return c.header_
10290}
10291
10292func (c *AccountsContainersWorkspacesFoldersRevertCall) doRequest(alt string) (*http.Response, error) {
10293	reqHeaders := make(http.Header)
10294	for k, v := range c.header_ {
10295		reqHeaders[k] = v
10296	}
10297	reqHeaders.Set("User-Agent", c.s.userAgent())
10298	var body io.Reader = nil
10299	c.urlParams_.Set("alt", alt)
10300	c.urlParams_.Set("prettyPrint", "false")
10301	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
10302	urls += "?" + c.urlParams_.Encode()
10303	req, err := http.NewRequest("POST", urls, body)
10304	if err != nil {
10305		return nil, err
10306	}
10307	req.Header = reqHeaders
10308	googleapi.Expand(req.URL, map[string]string{
10309		"path": c.path,
10310	})
10311	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10312}
10313
10314// Do executes the "tagmanager.accounts.containers.workspaces.folders.revert" call.
10315// Exactly one of *RevertFolderResponse or error will be non-nil. Any
10316// non-2xx status code is an error. Response headers are in either
10317// *RevertFolderResponse.ServerResponse.Header or (if a response was
10318// returned at all) in error.(*googleapi.Error).Header. Use
10319// googleapi.IsNotModified to check whether the returned error was
10320// because http.StatusNotModified was returned.
10321func (c *AccountsContainersWorkspacesFoldersRevertCall) Do(opts ...googleapi.CallOption) (*RevertFolderResponse, error) {
10322	gensupport.SetOptions(c.urlParams_, opts...)
10323	res, err := c.doRequest("json")
10324	if res != nil && res.StatusCode == http.StatusNotModified {
10325		if res.Body != nil {
10326			res.Body.Close()
10327		}
10328		return nil, &googleapi.Error{
10329			Code:   res.StatusCode,
10330			Header: res.Header,
10331		}
10332	}
10333	if err != nil {
10334		return nil, err
10335	}
10336	defer googleapi.CloseBody(res)
10337	if err := googleapi.CheckResponse(res); err != nil {
10338		return nil, err
10339	}
10340	ret := &RevertFolderResponse{
10341		ServerResponse: googleapi.ServerResponse{
10342			Header:         res.Header,
10343			HTTPStatusCode: res.StatusCode,
10344		},
10345	}
10346	target := &ret
10347	if err := gensupport.DecodeResponse(target, res); err != nil {
10348		return nil, err
10349	}
10350	return ret, nil
10351	// {
10352	//   "description": "Reverts changes to a GTM Folder in a GTM Workspace.",
10353	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}:revert",
10354	//   "httpMethod": "POST",
10355	//   "id": "tagmanager.accounts.containers.workspaces.folders.revert",
10356	//   "parameterOrder": [
10357	//     "path"
10358	//   ],
10359	//   "parameters": {
10360	//     "fingerprint": {
10361	//       "description": "When provided, this fingerprint must match the fingerprint of the tag\nin storage.",
10362	//       "location": "query",
10363	//       "type": "string"
10364	//     },
10365	//     "path": {
10366	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
10367	//       "location": "path",
10368	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
10369	//       "required": true,
10370	//       "type": "string"
10371	//     }
10372	//   },
10373	//   "path": "tagmanager/v2/{+path}:revert",
10374	//   "response": {
10375	//     "$ref": "RevertFolderResponse"
10376	//   },
10377	//   "scopes": [
10378	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
10379	//   ]
10380	// }
10381
10382}
10383
10384// method id "tagmanager.accounts.containers.workspaces.folders.update":
10385
10386type AccountsContainersWorkspacesFoldersUpdateCall struct {
10387	s          *Service
10388	path       string
10389	folder     *Folder
10390	urlParams_ gensupport.URLParams
10391	ctx_       context.Context
10392	header_    http.Header
10393}
10394
10395// Update: Updates a GTM Folder.
10396func (r *AccountsContainersWorkspacesFoldersService) Update(path string, folder *Folder) *AccountsContainersWorkspacesFoldersUpdateCall {
10397	c := &AccountsContainersWorkspacesFoldersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10398	c.path = path
10399	c.folder = folder
10400	return c
10401}
10402
10403// Fingerprint sets the optional parameter "fingerprint": When provided,
10404// this fingerprint must match the fingerprint of the folder in
10405// storage.
10406func (c *AccountsContainersWorkspacesFoldersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesFoldersUpdateCall {
10407	c.urlParams_.Set("fingerprint", fingerprint)
10408	return c
10409}
10410
10411// Fields allows partial responses to be retrieved. See
10412// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10413// for more information.
10414func (c *AccountsContainersWorkspacesFoldersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersUpdateCall {
10415	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10416	return c
10417}
10418
10419// Context sets the context to be used in this call's Do method. Any
10420// pending HTTP request will be aborted if the provided context is
10421// canceled.
10422func (c *AccountsContainersWorkspacesFoldersUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersUpdateCall {
10423	c.ctx_ = ctx
10424	return c
10425}
10426
10427// Header returns an http.Header that can be modified by the caller to
10428// add HTTP headers to the request.
10429func (c *AccountsContainersWorkspacesFoldersUpdateCall) Header() http.Header {
10430	if c.header_ == nil {
10431		c.header_ = make(http.Header)
10432	}
10433	return c.header_
10434}
10435
10436func (c *AccountsContainersWorkspacesFoldersUpdateCall) doRequest(alt string) (*http.Response, error) {
10437	reqHeaders := make(http.Header)
10438	for k, v := range c.header_ {
10439		reqHeaders[k] = v
10440	}
10441	reqHeaders.Set("User-Agent", c.s.userAgent())
10442	var body io.Reader = nil
10443	body, err := googleapi.WithoutDataWrapper.JSONReader(c.folder)
10444	if err != nil {
10445		return nil, err
10446	}
10447	reqHeaders.Set("Content-Type", "application/json")
10448	c.urlParams_.Set("alt", alt)
10449	c.urlParams_.Set("prettyPrint", "false")
10450	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
10451	urls += "?" + c.urlParams_.Encode()
10452	req, err := http.NewRequest("PUT", urls, body)
10453	if err != nil {
10454		return nil, err
10455	}
10456	req.Header = reqHeaders
10457	googleapi.Expand(req.URL, map[string]string{
10458		"path": c.path,
10459	})
10460	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10461}
10462
10463// Do executes the "tagmanager.accounts.containers.workspaces.folders.update" call.
10464// Exactly one of *Folder or error will be non-nil. Any non-2xx status
10465// code is an error. Response headers are in either
10466// *Folder.ServerResponse.Header or (if a response was returned at all)
10467// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10468// check whether the returned error was because http.StatusNotModified
10469// was returned.
10470func (c *AccountsContainersWorkspacesFoldersUpdateCall) Do(opts ...googleapi.CallOption) (*Folder, error) {
10471	gensupport.SetOptions(c.urlParams_, opts...)
10472	res, err := c.doRequest("json")
10473	if res != nil && res.StatusCode == http.StatusNotModified {
10474		if res.Body != nil {
10475			res.Body.Close()
10476		}
10477		return nil, &googleapi.Error{
10478			Code:   res.StatusCode,
10479			Header: res.Header,
10480		}
10481	}
10482	if err != nil {
10483		return nil, err
10484	}
10485	defer googleapi.CloseBody(res)
10486	if err := googleapi.CheckResponse(res); err != nil {
10487		return nil, err
10488	}
10489	ret := &Folder{
10490		ServerResponse: googleapi.ServerResponse{
10491			Header:         res.Header,
10492			HTTPStatusCode: res.StatusCode,
10493		},
10494	}
10495	target := &ret
10496	if err := gensupport.DecodeResponse(target, res); err != nil {
10497		return nil, err
10498	}
10499	return ret, nil
10500	// {
10501	//   "description": "Updates a GTM Folder.",
10502	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/folders/{foldersId}",
10503	//   "httpMethod": "PUT",
10504	//   "id": "tagmanager.accounts.containers.workspaces.folders.update",
10505	//   "parameterOrder": [
10506	//     "path"
10507	//   ],
10508	//   "parameters": {
10509	//     "fingerprint": {
10510	//       "description": "When provided, this fingerprint must match the fingerprint of the folder in\nstorage.",
10511	//       "location": "query",
10512	//       "type": "string"
10513	//     },
10514	//     "path": {
10515	//       "description": "GTM Folder's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/folders/{folder_id}",
10516	//       "location": "path",
10517	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/folders/[^/]+$",
10518	//       "required": true,
10519	//       "type": "string"
10520	//     }
10521	//   },
10522	//   "path": "tagmanager/v2/{+path}",
10523	//   "request": {
10524	//     "$ref": "Folder"
10525	//   },
10526	//   "response": {
10527	//     "$ref": "Folder"
10528	//   },
10529	//   "scopes": [
10530	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
10531	//   ]
10532	// }
10533
10534}
10535
10536// method id "tagmanager.accounts.containers.workspaces.tags.create":
10537
10538type AccountsContainersWorkspacesTagsCreateCall struct {
10539	s          *Service
10540	parent     string
10541	tag        *Tag
10542	urlParams_ gensupport.URLParams
10543	ctx_       context.Context
10544	header_    http.Header
10545}
10546
10547// Create: Creates a GTM Tag.
10548func (r *AccountsContainersWorkspacesTagsService) Create(parent string, tag *Tag) *AccountsContainersWorkspacesTagsCreateCall {
10549	c := &AccountsContainersWorkspacesTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10550	c.parent = parent
10551	c.tag = tag
10552	return c
10553}
10554
10555// Fields allows partial responses to be retrieved. See
10556// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10557// for more information.
10558func (c *AccountsContainersWorkspacesTagsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsCreateCall {
10559	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10560	return c
10561}
10562
10563// Context sets the context to be used in this call's Do method. Any
10564// pending HTTP request will be aborted if the provided context is
10565// canceled.
10566func (c *AccountsContainersWorkspacesTagsCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsCreateCall {
10567	c.ctx_ = ctx
10568	return c
10569}
10570
10571// Header returns an http.Header that can be modified by the caller to
10572// add HTTP headers to the request.
10573func (c *AccountsContainersWorkspacesTagsCreateCall) Header() http.Header {
10574	if c.header_ == nil {
10575		c.header_ = make(http.Header)
10576	}
10577	return c.header_
10578}
10579
10580func (c *AccountsContainersWorkspacesTagsCreateCall) doRequest(alt string) (*http.Response, error) {
10581	reqHeaders := make(http.Header)
10582	for k, v := range c.header_ {
10583		reqHeaders[k] = v
10584	}
10585	reqHeaders.Set("User-Agent", c.s.userAgent())
10586	var body io.Reader = nil
10587	body, err := googleapi.WithoutDataWrapper.JSONReader(c.tag)
10588	if err != nil {
10589		return nil, err
10590	}
10591	reqHeaders.Set("Content-Type", "application/json")
10592	c.urlParams_.Set("alt", alt)
10593	c.urlParams_.Set("prettyPrint", "false")
10594	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/tags")
10595	urls += "?" + c.urlParams_.Encode()
10596	req, err := http.NewRequest("POST", urls, body)
10597	if err != nil {
10598		return nil, err
10599	}
10600	req.Header = reqHeaders
10601	googleapi.Expand(req.URL, map[string]string{
10602		"parent": c.parent,
10603	})
10604	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10605}
10606
10607// Do executes the "tagmanager.accounts.containers.workspaces.tags.create" call.
10608// Exactly one of *Tag or error will be non-nil. Any non-2xx status code
10609// is an error. Response headers are in either
10610// *Tag.ServerResponse.Header or (if a response was returned at all) in
10611// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
10612// whether the returned error was because http.StatusNotModified was
10613// returned.
10614func (c *AccountsContainersWorkspacesTagsCreateCall) Do(opts ...googleapi.CallOption) (*Tag, error) {
10615	gensupport.SetOptions(c.urlParams_, opts...)
10616	res, err := c.doRequest("json")
10617	if res != nil && res.StatusCode == http.StatusNotModified {
10618		if res.Body != nil {
10619			res.Body.Close()
10620		}
10621		return nil, &googleapi.Error{
10622			Code:   res.StatusCode,
10623			Header: res.Header,
10624		}
10625	}
10626	if err != nil {
10627		return nil, err
10628	}
10629	defer googleapi.CloseBody(res)
10630	if err := googleapi.CheckResponse(res); err != nil {
10631		return nil, err
10632	}
10633	ret := &Tag{
10634		ServerResponse: googleapi.ServerResponse{
10635			Header:         res.Header,
10636			HTTPStatusCode: res.StatusCode,
10637		},
10638	}
10639	target := &ret
10640	if err := gensupport.DecodeResponse(target, res); err != nil {
10641		return nil, err
10642	}
10643	return ret, nil
10644	// {
10645	//   "description": "Creates a GTM Tag.",
10646	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags",
10647	//   "httpMethod": "POST",
10648	//   "id": "tagmanager.accounts.containers.workspaces.tags.create",
10649	//   "parameterOrder": [
10650	//     "parent"
10651	//   ],
10652	//   "parameters": {
10653	//     "parent": {
10654	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
10655	//       "location": "path",
10656	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
10657	//       "required": true,
10658	//       "type": "string"
10659	//     }
10660	//   },
10661	//   "path": "tagmanager/v2/{+parent}/tags",
10662	//   "request": {
10663	//     "$ref": "Tag"
10664	//   },
10665	//   "response": {
10666	//     "$ref": "Tag"
10667	//   },
10668	//   "scopes": [
10669	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
10670	//   ]
10671	// }
10672
10673}
10674
10675// method id "tagmanager.accounts.containers.workspaces.tags.delete":
10676
10677type AccountsContainersWorkspacesTagsDeleteCall struct {
10678	s          *Service
10679	path       string
10680	urlParams_ gensupport.URLParams
10681	ctx_       context.Context
10682	header_    http.Header
10683}
10684
10685// Delete: Deletes a GTM Tag.
10686func (r *AccountsContainersWorkspacesTagsService) Delete(path string) *AccountsContainersWorkspacesTagsDeleteCall {
10687	c := &AccountsContainersWorkspacesTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10688	c.path = path
10689	return c
10690}
10691
10692// Fields allows partial responses to be retrieved. See
10693// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10694// for more information.
10695func (c *AccountsContainersWorkspacesTagsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsDeleteCall {
10696	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10697	return c
10698}
10699
10700// Context sets the context to be used in this call's Do method. Any
10701// pending HTTP request will be aborted if the provided context is
10702// canceled.
10703func (c *AccountsContainersWorkspacesTagsDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsDeleteCall {
10704	c.ctx_ = ctx
10705	return c
10706}
10707
10708// Header returns an http.Header that can be modified by the caller to
10709// add HTTP headers to the request.
10710func (c *AccountsContainersWorkspacesTagsDeleteCall) Header() http.Header {
10711	if c.header_ == nil {
10712		c.header_ = make(http.Header)
10713	}
10714	return c.header_
10715}
10716
10717func (c *AccountsContainersWorkspacesTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
10718	reqHeaders := make(http.Header)
10719	for k, v := range c.header_ {
10720		reqHeaders[k] = v
10721	}
10722	reqHeaders.Set("User-Agent", c.s.userAgent())
10723	var body io.Reader = nil
10724	c.urlParams_.Set("alt", alt)
10725	c.urlParams_.Set("prettyPrint", "false")
10726	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
10727	urls += "?" + c.urlParams_.Encode()
10728	req, err := http.NewRequest("DELETE", urls, body)
10729	if err != nil {
10730		return nil, err
10731	}
10732	req.Header = reqHeaders
10733	googleapi.Expand(req.URL, map[string]string{
10734		"path": c.path,
10735	})
10736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10737}
10738
10739// Do executes the "tagmanager.accounts.containers.workspaces.tags.delete" call.
10740func (c *AccountsContainersWorkspacesTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
10741	gensupport.SetOptions(c.urlParams_, opts...)
10742	res, err := c.doRequest("json")
10743	if err != nil {
10744		return err
10745	}
10746	defer googleapi.CloseBody(res)
10747	if err := googleapi.CheckResponse(res); err != nil {
10748		return err
10749	}
10750	return nil
10751	// {
10752	//   "description": "Deletes a GTM Tag.",
10753	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}",
10754	//   "httpMethod": "DELETE",
10755	//   "id": "tagmanager.accounts.containers.workspaces.tags.delete",
10756	//   "parameterOrder": [
10757	//     "path"
10758	//   ],
10759	//   "parameters": {
10760	//     "path": {
10761	//       "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
10762	//       "location": "path",
10763	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
10764	//       "required": true,
10765	//       "type": "string"
10766	//     }
10767	//   },
10768	//   "path": "tagmanager/v2/{+path}",
10769	//   "scopes": [
10770	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
10771	//   ]
10772	// }
10773
10774}
10775
10776// method id "tagmanager.accounts.containers.workspaces.tags.get":
10777
10778type AccountsContainersWorkspacesTagsGetCall struct {
10779	s            *Service
10780	path         string
10781	urlParams_   gensupport.URLParams
10782	ifNoneMatch_ string
10783	ctx_         context.Context
10784	header_      http.Header
10785}
10786
10787// Get: Gets a GTM Tag.
10788func (r *AccountsContainersWorkspacesTagsService) Get(path string) *AccountsContainersWorkspacesTagsGetCall {
10789	c := &AccountsContainersWorkspacesTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10790	c.path = path
10791	return c
10792}
10793
10794// Fields allows partial responses to be retrieved. See
10795// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10796// for more information.
10797func (c *AccountsContainersWorkspacesTagsGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsGetCall {
10798	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10799	return c
10800}
10801
10802// IfNoneMatch sets the optional parameter which makes the operation
10803// fail if the object's ETag matches the given value. This is useful for
10804// getting updates only after the object has changed since the last
10805// request. Use googleapi.IsNotModified to check whether the response
10806// error from Do is the result of In-None-Match.
10807func (c *AccountsContainersWorkspacesTagsGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTagsGetCall {
10808	c.ifNoneMatch_ = entityTag
10809	return c
10810}
10811
10812// Context sets the context to be used in this call's Do method. Any
10813// pending HTTP request will be aborted if the provided context is
10814// canceled.
10815func (c *AccountsContainersWorkspacesTagsGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsGetCall {
10816	c.ctx_ = ctx
10817	return c
10818}
10819
10820// Header returns an http.Header that can be modified by the caller to
10821// add HTTP headers to the request.
10822func (c *AccountsContainersWorkspacesTagsGetCall) Header() http.Header {
10823	if c.header_ == nil {
10824		c.header_ = make(http.Header)
10825	}
10826	return c.header_
10827}
10828
10829func (c *AccountsContainersWorkspacesTagsGetCall) doRequest(alt string) (*http.Response, error) {
10830	reqHeaders := make(http.Header)
10831	for k, v := range c.header_ {
10832		reqHeaders[k] = v
10833	}
10834	reqHeaders.Set("User-Agent", c.s.userAgent())
10835	if c.ifNoneMatch_ != "" {
10836		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10837	}
10838	var body io.Reader = nil
10839	c.urlParams_.Set("alt", alt)
10840	c.urlParams_.Set("prettyPrint", "false")
10841	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
10842	urls += "?" + c.urlParams_.Encode()
10843	req, err := http.NewRequest("GET", urls, body)
10844	if err != nil {
10845		return nil, err
10846	}
10847	req.Header = reqHeaders
10848	googleapi.Expand(req.URL, map[string]string{
10849		"path": c.path,
10850	})
10851	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10852}
10853
10854// Do executes the "tagmanager.accounts.containers.workspaces.tags.get" call.
10855// Exactly one of *Tag or error will be non-nil. Any non-2xx status code
10856// is an error. Response headers are in either
10857// *Tag.ServerResponse.Header or (if a response was returned at all) in
10858// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
10859// whether the returned error was because http.StatusNotModified was
10860// returned.
10861func (c *AccountsContainersWorkspacesTagsGetCall) Do(opts ...googleapi.CallOption) (*Tag, error) {
10862	gensupport.SetOptions(c.urlParams_, opts...)
10863	res, err := c.doRequest("json")
10864	if res != nil && res.StatusCode == http.StatusNotModified {
10865		if res.Body != nil {
10866			res.Body.Close()
10867		}
10868		return nil, &googleapi.Error{
10869			Code:   res.StatusCode,
10870			Header: res.Header,
10871		}
10872	}
10873	if err != nil {
10874		return nil, err
10875	}
10876	defer googleapi.CloseBody(res)
10877	if err := googleapi.CheckResponse(res); err != nil {
10878		return nil, err
10879	}
10880	ret := &Tag{
10881		ServerResponse: googleapi.ServerResponse{
10882			Header:         res.Header,
10883			HTTPStatusCode: res.StatusCode,
10884		},
10885	}
10886	target := &ret
10887	if err := gensupport.DecodeResponse(target, res); err != nil {
10888		return nil, err
10889	}
10890	return ret, nil
10891	// {
10892	//   "description": "Gets a GTM Tag.",
10893	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}",
10894	//   "httpMethod": "GET",
10895	//   "id": "tagmanager.accounts.containers.workspaces.tags.get",
10896	//   "parameterOrder": [
10897	//     "path"
10898	//   ],
10899	//   "parameters": {
10900	//     "path": {
10901	//       "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
10902	//       "location": "path",
10903	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
10904	//       "required": true,
10905	//       "type": "string"
10906	//     }
10907	//   },
10908	//   "path": "tagmanager/v2/{+path}",
10909	//   "response": {
10910	//     "$ref": "Tag"
10911	//   },
10912	//   "scopes": [
10913	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
10914	//     "https://www.googleapis.com/auth/tagmanager.readonly"
10915	//   ]
10916	// }
10917
10918}
10919
10920// method id "tagmanager.accounts.containers.workspaces.tags.list":
10921
10922type AccountsContainersWorkspacesTagsListCall struct {
10923	s            *Service
10924	parent       string
10925	urlParams_   gensupport.URLParams
10926	ifNoneMatch_ string
10927	ctx_         context.Context
10928	header_      http.Header
10929}
10930
10931// List: Lists all GTM Tags of a Container.
10932func (r *AccountsContainersWorkspacesTagsService) List(parent string) *AccountsContainersWorkspacesTagsListCall {
10933	c := &AccountsContainersWorkspacesTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10934	c.parent = parent
10935	return c
10936}
10937
10938// PageToken sets the optional parameter "pageToken": Continuation token
10939// for fetching the next page of results.
10940func (c *AccountsContainersWorkspacesTagsListCall) PageToken(pageToken string) *AccountsContainersWorkspacesTagsListCall {
10941	c.urlParams_.Set("pageToken", pageToken)
10942	return c
10943}
10944
10945// Fields allows partial responses to be retrieved. See
10946// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10947// for more information.
10948func (c *AccountsContainersWorkspacesTagsListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsListCall {
10949	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10950	return c
10951}
10952
10953// IfNoneMatch sets the optional parameter which makes the operation
10954// fail if the object's ETag matches the given value. This is useful for
10955// getting updates only after the object has changed since the last
10956// request. Use googleapi.IsNotModified to check whether the response
10957// error from Do is the result of In-None-Match.
10958func (c *AccountsContainersWorkspacesTagsListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTagsListCall {
10959	c.ifNoneMatch_ = entityTag
10960	return c
10961}
10962
10963// Context sets the context to be used in this call's Do method. Any
10964// pending HTTP request will be aborted if the provided context is
10965// canceled.
10966func (c *AccountsContainersWorkspacesTagsListCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsListCall {
10967	c.ctx_ = ctx
10968	return c
10969}
10970
10971// Header returns an http.Header that can be modified by the caller to
10972// add HTTP headers to the request.
10973func (c *AccountsContainersWorkspacesTagsListCall) Header() http.Header {
10974	if c.header_ == nil {
10975		c.header_ = make(http.Header)
10976	}
10977	return c.header_
10978}
10979
10980func (c *AccountsContainersWorkspacesTagsListCall) doRequest(alt string) (*http.Response, error) {
10981	reqHeaders := make(http.Header)
10982	for k, v := range c.header_ {
10983		reqHeaders[k] = v
10984	}
10985	reqHeaders.Set("User-Agent", c.s.userAgent())
10986	if c.ifNoneMatch_ != "" {
10987		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10988	}
10989	var body io.Reader = nil
10990	c.urlParams_.Set("alt", alt)
10991	c.urlParams_.Set("prettyPrint", "false")
10992	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/tags")
10993	urls += "?" + c.urlParams_.Encode()
10994	req, err := http.NewRequest("GET", urls, body)
10995	if err != nil {
10996		return nil, err
10997	}
10998	req.Header = reqHeaders
10999	googleapi.Expand(req.URL, map[string]string{
11000		"parent": c.parent,
11001	})
11002	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11003}
11004
11005// Do executes the "tagmanager.accounts.containers.workspaces.tags.list" call.
11006// Exactly one of *ListTagsResponse or error will be non-nil. Any
11007// non-2xx status code is an error. Response headers are in either
11008// *ListTagsResponse.ServerResponse.Header or (if a response was
11009// returned at all) in error.(*googleapi.Error).Header. Use
11010// googleapi.IsNotModified to check whether the returned error was
11011// because http.StatusNotModified was returned.
11012func (c *AccountsContainersWorkspacesTagsListCall) Do(opts ...googleapi.CallOption) (*ListTagsResponse, error) {
11013	gensupport.SetOptions(c.urlParams_, opts...)
11014	res, err := c.doRequest("json")
11015	if res != nil && res.StatusCode == http.StatusNotModified {
11016		if res.Body != nil {
11017			res.Body.Close()
11018		}
11019		return nil, &googleapi.Error{
11020			Code:   res.StatusCode,
11021			Header: res.Header,
11022		}
11023	}
11024	if err != nil {
11025		return nil, err
11026	}
11027	defer googleapi.CloseBody(res)
11028	if err := googleapi.CheckResponse(res); err != nil {
11029		return nil, err
11030	}
11031	ret := &ListTagsResponse{
11032		ServerResponse: googleapi.ServerResponse{
11033			Header:         res.Header,
11034			HTTPStatusCode: res.StatusCode,
11035		},
11036	}
11037	target := &ret
11038	if err := gensupport.DecodeResponse(target, res); err != nil {
11039		return nil, err
11040	}
11041	return ret, nil
11042	// {
11043	//   "description": "Lists all GTM Tags of a Container.",
11044	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags",
11045	//   "httpMethod": "GET",
11046	//   "id": "tagmanager.accounts.containers.workspaces.tags.list",
11047	//   "parameterOrder": [
11048	//     "parent"
11049	//   ],
11050	//   "parameters": {
11051	//     "pageToken": {
11052	//       "description": "Continuation token for fetching the next page of results.",
11053	//       "location": "query",
11054	//       "type": "string"
11055	//     },
11056	//     "parent": {
11057	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
11058	//       "location": "path",
11059	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
11060	//       "required": true,
11061	//       "type": "string"
11062	//     }
11063	//   },
11064	//   "path": "tagmanager/v2/{+parent}/tags",
11065	//   "response": {
11066	//     "$ref": "ListTagsResponse"
11067	//   },
11068	//   "scopes": [
11069	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
11070	//     "https://www.googleapis.com/auth/tagmanager.readonly"
11071	//   ]
11072	// }
11073
11074}
11075
11076// Pages invokes f for each page of results.
11077// A non-nil error returned from f will halt the iteration.
11078// The provided context supersedes any context provided to the Context method.
11079func (c *AccountsContainersWorkspacesTagsListCall) Pages(ctx context.Context, f func(*ListTagsResponse) error) error {
11080	c.ctx_ = ctx
11081	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
11082	for {
11083		x, err := c.Do()
11084		if err != nil {
11085			return err
11086		}
11087		if err := f(x); err != nil {
11088			return err
11089		}
11090		if x.NextPageToken == "" {
11091			return nil
11092		}
11093		c.PageToken(x.NextPageToken)
11094	}
11095}
11096
11097// method id "tagmanager.accounts.containers.workspaces.tags.revert":
11098
11099type AccountsContainersWorkspacesTagsRevertCall struct {
11100	s          *Service
11101	path       string
11102	urlParams_ gensupport.URLParams
11103	ctx_       context.Context
11104	header_    http.Header
11105}
11106
11107// Revert: Reverts changes to a GTM Tag in a GTM Workspace.
11108func (r *AccountsContainersWorkspacesTagsService) Revert(path string) *AccountsContainersWorkspacesTagsRevertCall {
11109	c := &AccountsContainersWorkspacesTagsRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11110	c.path = path
11111	return c
11112}
11113
11114// Fingerprint sets the optional parameter "fingerprint": When provided,
11115// this fingerprint must match the fingerprint of thetag
11116// in storage.
11117func (c *AccountsContainersWorkspacesTagsRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTagsRevertCall {
11118	c.urlParams_.Set("fingerprint", fingerprint)
11119	return c
11120}
11121
11122// Fields allows partial responses to be retrieved. See
11123// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11124// for more information.
11125func (c *AccountsContainersWorkspacesTagsRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsRevertCall {
11126	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11127	return c
11128}
11129
11130// Context sets the context to be used in this call's Do method. Any
11131// pending HTTP request will be aborted if the provided context is
11132// canceled.
11133func (c *AccountsContainersWorkspacesTagsRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsRevertCall {
11134	c.ctx_ = ctx
11135	return c
11136}
11137
11138// Header returns an http.Header that can be modified by the caller to
11139// add HTTP headers to the request.
11140func (c *AccountsContainersWorkspacesTagsRevertCall) Header() http.Header {
11141	if c.header_ == nil {
11142		c.header_ = make(http.Header)
11143	}
11144	return c.header_
11145}
11146
11147func (c *AccountsContainersWorkspacesTagsRevertCall) doRequest(alt string) (*http.Response, error) {
11148	reqHeaders := make(http.Header)
11149	for k, v := range c.header_ {
11150		reqHeaders[k] = v
11151	}
11152	reqHeaders.Set("User-Agent", c.s.userAgent())
11153	var body io.Reader = nil
11154	c.urlParams_.Set("alt", alt)
11155	c.urlParams_.Set("prettyPrint", "false")
11156	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
11157	urls += "?" + c.urlParams_.Encode()
11158	req, err := http.NewRequest("POST", urls, body)
11159	if err != nil {
11160		return nil, err
11161	}
11162	req.Header = reqHeaders
11163	googleapi.Expand(req.URL, map[string]string{
11164		"path": c.path,
11165	})
11166	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11167}
11168
11169// Do executes the "tagmanager.accounts.containers.workspaces.tags.revert" call.
11170// Exactly one of *RevertTagResponse or error will be non-nil. Any
11171// non-2xx status code is an error. Response headers are in either
11172// *RevertTagResponse.ServerResponse.Header or (if a response was
11173// returned at all) in error.(*googleapi.Error).Header. Use
11174// googleapi.IsNotModified to check whether the returned error was
11175// because http.StatusNotModified was returned.
11176func (c *AccountsContainersWorkspacesTagsRevertCall) Do(opts ...googleapi.CallOption) (*RevertTagResponse, error) {
11177	gensupport.SetOptions(c.urlParams_, opts...)
11178	res, err := c.doRequest("json")
11179	if res != nil && res.StatusCode == http.StatusNotModified {
11180		if res.Body != nil {
11181			res.Body.Close()
11182		}
11183		return nil, &googleapi.Error{
11184			Code:   res.StatusCode,
11185			Header: res.Header,
11186		}
11187	}
11188	if err != nil {
11189		return nil, err
11190	}
11191	defer googleapi.CloseBody(res)
11192	if err := googleapi.CheckResponse(res); err != nil {
11193		return nil, err
11194	}
11195	ret := &RevertTagResponse{
11196		ServerResponse: googleapi.ServerResponse{
11197			Header:         res.Header,
11198			HTTPStatusCode: res.StatusCode,
11199		},
11200	}
11201	target := &ret
11202	if err := gensupport.DecodeResponse(target, res); err != nil {
11203		return nil, err
11204	}
11205	return ret, nil
11206	// {
11207	//   "description": "Reverts changes to a GTM Tag in a GTM Workspace.",
11208	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}:revert",
11209	//   "httpMethod": "POST",
11210	//   "id": "tagmanager.accounts.containers.workspaces.tags.revert",
11211	//   "parameterOrder": [
11212	//     "path"
11213	//   ],
11214	//   "parameters": {
11215	//     "fingerprint": {
11216	//       "description": "When provided, this fingerprint must match the fingerprint of thetag\nin storage.",
11217	//       "location": "query",
11218	//       "type": "string"
11219	//     },
11220	//     "path": {
11221	//       "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
11222	//       "location": "path",
11223	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
11224	//       "required": true,
11225	//       "type": "string"
11226	//     }
11227	//   },
11228	//   "path": "tagmanager/v2/{+path}:revert",
11229	//   "response": {
11230	//     "$ref": "RevertTagResponse"
11231	//   },
11232	//   "scopes": [
11233	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
11234	//   ]
11235	// }
11236
11237}
11238
11239// method id "tagmanager.accounts.containers.workspaces.tags.update":
11240
11241type AccountsContainersWorkspacesTagsUpdateCall struct {
11242	s          *Service
11243	path       string
11244	tag        *Tag
11245	urlParams_ gensupport.URLParams
11246	ctx_       context.Context
11247	header_    http.Header
11248}
11249
11250// Update: Updates a GTM Tag.
11251func (r *AccountsContainersWorkspacesTagsService) Update(path string, tag *Tag) *AccountsContainersWorkspacesTagsUpdateCall {
11252	c := &AccountsContainersWorkspacesTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11253	c.path = path
11254	c.tag = tag
11255	return c
11256}
11257
11258// Fingerprint sets the optional parameter "fingerprint": When provided,
11259// this fingerprint must match the fingerprint of the tag in
11260// storage.
11261func (c *AccountsContainersWorkspacesTagsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTagsUpdateCall {
11262	c.urlParams_.Set("fingerprint", fingerprint)
11263	return c
11264}
11265
11266// Fields allows partial responses to be retrieved. See
11267// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11268// for more information.
11269func (c *AccountsContainersWorkspacesTagsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsUpdateCall {
11270	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11271	return c
11272}
11273
11274// Context sets the context to be used in this call's Do method. Any
11275// pending HTTP request will be aborted if the provided context is
11276// canceled.
11277func (c *AccountsContainersWorkspacesTagsUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsUpdateCall {
11278	c.ctx_ = ctx
11279	return c
11280}
11281
11282// Header returns an http.Header that can be modified by the caller to
11283// add HTTP headers to the request.
11284func (c *AccountsContainersWorkspacesTagsUpdateCall) Header() http.Header {
11285	if c.header_ == nil {
11286		c.header_ = make(http.Header)
11287	}
11288	return c.header_
11289}
11290
11291func (c *AccountsContainersWorkspacesTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
11292	reqHeaders := make(http.Header)
11293	for k, v := range c.header_ {
11294		reqHeaders[k] = v
11295	}
11296	reqHeaders.Set("User-Agent", c.s.userAgent())
11297	var body io.Reader = nil
11298	body, err := googleapi.WithoutDataWrapper.JSONReader(c.tag)
11299	if err != nil {
11300		return nil, err
11301	}
11302	reqHeaders.Set("Content-Type", "application/json")
11303	c.urlParams_.Set("alt", alt)
11304	c.urlParams_.Set("prettyPrint", "false")
11305	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
11306	urls += "?" + c.urlParams_.Encode()
11307	req, err := http.NewRequest("PUT", urls, body)
11308	if err != nil {
11309		return nil, err
11310	}
11311	req.Header = reqHeaders
11312	googleapi.Expand(req.URL, map[string]string{
11313		"path": c.path,
11314	})
11315	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11316}
11317
11318// Do executes the "tagmanager.accounts.containers.workspaces.tags.update" call.
11319// Exactly one of *Tag or error will be non-nil. Any non-2xx status code
11320// is an error. Response headers are in either
11321// *Tag.ServerResponse.Header or (if a response was returned at all) in
11322// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
11323// whether the returned error was because http.StatusNotModified was
11324// returned.
11325func (c *AccountsContainersWorkspacesTagsUpdateCall) Do(opts ...googleapi.CallOption) (*Tag, error) {
11326	gensupport.SetOptions(c.urlParams_, opts...)
11327	res, err := c.doRequest("json")
11328	if res != nil && res.StatusCode == http.StatusNotModified {
11329		if res.Body != nil {
11330			res.Body.Close()
11331		}
11332		return nil, &googleapi.Error{
11333			Code:   res.StatusCode,
11334			Header: res.Header,
11335		}
11336	}
11337	if err != nil {
11338		return nil, err
11339	}
11340	defer googleapi.CloseBody(res)
11341	if err := googleapi.CheckResponse(res); err != nil {
11342		return nil, err
11343	}
11344	ret := &Tag{
11345		ServerResponse: googleapi.ServerResponse{
11346			Header:         res.Header,
11347			HTTPStatusCode: res.StatusCode,
11348		},
11349	}
11350	target := &ret
11351	if err := gensupport.DecodeResponse(target, res); err != nil {
11352		return nil, err
11353	}
11354	return ret, nil
11355	// {
11356	//   "description": "Updates a GTM Tag.",
11357	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/tags/{tagsId}",
11358	//   "httpMethod": "PUT",
11359	//   "id": "tagmanager.accounts.containers.workspaces.tags.update",
11360	//   "parameterOrder": [
11361	//     "path"
11362	//   ],
11363	//   "parameters": {
11364	//     "fingerprint": {
11365	//       "description": "When provided, this fingerprint must match the fingerprint of the tag in\nstorage.",
11366	//       "location": "query",
11367	//       "type": "string"
11368	//     },
11369	//     "path": {
11370	//       "description": "GTM Tag's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/tags/{tag_id}",
11371	//       "location": "path",
11372	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/tags/[^/]+$",
11373	//       "required": true,
11374	//       "type": "string"
11375	//     }
11376	//   },
11377	//   "path": "tagmanager/v2/{+path}",
11378	//   "request": {
11379	//     "$ref": "Tag"
11380	//   },
11381	//   "response": {
11382	//     "$ref": "Tag"
11383	//   },
11384	//   "scopes": [
11385	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
11386	//   ]
11387	// }
11388
11389}
11390
11391// method id "tagmanager.accounts.containers.workspaces.templates.create":
11392
11393type AccountsContainersWorkspacesTemplatesCreateCall struct {
11394	s              *Service
11395	parent         string
11396	customtemplate *CustomTemplate
11397	urlParams_     gensupport.URLParams
11398	ctx_           context.Context
11399	header_        http.Header
11400}
11401
11402// Create: Creates a GTM Custom Template.
11403func (r *AccountsContainersWorkspacesTemplatesService) Create(parent string, customtemplate *CustomTemplate) *AccountsContainersWorkspacesTemplatesCreateCall {
11404	c := &AccountsContainersWorkspacesTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11405	c.parent = parent
11406	c.customtemplate = customtemplate
11407	return c
11408}
11409
11410// Fields allows partial responses to be retrieved. See
11411// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11412// for more information.
11413func (c *AccountsContainersWorkspacesTemplatesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesCreateCall {
11414	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11415	return c
11416}
11417
11418// Context sets the context to be used in this call's Do method. Any
11419// pending HTTP request will be aborted if the provided context is
11420// canceled.
11421func (c *AccountsContainersWorkspacesTemplatesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesCreateCall {
11422	c.ctx_ = ctx
11423	return c
11424}
11425
11426// Header returns an http.Header that can be modified by the caller to
11427// add HTTP headers to the request.
11428func (c *AccountsContainersWorkspacesTemplatesCreateCall) Header() http.Header {
11429	if c.header_ == nil {
11430		c.header_ = make(http.Header)
11431	}
11432	return c.header_
11433}
11434
11435func (c *AccountsContainersWorkspacesTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
11436	reqHeaders := make(http.Header)
11437	for k, v := range c.header_ {
11438		reqHeaders[k] = v
11439	}
11440	reqHeaders.Set("User-Agent", c.s.userAgent())
11441	var body io.Reader = nil
11442	body, err := googleapi.WithoutDataWrapper.JSONReader(c.customtemplate)
11443	if err != nil {
11444		return nil, err
11445	}
11446	reqHeaders.Set("Content-Type", "application/json")
11447	c.urlParams_.Set("alt", alt)
11448	c.urlParams_.Set("prettyPrint", "false")
11449	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/templates")
11450	urls += "?" + c.urlParams_.Encode()
11451	req, err := http.NewRequest("POST", urls, body)
11452	if err != nil {
11453		return nil, err
11454	}
11455	req.Header = reqHeaders
11456	googleapi.Expand(req.URL, map[string]string{
11457		"parent": c.parent,
11458	})
11459	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11460}
11461
11462// Do executes the "tagmanager.accounts.containers.workspaces.templates.create" call.
11463// Exactly one of *CustomTemplate or error will be non-nil. Any non-2xx
11464// status code is an error. Response headers are in either
11465// *CustomTemplate.ServerResponse.Header or (if a response was returned
11466// at all) in error.(*googleapi.Error).Header. Use
11467// googleapi.IsNotModified to check whether the returned error was
11468// because http.StatusNotModified was returned.
11469func (c *AccountsContainersWorkspacesTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*CustomTemplate, error) {
11470	gensupport.SetOptions(c.urlParams_, opts...)
11471	res, err := c.doRequest("json")
11472	if res != nil && res.StatusCode == http.StatusNotModified {
11473		if res.Body != nil {
11474			res.Body.Close()
11475		}
11476		return nil, &googleapi.Error{
11477			Code:   res.StatusCode,
11478			Header: res.Header,
11479		}
11480	}
11481	if err != nil {
11482		return nil, err
11483	}
11484	defer googleapi.CloseBody(res)
11485	if err := googleapi.CheckResponse(res); err != nil {
11486		return nil, err
11487	}
11488	ret := &CustomTemplate{
11489		ServerResponse: googleapi.ServerResponse{
11490			Header:         res.Header,
11491			HTTPStatusCode: res.StatusCode,
11492		},
11493	}
11494	target := &ret
11495	if err := gensupport.DecodeResponse(target, res); err != nil {
11496		return nil, err
11497	}
11498	return ret, nil
11499	// {
11500	//   "description": "Creates a GTM Custom Template.",
11501	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates",
11502	//   "httpMethod": "POST",
11503	//   "id": "tagmanager.accounts.containers.workspaces.templates.create",
11504	//   "parameterOrder": [
11505	//     "parent"
11506	//   ],
11507	//   "parameters": {
11508	//     "parent": {
11509	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
11510	//       "location": "path",
11511	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
11512	//       "required": true,
11513	//       "type": "string"
11514	//     }
11515	//   },
11516	//   "path": "tagmanager/v2/{+parent}/templates",
11517	//   "request": {
11518	//     "$ref": "CustomTemplate"
11519	//   },
11520	//   "response": {
11521	//     "$ref": "CustomTemplate"
11522	//   },
11523	//   "scopes": [
11524	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
11525	//   ]
11526	// }
11527
11528}
11529
11530// method id "tagmanager.accounts.containers.workspaces.templates.delete":
11531
11532type AccountsContainersWorkspacesTemplatesDeleteCall struct {
11533	s          *Service
11534	path       string
11535	urlParams_ gensupport.URLParams
11536	ctx_       context.Context
11537	header_    http.Header
11538}
11539
11540// Delete: Deletes a GTM Template.
11541func (r *AccountsContainersWorkspacesTemplatesService) Delete(path string) *AccountsContainersWorkspacesTemplatesDeleteCall {
11542	c := &AccountsContainersWorkspacesTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11543	c.path = path
11544	return c
11545}
11546
11547// Fields allows partial responses to be retrieved. See
11548// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11549// for more information.
11550func (c *AccountsContainersWorkspacesTemplatesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesDeleteCall {
11551	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11552	return c
11553}
11554
11555// Context sets the context to be used in this call's Do method. Any
11556// pending HTTP request will be aborted if the provided context is
11557// canceled.
11558func (c *AccountsContainersWorkspacesTemplatesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesDeleteCall {
11559	c.ctx_ = ctx
11560	return c
11561}
11562
11563// Header returns an http.Header that can be modified by the caller to
11564// add HTTP headers to the request.
11565func (c *AccountsContainersWorkspacesTemplatesDeleteCall) Header() http.Header {
11566	if c.header_ == nil {
11567		c.header_ = make(http.Header)
11568	}
11569	return c.header_
11570}
11571
11572func (c *AccountsContainersWorkspacesTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
11573	reqHeaders := make(http.Header)
11574	for k, v := range c.header_ {
11575		reqHeaders[k] = v
11576	}
11577	reqHeaders.Set("User-Agent", c.s.userAgent())
11578	var body io.Reader = nil
11579	c.urlParams_.Set("alt", alt)
11580	c.urlParams_.Set("prettyPrint", "false")
11581	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
11582	urls += "?" + c.urlParams_.Encode()
11583	req, err := http.NewRequest("DELETE", urls, body)
11584	if err != nil {
11585		return nil, err
11586	}
11587	req.Header = reqHeaders
11588	googleapi.Expand(req.URL, map[string]string{
11589		"path": c.path,
11590	})
11591	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11592}
11593
11594// Do executes the "tagmanager.accounts.containers.workspaces.templates.delete" call.
11595func (c *AccountsContainersWorkspacesTemplatesDeleteCall) Do(opts ...googleapi.CallOption) error {
11596	gensupport.SetOptions(c.urlParams_, opts...)
11597	res, err := c.doRequest("json")
11598	if err != nil {
11599		return err
11600	}
11601	defer googleapi.CloseBody(res)
11602	if err := googleapi.CheckResponse(res); err != nil {
11603		return err
11604	}
11605	return nil
11606	// {
11607	//   "description": "Deletes a GTM Template.",
11608	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}",
11609	//   "httpMethod": "DELETE",
11610	//   "id": "tagmanager.accounts.containers.workspaces.templates.delete",
11611	//   "parameterOrder": [
11612	//     "path"
11613	//   ],
11614	//   "parameters": {
11615	//     "path": {
11616	//       "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
11617	//       "location": "path",
11618	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
11619	//       "required": true,
11620	//       "type": "string"
11621	//     }
11622	//   },
11623	//   "path": "tagmanager/v2/{+path}",
11624	//   "scopes": [
11625	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
11626	//   ]
11627	// }
11628
11629}
11630
11631// method id "tagmanager.accounts.containers.workspaces.templates.get":
11632
11633type AccountsContainersWorkspacesTemplatesGetCall struct {
11634	s            *Service
11635	path         string
11636	urlParams_   gensupport.URLParams
11637	ifNoneMatch_ string
11638	ctx_         context.Context
11639	header_      http.Header
11640}
11641
11642// Get: Gets a GTM Template.
11643func (r *AccountsContainersWorkspacesTemplatesService) Get(path string) *AccountsContainersWorkspacesTemplatesGetCall {
11644	c := &AccountsContainersWorkspacesTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11645	c.path = path
11646	return c
11647}
11648
11649// Fields allows partial responses to be retrieved. See
11650// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11651// for more information.
11652func (c *AccountsContainersWorkspacesTemplatesGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesGetCall {
11653	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11654	return c
11655}
11656
11657// IfNoneMatch sets the optional parameter which makes the operation
11658// fail if the object's ETag matches the given value. This is useful for
11659// getting updates only after the object has changed since the last
11660// request. Use googleapi.IsNotModified to check whether the response
11661// error from Do is the result of In-None-Match.
11662func (c *AccountsContainersWorkspacesTemplatesGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTemplatesGetCall {
11663	c.ifNoneMatch_ = entityTag
11664	return c
11665}
11666
11667// Context sets the context to be used in this call's Do method. Any
11668// pending HTTP request will be aborted if the provided context is
11669// canceled.
11670func (c *AccountsContainersWorkspacesTemplatesGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesGetCall {
11671	c.ctx_ = ctx
11672	return c
11673}
11674
11675// Header returns an http.Header that can be modified by the caller to
11676// add HTTP headers to the request.
11677func (c *AccountsContainersWorkspacesTemplatesGetCall) Header() http.Header {
11678	if c.header_ == nil {
11679		c.header_ = make(http.Header)
11680	}
11681	return c.header_
11682}
11683
11684func (c *AccountsContainersWorkspacesTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
11685	reqHeaders := make(http.Header)
11686	for k, v := range c.header_ {
11687		reqHeaders[k] = v
11688	}
11689	reqHeaders.Set("User-Agent", c.s.userAgent())
11690	if c.ifNoneMatch_ != "" {
11691		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11692	}
11693	var body io.Reader = nil
11694	c.urlParams_.Set("alt", alt)
11695	c.urlParams_.Set("prettyPrint", "false")
11696	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
11697	urls += "?" + c.urlParams_.Encode()
11698	req, err := http.NewRequest("GET", urls, body)
11699	if err != nil {
11700		return nil, err
11701	}
11702	req.Header = reqHeaders
11703	googleapi.Expand(req.URL, map[string]string{
11704		"path": c.path,
11705	})
11706	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11707}
11708
11709// Do executes the "tagmanager.accounts.containers.workspaces.templates.get" call.
11710// Exactly one of *CustomTemplate or error will be non-nil. Any non-2xx
11711// status code is an error. Response headers are in either
11712// *CustomTemplate.ServerResponse.Header or (if a response was returned
11713// at all) in error.(*googleapi.Error).Header. Use
11714// googleapi.IsNotModified to check whether the returned error was
11715// because http.StatusNotModified was returned.
11716func (c *AccountsContainersWorkspacesTemplatesGetCall) Do(opts ...googleapi.CallOption) (*CustomTemplate, error) {
11717	gensupport.SetOptions(c.urlParams_, opts...)
11718	res, err := c.doRequest("json")
11719	if res != nil && res.StatusCode == http.StatusNotModified {
11720		if res.Body != nil {
11721			res.Body.Close()
11722		}
11723		return nil, &googleapi.Error{
11724			Code:   res.StatusCode,
11725			Header: res.Header,
11726		}
11727	}
11728	if err != nil {
11729		return nil, err
11730	}
11731	defer googleapi.CloseBody(res)
11732	if err := googleapi.CheckResponse(res); err != nil {
11733		return nil, err
11734	}
11735	ret := &CustomTemplate{
11736		ServerResponse: googleapi.ServerResponse{
11737			Header:         res.Header,
11738			HTTPStatusCode: res.StatusCode,
11739		},
11740	}
11741	target := &ret
11742	if err := gensupport.DecodeResponse(target, res); err != nil {
11743		return nil, err
11744	}
11745	return ret, nil
11746	// {
11747	//   "description": "Gets a GTM Template.",
11748	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}",
11749	//   "httpMethod": "GET",
11750	//   "id": "tagmanager.accounts.containers.workspaces.templates.get",
11751	//   "parameterOrder": [
11752	//     "path"
11753	//   ],
11754	//   "parameters": {
11755	//     "path": {
11756	//       "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
11757	//       "location": "path",
11758	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
11759	//       "required": true,
11760	//       "type": "string"
11761	//     }
11762	//   },
11763	//   "path": "tagmanager/v2/{+path}",
11764	//   "response": {
11765	//     "$ref": "CustomTemplate"
11766	//   },
11767	//   "scopes": [
11768	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
11769	//     "https://www.googleapis.com/auth/tagmanager.readonly"
11770	//   ]
11771	// }
11772
11773}
11774
11775// method id "tagmanager.accounts.containers.workspaces.templates.list":
11776
11777type AccountsContainersWorkspacesTemplatesListCall struct {
11778	s            *Service
11779	parent       string
11780	urlParams_   gensupport.URLParams
11781	ifNoneMatch_ string
11782	ctx_         context.Context
11783	header_      http.Header
11784}
11785
11786// List: Lists all GTM Templates of a GTM container workspace.
11787func (r *AccountsContainersWorkspacesTemplatesService) List(parent string) *AccountsContainersWorkspacesTemplatesListCall {
11788	c := &AccountsContainersWorkspacesTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11789	c.parent = parent
11790	return c
11791}
11792
11793// PageToken sets the optional parameter "pageToken": Continuation token
11794// for fetching the next page of results.
11795func (c *AccountsContainersWorkspacesTemplatesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesTemplatesListCall {
11796	c.urlParams_.Set("pageToken", pageToken)
11797	return c
11798}
11799
11800// Fields allows partial responses to be retrieved. See
11801// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11802// for more information.
11803func (c *AccountsContainersWorkspacesTemplatesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesListCall {
11804	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11805	return c
11806}
11807
11808// IfNoneMatch sets the optional parameter which makes the operation
11809// fail if the object's ETag matches the given value. This is useful for
11810// getting updates only after the object has changed since the last
11811// request. Use googleapi.IsNotModified to check whether the response
11812// error from Do is the result of In-None-Match.
11813func (c *AccountsContainersWorkspacesTemplatesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTemplatesListCall {
11814	c.ifNoneMatch_ = entityTag
11815	return c
11816}
11817
11818// Context sets the context to be used in this call's Do method. Any
11819// pending HTTP request will be aborted if the provided context is
11820// canceled.
11821func (c *AccountsContainersWorkspacesTemplatesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesListCall {
11822	c.ctx_ = ctx
11823	return c
11824}
11825
11826// Header returns an http.Header that can be modified by the caller to
11827// add HTTP headers to the request.
11828func (c *AccountsContainersWorkspacesTemplatesListCall) Header() http.Header {
11829	if c.header_ == nil {
11830		c.header_ = make(http.Header)
11831	}
11832	return c.header_
11833}
11834
11835func (c *AccountsContainersWorkspacesTemplatesListCall) doRequest(alt string) (*http.Response, error) {
11836	reqHeaders := make(http.Header)
11837	for k, v := range c.header_ {
11838		reqHeaders[k] = v
11839	}
11840	reqHeaders.Set("User-Agent", c.s.userAgent())
11841	if c.ifNoneMatch_ != "" {
11842		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11843	}
11844	var body io.Reader = nil
11845	c.urlParams_.Set("alt", alt)
11846	c.urlParams_.Set("prettyPrint", "false")
11847	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/templates")
11848	urls += "?" + c.urlParams_.Encode()
11849	req, err := http.NewRequest("GET", urls, body)
11850	if err != nil {
11851		return nil, err
11852	}
11853	req.Header = reqHeaders
11854	googleapi.Expand(req.URL, map[string]string{
11855		"parent": c.parent,
11856	})
11857	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11858}
11859
11860// Do executes the "tagmanager.accounts.containers.workspaces.templates.list" call.
11861// Exactly one of *ListTemplatesResponse or error will be non-nil. Any
11862// non-2xx status code is an error. Response headers are in either
11863// *ListTemplatesResponse.ServerResponse.Header or (if a response was
11864// returned at all) in error.(*googleapi.Error).Header. Use
11865// googleapi.IsNotModified to check whether the returned error was
11866// because http.StatusNotModified was returned.
11867func (c *AccountsContainersWorkspacesTemplatesListCall) Do(opts ...googleapi.CallOption) (*ListTemplatesResponse, error) {
11868	gensupport.SetOptions(c.urlParams_, opts...)
11869	res, err := c.doRequest("json")
11870	if res != nil && res.StatusCode == http.StatusNotModified {
11871		if res.Body != nil {
11872			res.Body.Close()
11873		}
11874		return nil, &googleapi.Error{
11875			Code:   res.StatusCode,
11876			Header: res.Header,
11877		}
11878	}
11879	if err != nil {
11880		return nil, err
11881	}
11882	defer googleapi.CloseBody(res)
11883	if err := googleapi.CheckResponse(res); err != nil {
11884		return nil, err
11885	}
11886	ret := &ListTemplatesResponse{
11887		ServerResponse: googleapi.ServerResponse{
11888			Header:         res.Header,
11889			HTTPStatusCode: res.StatusCode,
11890		},
11891	}
11892	target := &ret
11893	if err := gensupport.DecodeResponse(target, res); err != nil {
11894		return nil, err
11895	}
11896	return ret, nil
11897	// {
11898	//   "description": "Lists all GTM Templates of a GTM container workspace.",
11899	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates",
11900	//   "httpMethod": "GET",
11901	//   "id": "tagmanager.accounts.containers.workspaces.templates.list",
11902	//   "parameterOrder": [
11903	//     "parent"
11904	//   ],
11905	//   "parameters": {
11906	//     "pageToken": {
11907	//       "description": "Continuation token for fetching the next page of results.",
11908	//       "location": "query",
11909	//       "type": "string"
11910	//     },
11911	//     "parent": {
11912	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
11913	//       "location": "path",
11914	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
11915	//       "required": true,
11916	//       "type": "string"
11917	//     }
11918	//   },
11919	//   "path": "tagmanager/v2/{+parent}/templates",
11920	//   "response": {
11921	//     "$ref": "ListTemplatesResponse"
11922	//   },
11923	//   "scopes": [
11924	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
11925	//     "https://www.googleapis.com/auth/tagmanager.readonly"
11926	//   ]
11927	// }
11928
11929}
11930
11931// Pages invokes f for each page of results.
11932// A non-nil error returned from f will halt the iteration.
11933// The provided context supersedes any context provided to the Context method.
11934func (c *AccountsContainersWorkspacesTemplatesListCall) Pages(ctx context.Context, f func(*ListTemplatesResponse) error) error {
11935	c.ctx_ = ctx
11936	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
11937	for {
11938		x, err := c.Do()
11939		if err != nil {
11940			return err
11941		}
11942		if err := f(x); err != nil {
11943			return err
11944		}
11945		if x.NextPageToken == "" {
11946			return nil
11947		}
11948		c.PageToken(x.NextPageToken)
11949	}
11950}
11951
11952// method id "tagmanager.accounts.containers.workspaces.templates.revert":
11953
11954type AccountsContainersWorkspacesTemplatesRevertCall struct {
11955	s          *Service
11956	path       string
11957	urlParams_ gensupport.URLParams
11958	ctx_       context.Context
11959	header_    http.Header
11960}
11961
11962// Revert: Reverts changes to a GTM Template in a GTM Workspace.
11963func (r *AccountsContainersWorkspacesTemplatesService) Revert(path string) *AccountsContainersWorkspacesTemplatesRevertCall {
11964	c := &AccountsContainersWorkspacesTemplatesRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11965	c.path = path
11966	return c
11967}
11968
11969// Fingerprint sets the optional parameter "fingerprint": When provided,
11970// this fingerprint must match the fingerprint of the template
11971// in storage.
11972func (c *AccountsContainersWorkspacesTemplatesRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTemplatesRevertCall {
11973	c.urlParams_.Set("fingerprint", fingerprint)
11974	return c
11975}
11976
11977// Fields allows partial responses to be retrieved. See
11978// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11979// for more information.
11980func (c *AccountsContainersWorkspacesTemplatesRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesRevertCall {
11981	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11982	return c
11983}
11984
11985// Context sets the context to be used in this call's Do method. Any
11986// pending HTTP request will be aborted if the provided context is
11987// canceled.
11988func (c *AccountsContainersWorkspacesTemplatesRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesRevertCall {
11989	c.ctx_ = ctx
11990	return c
11991}
11992
11993// Header returns an http.Header that can be modified by the caller to
11994// add HTTP headers to the request.
11995func (c *AccountsContainersWorkspacesTemplatesRevertCall) Header() http.Header {
11996	if c.header_ == nil {
11997		c.header_ = make(http.Header)
11998	}
11999	return c.header_
12000}
12001
12002func (c *AccountsContainersWorkspacesTemplatesRevertCall) doRequest(alt string) (*http.Response, error) {
12003	reqHeaders := make(http.Header)
12004	for k, v := range c.header_ {
12005		reqHeaders[k] = v
12006	}
12007	reqHeaders.Set("User-Agent", c.s.userAgent())
12008	var body io.Reader = nil
12009	c.urlParams_.Set("alt", alt)
12010	c.urlParams_.Set("prettyPrint", "false")
12011	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
12012	urls += "?" + c.urlParams_.Encode()
12013	req, err := http.NewRequest("POST", urls, body)
12014	if err != nil {
12015		return nil, err
12016	}
12017	req.Header = reqHeaders
12018	googleapi.Expand(req.URL, map[string]string{
12019		"path": c.path,
12020	})
12021	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12022}
12023
12024// Do executes the "tagmanager.accounts.containers.workspaces.templates.revert" call.
12025// Exactly one of *RevertTemplateResponse or error will be non-nil. Any
12026// non-2xx status code is an error. Response headers are in either
12027// *RevertTemplateResponse.ServerResponse.Header or (if a response was
12028// returned at all) in error.(*googleapi.Error).Header. Use
12029// googleapi.IsNotModified to check whether the returned error was
12030// because http.StatusNotModified was returned.
12031func (c *AccountsContainersWorkspacesTemplatesRevertCall) Do(opts ...googleapi.CallOption) (*RevertTemplateResponse, error) {
12032	gensupport.SetOptions(c.urlParams_, opts...)
12033	res, err := c.doRequest("json")
12034	if res != nil && res.StatusCode == http.StatusNotModified {
12035		if res.Body != nil {
12036			res.Body.Close()
12037		}
12038		return nil, &googleapi.Error{
12039			Code:   res.StatusCode,
12040			Header: res.Header,
12041		}
12042	}
12043	if err != nil {
12044		return nil, err
12045	}
12046	defer googleapi.CloseBody(res)
12047	if err := googleapi.CheckResponse(res); err != nil {
12048		return nil, err
12049	}
12050	ret := &RevertTemplateResponse{
12051		ServerResponse: googleapi.ServerResponse{
12052			Header:         res.Header,
12053			HTTPStatusCode: res.StatusCode,
12054		},
12055	}
12056	target := &ret
12057	if err := gensupport.DecodeResponse(target, res); err != nil {
12058		return nil, err
12059	}
12060	return ret, nil
12061	// {
12062	//   "description": "Reverts changes to a GTM Template in a GTM Workspace.",
12063	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}:revert",
12064	//   "httpMethod": "POST",
12065	//   "id": "tagmanager.accounts.containers.workspaces.templates.revert",
12066	//   "parameterOrder": [
12067	//     "path"
12068	//   ],
12069	//   "parameters": {
12070	//     "fingerprint": {
12071	//       "description": "When provided, this fingerprint must match the fingerprint of the template\nin storage.",
12072	//       "location": "query",
12073	//       "type": "string"
12074	//     },
12075	//     "path": {
12076	//       "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
12077	//       "location": "path",
12078	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
12079	//       "required": true,
12080	//       "type": "string"
12081	//     }
12082	//   },
12083	//   "path": "tagmanager/v2/{+path}:revert",
12084	//   "response": {
12085	//     "$ref": "RevertTemplateResponse"
12086	//   },
12087	//   "scopes": [
12088	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
12089	//   ]
12090	// }
12091
12092}
12093
12094// method id "tagmanager.accounts.containers.workspaces.templates.update":
12095
12096type AccountsContainersWorkspacesTemplatesUpdateCall struct {
12097	s              *Service
12098	path           string
12099	customtemplate *CustomTemplate
12100	urlParams_     gensupport.URLParams
12101	ctx_           context.Context
12102	header_        http.Header
12103}
12104
12105// Update: Updates a GTM Template.
12106func (r *AccountsContainersWorkspacesTemplatesService) Update(path string, customtemplate *CustomTemplate) *AccountsContainersWorkspacesTemplatesUpdateCall {
12107	c := &AccountsContainersWorkspacesTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12108	c.path = path
12109	c.customtemplate = customtemplate
12110	return c
12111}
12112
12113// Fingerprint sets the optional parameter "fingerprint": When provided,
12114// this fingerprint must match the fingerprint of the templates
12115// in storage.
12116func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTemplatesUpdateCall {
12117	c.urlParams_.Set("fingerprint", fingerprint)
12118	return c
12119}
12120
12121// Fields allows partial responses to be retrieved. See
12122// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12123// for more information.
12124func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesUpdateCall {
12125	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12126	return c
12127}
12128
12129// Context sets the context to be used in this call's Do method. Any
12130// pending HTTP request will be aborted if the provided context is
12131// canceled.
12132func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesUpdateCall {
12133	c.ctx_ = ctx
12134	return c
12135}
12136
12137// Header returns an http.Header that can be modified by the caller to
12138// add HTTP headers to the request.
12139func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Header() http.Header {
12140	if c.header_ == nil {
12141		c.header_ = make(http.Header)
12142	}
12143	return c.header_
12144}
12145
12146func (c *AccountsContainersWorkspacesTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
12147	reqHeaders := make(http.Header)
12148	for k, v := range c.header_ {
12149		reqHeaders[k] = v
12150	}
12151	reqHeaders.Set("User-Agent", c.s.userAgent())
12152	var body io.Reader = nil
12153	body, err := googleapi.WithoutDataWrapper.JSONReader(c.customtemplate)
12154	if err != nil {
12155		return nil, err
12156	}
12157	reqHeaders.Set("Content-Type", "application/json")
12158	c.urlParams_.Set("alt", alt)
12159	c.urlParams_.Set("prettyPrint", "false")
12160	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
12161	urls += "?" + c.urlParams_.Encode()
12162	req, err := http.NewRequest("PUT", urls, body)
12163	if err != nil {
12164		return nil, err
12165	}
12166	req.Header = reqHeaders
12167	googleapi.Expand(req.URL, map[string]string{
12168		"path": c.path,
12169	})
12170	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12171}
12172
12173// Do executes the "tagmanager.accounts.containers.workspaces.templates.update" call.
12174// Exactly one of *CustomTemplate or error will be non-nil. Any non-2xx
12175// status code is an error. Response headers are in either
12176// *CustomTemplate.ServerResponse.Header or (if a response was returned
12177// at all) in error.(*googleapi.Error).Header. Use
12178// googleapi.IsNotModified to check whether the returned error was
12179// because http.StatusNotModified was returned.
12180func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*CustomTemplate, error) {
12181	gensupport.SetOptions(c.urlParams_, opts...)
12182	res, err := c.doRequest("json")
12183	if res != nil && res.StatusCode == http.StatusNotModified {
12184		if res.Body != nil {
12185			res.Body.Close()
12186		}
12187		return nil, &googleapi.Error{
12188			Code:   res.StatusCode,
12189			Header: res.Header,
12190		}
12191	}
12192	if err != nil {
12193		return nil, err
12194	}
12195	defer googleapi.CloseBody(res)
12196	if err := googleapi.CheckResponse(res); err != nil {
12197		return nil, err
12198	}
12199	ret := &CustomTemplate{
12200		ServerResponse: googleapi.ServerResponse{
12201			Header:         res.Header,
12202			HTTPStatusCode: res.StatusCode,
12203		},
12204	}
12205	target := &ret
12206	if err := gensupport.DecodeResponse(target, res); err != nil {
12207		return nil, err
12208	}
12209	return ret, nil
12210	// {
12211	//   "description": "Updates a GTM Template.",
12212	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/templates/{templatesId}",
12213	//   "httpMethod": "PUT",
12214	//   "id": "tagmanager.accounts.containers.workspaces.templates.update",
12215	//   "parameterOrder": [
12216	//     "path"
12217	//   ],
12218	//   "parameters": {
12219	//     "fingerprint": {
12220	//       "description": "When provided, this fingerprint must match the fingerprint of the templates\nin storage.",
12221	//       "location": "query",
12222	//       "type": "string"
12223	//     },
12224	//     "path": {
12225	//       "description": "GTM Custom Template's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/templates/{template_id}",
12226	//       "location": "path",
12227	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/templates/[^/]+$",
12228	//       "required": true,
12229	//       "type": "string"
12230	//     }
12231	//   },
12232	//   "path": "tagmanager/v2/{+path}",
12233	//   "request": {
12234	//     "$ref": "CustomTemplate"
12235	//   },
12236	//   "response": {
12237	//     "$ref": "CustomTemplate"
12238	//   },
12239	//   "scopes": [
12240	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
12241	//   ]
12242	// }
12243
12244}
12245
12246// method id "tagmanager.accounts.containers.workspaces.triggers.create":
12247
12248type AccountsContainersWorkspacesTriggersCreateCall struct {
12249	s          *Service
12250	parent     string
12251	trigger    *Trigger
12252	urlParams_ gensupport.URLParams
12253	ctx_       context.Context
12254	header_    http.Header
12255}
12256
12257// Create: Creates a GTM Trigger.
12258func (r *AccountsContainersWorkspacesTriggersService) Create(parent string, trigger *Trigger) *AccountsContainersWorkspacesTriggersCreateCall {
12259	c := &AccountsContainersWorkspacesTriggersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12260	c.parent = parent
12261	c.trigger = trigger
12262	return c
12263}
12264
12265// Fields allows partial responses to be retrieved. See
12266// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12267// for more information.
12268func (c *AccountsContainersWorkspacesTriggersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersCreateCall {
12269	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12270	return c
12271}
12272
12273// Context sets the context to be used in this call's Do method. Any
12274// pending HTTP request will be aborted if the provided context is
12275// canceled.
12276func (c *AccountsContainersWorkspacesTriggersCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersCreateCall {
12277	c.ctx_ = ctx
12278	return c
12279}
12280
12281// Header returns an http.Header that can be modified by the caller to
12282// add HTTP headers to the request.
12283func (c *AccountsContainersWorkspacesTriggersCreateCall) Header() http.Header {
12284	if c.header_ == nil {
12285		c.header_ = make(http.Header)
12286	}
12287	return c.header_
12288}
12289
12290func (c *AccountsContainersWorkspacesTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
12291	reqHeaders := make(http.Header)
12292	for k, v := range c.header_ {
12293		reqHeaders[k] = v
12294	}
12295	reqHeaders.Set("User-Agent", c.s.userAgent())
12296	var body io.Reader = nil
12297	body, err := googleapi.WithoutDataWrapper.JSONReader(c.trigger)
12298	if err != nil {
12299		return nil, err
12300	}
12301	reqHeaders.Set("Content-Type", "application/json")
12302	c.urlParams_.Set("alt", alt)
12303	c.urlParams_.Set("prettyPrint", "false")
12304	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/triggers")
12305	urls += "?" + c.urlParams_.Encode()
12306	req, err := http.NewRequest("POST", urls, body)
12307	if err != nil {
12308		return nil, err
12309	}
12310	req.Header = reqHeaders
12311	googleapi.Expand(req.URL, map[string]string{
12312		"parent": c.parent,
12313	})
12314	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12315}
12316
12317// Do executes the "tagmanager.accounts.containers.workspaces.triggers.create" call.
12318// Exactly one of *Trigger or error will be non-nil. Any non-2xx status
12319// code is an error. Response headers are in either
12320// *Trigger.ServerResponse.Header or (if a response was returned at all)
12321// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12322// check whether the returned error was because http.StatusNotModified
12323// was returned.
12324func (c *AccountsContainersWorkspacesTriggersCreateCall) Do(opts ...googleapi.CallOption) (*Trigger, error) {
12325	gensupport.SetOptions(c.urlParams_, opts...)
12326	res, err := c.doRequest("json")
12327	if res != nil && res.StatusCode == http.StatusNotModified {
12328		if res.Body != nil {
12329			res.Body.Close()
12330		}
12331		return nil, &googleapi.Error{
12332			Code:   res.StatusCode,
12333			Header: res.Header,
12334		}
12335	}
12336	if err != nil {
12337		return nil, err
12338	}
12339	defer googleapi.CloseBody(res)
12340	if err := googleapi.CheckResponse(res); err != nil {
12341		return nil, err
12342	}
12343	ret := &Trigger{
12344		ServerResponse: googleapi.ServerResponse{
12345			Header:         res.Header,
12346			HTTPStatusCode: res.StatusCode,
12347		},
12348	}
12349	target := &ret
12350	if err := gensupport.DecodeResponse(target, res); err != nil {
12351		return nil, err
12352	}
12353	return ret, nil
12354	// {
12355	//   "description": "Creates a GTM Trigger.",
12356	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers",
12357	//   "httpMethod": "POST",
12358	//   "id": "tagmanager.accounts.containers.workspaces.triggers.create",
12359	//   "parameterOrder": [
12360	//     "parent"
12361	//   ],
12362	//   "parameters": {
12363	//     "parent": {
12364	//       "description": "GTM Workspaces's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
12365	//       "location": "path",
12366	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
12367	//       "required": true,
12368	//       "type": "string"
12369	//     }
12370	//   },
12371	//   "path": "tagmanager/v2/{+parent}/triggers",
12372	//   "request": {
12373	//     "$ref": "Trigger"
12374	//   },
12375	//   "response": {
12376	//     "$ref": "Trigger"
12377	//   },
12378	//   "scopes": [
12379	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
12380	//   ]
12381	// }
12382
12383}
12384
12385// method id "tagmanager.accounts.containers.workspaces.triggers.delete":
12386
12387type AccountsContainersWorkspacesTriggersDeleteCall struct {
12388	s          *Service
12389	path       string
12390	urlParams_ gensupport.URLParams
12391	ctx_       context.Context
12392	header_    http.Header
12393}
12394
12395// Delete: Deletes a GTM Trigger.
12396func (r *AccountsContainersWorkspacesTriggersService) Delete(path string) *AccountsContainersWorkspacesTriggersDeleteCall {
12397	c := &AccountsContainersWorkspacesTriggersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12398	c.path = path
12399	return c
12400}
12401
12402// Fields allows partial responses to be retrieved. See
12403// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12404// for more information.
12405func (c *AccountsContainersWorkspacesTriggersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersDeleteCall {
12406	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12407	return c
12408}
12409
12410// Context sets the context to be used in this call's Do method. Any
12411// pending HTTP request will be aborted if the provided context is
12412// canceled.
12413func (c *AccountsContainersWorkspacesTriggersDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersDeleteCall {
12414	c.ctx_ = ctx
12415	return c
12416}
12417
12418// Header returns an http.Header that can be modified by the caller to
12419// add HTTP headers to the request.
12420func (c *AccountsContainersWorkspacesTriggersDeleteCall) Header() http.Header {
12421	if c.header_ == nil {
12422		c.header_ = make(http.Header)
12423	}
12424	return c.header_
12425}
12426
12427func (c *AccountsContainersWorkspacesTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
12428	reqHeaders := make(http.Header)
12429	for k, v := range c.header_ {
12430		reqHeaders[k] = v
12431	}
12432	reqHeaders.Set("User-Agent", c.s.userAgent())
12433	var body io.Reader = nil
12434	c.urlParams_.Set("alt", alt)
12435	c.urlParams_.Set("prettyPrint", "false")
12436	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
12437	urls += "?" + c.urlParams_.Encode()
12438	req, err := http.NewRequest("DELETE", urls, body)
12439	if err != nil {
12440		return nil, err
12441	}
12442	req.Header = reqHeaders
12443	googleapi.Expand(req.URL, map[string]string{
12444		"path": c.path,
12445	})
12446	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12447}
12448
12449// Do executes the "tagmanager.accounts.containers.workspaces.triggers.delete" call.
12450func (c *AccountsContainersWorkspacesTriggersDeleteCall) Do(opts ...googleapi.CallOption) error {
12451	gensupport.SetOptions(c.urlParams_, opts...)
12452	res, err := c.doRequest("json")
12453	if err != nil {
12454		return err
12455	}
12456	defer googleapi.CloseBody(res)
12457	if err := googleapi.CheckResponse(res); err != nil {
12458		return err
12459	}
12460	return nil
12461	// {
12462	//   "description": "Deletes a GTM Trigger.",
12463	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}",
12464	//   "httpMethod": "DELETE",
12465	//   "id": "tagmanager.accounts.containers.workspaces.triggers.delete",
12466	//   "parameterOrder": [
12467	//     "path"
12468	//   ],
12469	//   "parameters": {
12470	//     "path": {
12471	//       "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
12472	//       "location": "path",
12473	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
12474	//       "required": true,
12475	//       "type": "string"
12476	//     }
12477	//   },
12478	//   "path": "tagmanager/v2/{+path}",
12479	//   "scopes": [
12480	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
12481	//   ]
12482	// }
12483
12484}
12485
12486// method id "tagmanager.accounts.containers.workspaces.triggers.get":
12487
12488type AccountsContainersWorkspacesTriggersGetCall struct {
12489	s            *Service
12490	path         string
12491	urlParams_   gensupport.URLParams
12492	ifNoneMatch_ string
12493	ctx_         context.Context
12494	header_      http.Header
12495}
12496
12497// Get: Gets a GTM Trigger.
12498func (r *AccountsContainersWorkspacesTriggersService) Get(path string) *AccountsContainersWorkspacesTriggersGetCall {
12499	c := &AccountsContainersWorkspacesTriggersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12500	c.path = path
12501	return c
12502}
12503
12504// Fields allows partial responses to be retrieved. See
12505// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12506// for more information.
12507func (c *AccountsContainersWorkspacesTriggersGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersGetCall {
12508	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12509	return c
12510}
12511
12512// IfNoneMatch sets the optional parameter which makes the operation
12513// fail if the object's ETag matches the given value. This is useful for
12514// getting updates only after the object has changed since the last
12515// request. Use googleapi.IsNotModified to check whether the response
12516// error from Do is the result of In-None-Match.
12517func (c *AccountsContainersWorkspacesTriggersGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTriggersGetCall {
12518	c.ifNoneMatch_ = entityTag
12519	return c
12520}
12521
12522// Context sets the context to be used in this call's Do method. Any
12523// pending HTTP request will be aborted if the provided context is
12524// canceled.
12525func (c *AccountsContainersWorkspacesTriggersGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersGetCall {
12526	c.ctx_ = ctx
12527	return c
12528}
12529
12530// Header returns an http.Header that can be modified by the caller to
12531// add HTTP headers to the request.
12532func (c *AccountsContainersWorkspacesTriggersGetCall) Header() http.Header {
12533	if c.header_ == nil {
12534		c.header_ = make(http.Header)
12535	}
12536	return c.header_
12537}
12538
12539func (c *AccountsContainersWorkspacesTriggersGetCall) doRequest(alt string) (*http.Response, error) {
12540	reqHeaders := make(http.Header)
12541	for k, v := range c.header_ {
12542		reqHeaders[k] = v
12543	}
12544	reqHeaders.Set("User-Agent", c.s.userAgent())
12545	if c.ifNoneMatch_ != "" {
12546		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12547	}
12548	var body io.Reader = nil
12549	c.urlParams_.Set("alt", alt)
12550	c.urlParams_.Set("prettyPrint", "false")
12551	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
12552	urls += "?" + c.urlParams_.Encode()
12553	req, err := http.NewRequest("GET", urls, body)
12554	if err != nil {
12555		return nil, err
12556	}
12557	req.Header = reqHeaders
12558	googleapi.Expand(req.URL, map[string]string{
12559		"path": c.path,
12560	})
12561	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12562}
12563
12564// Do executes the "tagmanager.accounts.containers.workspaces.triggers.get" call.
12565// Exactly one of *Trigger or error will be non-nil. Any non-2xx status
12566// code is an error. Response headers are in either
12567// *Trigger.ServerResponse.Header or (if a response was returned at all)
12568// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12569// check whether the returned error was because http.StatusNotModified
12570// was returned.
12571func (c *AccountsContainersWorkspacesTriggersGetCall) Do(opts ...googleapi.CallOption) (*Trigger, error) {
12572	gensupport.SetOptions(c.urlParams_, opts...)
12573	res, err := c.doRequest("json")
12574	if res != nil && res.StatusCode == http.StatusNotModified {
12575		if res.Body != nil {
12576			res.Body.Close()
12577		}
12578		return nil, &googleapi.Error{
12579			Code:   res.StatusCode,
12580			Header: res.Header,
12581		}
12582	}
12583	if err != nil {
12584		return nil, err
12585	}
12586	defer googleapi.CloseBody(res)
12587	if err := googleapi.CheckResponse(res); err != nil {
12588		return nil, err
12589	}
12590	ret := &Trigger{
12591		ServerResponse: googleapi.ServerResponse{
12592			Header:         res.Header,
12593			HTTPStatusCode: res.StatusCode,
12594		},
12595	}
12596	target := &ret
12597	if err := gensupport.DecodeResponse(target, res); err != nil {
12598		return nil, err
12599	}
12600	return ret, nil
12601	// {
12602	//   "description": "Gets a GTM Trigger.",
12603	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}",
12604	//   "httpMethod": "GET",
12605	//   "id": "tagmanager.accounts.containers.workspaces.triggers.get",
12606	//   "parameterOrder": [
12607	//     "path"
12608	//   ],
12609	//   "parameters": {
12610	//     "path": {
12611	//       "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
12612	//       "location": "path",
12613	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
12614	//       "required": true,
12615	//       "type": "string"
12616	//     }
12617	//   },
12618	//   "path": "tagmanager/v2/{+path}",
12619	//   "response": {
12620	//     "$ref": "Trigger"
12621	//   },
12622	//   "scopes": [
12623	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
12624	//     "https://www.googleapis.com/auth/tagmanager.readonly"
12625	//   ]
12626	// }
12627
12628}
12629
12630// method id "tagmanager.accounts.containers.workspaces.triggers.list":
12631
12632type AccountsContainersWorkspacesTriggersListCall struct {
12633	s            *Service
12634	parent       string
12635	urlParams_   gensupport.URLParams
12636	ifNoneMatch_ string
12637	ctx_         context.Context
12638	header_      http.Header
12639}
12640
12641// List: Lists all GTM Triggers of a Container.
12642func (r *AccountsContainersWorkspacesTriggersService) List(parent string) *AccountsContainersWorkspacesTriggersListCall {
12643	c := &AccountsContainersWorkspacesTriggersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12644	c.parent = parent
12645	return c
12646}
12647
12648// PageToken sets the optional parameter "pageToken": Continuation token
12649// for fetching the next page of results.
12650func (c *AccountsContainersWorkspacesTriggersListCall) PageToken(pageToken string) *AccountsContainersWorkspacesTriggersListCall {
12651	c.urlParams_.Set("pageToken", pageToken)
12652	return c
12653}
12654
12655// Fields allows partial responses to be retrieved. See
12656// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12657// for more information.
12658func (c *AccountsContainersWorkspacesTriggersListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersListCall {
12659	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12660	return c
12661}
12662
12663// IfNoneMatch sets the optional parameter which makes the operation
12664// fail if the object's ETag matches the given value. This is useful for
12665// getting updates only after the object has changed since the last
12666// request. Use googleapi.IsNotModified to check whether the response
12667// error from Do is the result of In-None-Match.
12668func (c *AccountsContainersWorkspacesTriggersListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTriggersListCall {
12669	c.ifNoneMatch_ = entityTag
12670	return c
12671}
12672
12673// Context sets the context to be used in this call's Do method. Any
12674// pending HTTP request will be aborted if the provided context is
12675// canceled.
12676func (c *AccountsContainersWorkspacesTriggersListCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersListCall {
12677	c.ctx_ = ctx
12678	return c
12679}
12680
12681// Header returns an http.Header that can be modified by the caller to
12682// add HTTP headers to the request.
12683func (c *AccountsContainersWorkspacesTriggersListCall) Header() http.Header {
12684	if c.header_ == nil {
12685		c.header_ = make(http.Header)
12686	}
12687	return c.header_
12688}
12689
12690func (c *AccountsContainersWorkspacesTriggersListCall) doRequest(alt string) (*http.Response, error) {
12691	reqHeaders := make(http.Header)
12692	for k, v := range c.header_ {
12693		reqHeaders[k] = v
12694	}
12695	reqHeaders.Set("User-Agent", c.s.userAgent())
12696	if c.ifNoneMatch_ != "" {
12697		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12698	}
12699	var body io.Reader = nil
12700	c.urlParams_.Set("alt", alt)
12701	c.urlParams_.Set("prettyPrint", "false")
12702	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/triggers")
12703	urls += "?" + c.urlParams_.Encode()
12704	req, err := http.NewRequest("GET", urls, body)
12705	if err != nil {
12706		return nil, err
12707	}
12708	req.Header = reqHeaders
12709	googleapi.Expand(req.URL, map[string]string{
12710		"parent": c.parent,
12711	})
12712	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12713}
12714
12715// Do executes the "tagmanager.accounts.containers.workspaces.triggers.list" call.
12716// Exactly one of *ListTriggersResponse or error will be non-nil. Any
12717// non-2xx status code is an error. Response headers are in either
12718// *ListTriggersResponse.ServerResponse.Header or (if a response was
12719// returned at all) in error.(*googleapi.Error).Header. Use
12720// googleapi.IsNotModified to check whether the returned error was
12721// because http.StatusNotModified was returned.
12722func (c *AccountsContainersWorkspacesTriggersListCall) Do(opts ...googleapi.CallOption) (*ListTriggersResponse, error) {
12723	gensupport.SetOptions(c.urlParams_, opts...)
12724	res, err := c.doRequest("json")
12725	if res != nil && res.StatusCode == http.StatusNotModified {
12726		if res.Body != nil {
12727			res.Body.Close()
12728		}
12729		return nil, &googleapi.Error{
12730			Code:   res.StatusCode,
12731			Header: res.Header,
12732		}
12733	}
12734	if err != nil {
12735		return nil, err
12736	}
12737	defer googleapi.CloseBody(res)
12738	if err := googleapi.CheckResponse(res); err != nil {
12739		return nil, err
12740	}
12741	ret := &ListTriggersResponse{
12742		ServerResponse: googleapi.ServerResponse{
12743			Header:         res.Header,
12744			HTTPStatusCode: res.StatusCode,
12745		},
12746	}
12747	target := &ret
12748	if err := gensupport.DecodeResponse(target, res); err != nil {
12749		return nil, err
12750	}
12751	return ret, nil
12752	// {
12753	//   "description": "Lists all GTM Triggers of a Container.",
12754	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers",
12755	//   "httpMethod": "GET",
12756	//   "id": "tagmanager.accounts.containers.workspaces.triggers.list",
12757	//   "parameterOrder": [
12758	//     "parent"
12759	//   ],
12760	//   "parameters": {
12761	//     "pageToken": {
12762	//       "description": "Continuation token for fetching the next page of results.",
12763	//       "location": "query",
12764	//       "type": "string"
12765	//     },
12766	//     "parent": {
12767	//       "description": "GTM Workspaces's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
12768	//       "location": "path",
12769	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
12770	//       "required": true,
12771	//       "type": "string"
12772	//     }
12773	//   },
12774	//   "path": "tagmanager/v2/{+parent}/triggers",
12775	//   "response": {
12776	//     "$ref": "ListTriggersResponse"
12777	//   },
12778	//   "scopes": [
12779	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
12780	//     "https://www.googleapis.com/auth/tagmanager.readonly"
12781	//   ]
12782	// }
12783
12784}
12785
12786// Pages invokes f for each page of results.
12787// A non-nil error returned from f will halt the iteration.
12788// The provided context supersedes any context provided to the Context method.
12789func (c *AccountsContainersWorkspacesTriggersListCall) Pages(ctx context.Context, f func(*ListTriggersResponse) error) error {
12790	c.ctx_ = ctx
12791	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
12792	for {
12793		x, err := c.Do()
12794		if err != nil {
12795			return err
12796		}
12797		if err := f(x); err != nil {
12798			return err
12799		}
12800		if x.NextPageToken == "" {
12801			return nil
12802		}
12803		c.PageToken(x.NextPageToken)
12804	}
12805}
12806
12807// method id "tagmanager.accounts.containers.workspaces.triggers.revert":
12808
12809type AccountsContainersWorkspacesTriggersRevertCall struct {
12810	s          *Service
12811	path       string
12812	urlParams_ gensupport.URLParams
12813	ctx_       context.Context
12814	header_    http.Header
12815}
12816
12817// Revert: Reverts changes to a GTM Trigger in a GTM Workspace.
12818func (r *AccountsContainersWorkspacesTriggersService) Revert(path string) *AccountsContainersWorkspacesTriggersRevertCall {
12819	c := &AccountsContainersWorkspacesTriggersRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12820	c.path = path
12821	return c
12822}
12823
12824// Fingerprint sets the optional parameter "fingerprint": When provided,
12825// this fingerprint must match the fingerprint of the trigger
12826// in storage.
12827func (c *AccountsContainersWorkspacesTriggersRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTriggersRevertCall {
12828	c.urlParams_.Set("fingerprint", fingerprint)
12829	return c
12830}
12831
12832// Fields allows partial responses to be retrieved. See
12833// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12834// for more information.
12835func (c *AccountsContainersWorkspacesTriggersRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersRevertCall {
12836	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12837	return c
12838}
12839
12840// Context sets the context to be used in this call's Do method. Any
12841// pending HTTP request will be aborted if the provided context is
12842// canceled.
12843func (c *AccountsContainersWorkspacesTriggersRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersRevertCall {
12844	c.ctx_ = ctx
12845	return c
12846}
12847
12848// Header returns an http.Header that can be modified by the caller to
12849// add HTTP headers to the request.
12850func (c *AccountsContainersWorkspacesTriggersRevertCall) Header() http.Header {
12851	if c.header_ == nil {
12852		c.header_ = make(http.Header)
12853	}
12854	return c.header_
12855}
12856
12857func (c *AccountsContainersWorkspacesTriggersRevertCall) doRequest(alt string) (*http.Response, error) {
12858	reqHeaders := make(http.Header)
12859	for k, v := range c.header_ {
12860		reqHeaders[k] = v
12861	}
12862	reqHeaders.Set("User-Agent", c.s.userAgent())
12863	var body io.Reader = nil
12864	c.urlParams_.Set("alt", alt)
12865	c.urlParams_.Set("prettyPrint", "false")
12866	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
12867	urls += "?" + c.urlParams_.Encode()
12868	req, err := http.NewRequest("POST", urls, body)
12869	if err != nil {
12870		return nil, err
12871	}
12872	req.Header = reqHeaders
12873	googleapi.Expand(req.URL, map[string]string{
12874		"path": c.path,
12875	})
12876	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12877}
12878
12879// Do executes the "tagmanager.accounts.containers.workspaces.triggers.revert" call.
12880// Exactly one of *RevertTriggerResponse or error will be non-nil. Any
12881// non-2xx status code is an error. Response headers are in either
12882// *RevertTriggerResponse.ServerResponse.Header or (if a response was
12883// returned at all) in error.(*googleapi.Error).Header. Use
12884// googleapi.IsNotModified to check whether the returned error was
12885// because http.StatusNotModified was returned.
12886func (c *AccountsContainersWorkspacesTriggersRevertCall) Do(opts ...googleapi.CallOption) (*RevertTriggerResponse, error) {
12887	gensupport.SetOptions(c.urlParams_, opts...)
12888	res, err := c.doRequest("json")
12889	if res != nil && res.StatusCode == http.StatusNotModified {
12890		if res.Body != nil {
12891			res.Body.Close()
12892		}
12893		return nil, &googleapi.Error{
12894			Code:   res.StatusCode,
12895			Header: res.Header,
12896		}
12897	}
12898	if err != nil {
12899		return nil, err
12900	}
12901	defer googleapi.CloseBody(res)
12902	if err := googleapi.CheckResponse(res); err != nil {
12903		return nil, err
12904	}
12905	ret := &RevertTriggerResponse{
12906		ServerResponse: googleapi.ServerResponse{
12907			Header:         res.Header,
12908			HTTPStatusCode: res.StatusCode,
12909		},
12910	}
12911	target := &ret
12912	if err := gensupport.DecodeResponse(target, res); err != nil {
12913		return nil, err
12914	}
12915	return ret, nil
12916	// {
12917	//   "description": "Reverts changes to a GTM Trigger in a GTM Workspace.",
12918	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}:revert",
12919	//   "httpMethod": "POST",
12920	//   "id": "tagmanager.accounts.containers.workspaces.triggers.revert",
12921	//   "parameterOrder": [
12922	//     "path"
12923	//   ],
12924	//   "parameters": {
12925	//     "fingerprint": {
12926	//       "description": "When provided, this fingerprint must match the fingerprint of the trigger\nin storage.",
12927	//       "location": "query",
12928	//       "type": "string"
12929	//     },
12930	//     "path": {
12931	//       "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
12932	//       "location": "path",
12933	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
12934	//       "required": true,
12935	//       "type": "string"
12936	//     }
12937	//   },
12938	//   "path": "tagmanager/v2/{+path}:revert",
12939	//   "response": {
12940	//     "$ref": "RevertTriggerResponse"
12941	//   },
12942	//   "scopes": [
12943	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
12944	//   ]
12945	// }
12946
12947}
12948
12949// method id "tagmanager.accounts.containers.workspaces.triggers.update":
12950
12951type AccountsContainersWorkspacesTriggersUpdateCall struct {
12952	s          *Service
12953	path       string
12954	trigger    *Trigger
12955	urlParams_ gensupport.URLParams
12956	ctx_       context.Context
12957	header_    http.Header
12958}
12959
12960// Update: Updates a GTM Trigger.
12961func (r *AccountsContainersWorkspacesTriggersService) Update(path string, trigger *Trigger) *AccountsContainersWorkspacesTriggersUpdateCall {
12962	c := &AccountsContainersWorkspacesTriggersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12963	c.path = path
12964	c.trigger = trigger
12965	return c
12966}
12967
12968// Fingerprint sets the optional parameter "fingerprint": When provided,
12969// this fingerprint must match the fingerprint of the trigger
12970// in storage.
12971func (c *AccountsContainersWorkspacesTriggersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTriggersUpdateCall {
12972	c.urlParams_.Set("fingerprint", fingerprint)
12973	return c
12974}
12975
12976// Fields allows partial responses to be retrieved. See
12977// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12978// for more information.
12979func (c *AccountsContainersWorkspacesTriggersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersUpdateCall {
12980	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12981	return c
12982}
12983
12984// Context sets the context to be used in this call's Do method. Any
12985// pending HTTP request will be aborted if the provided context is
12986// canceled.
12987func (c *AccountsContainersWorkspacesTriggersUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersUpdateCall {
12988	c.ctx_ = ctx
12989	return c
12990}
12991
12992// Header returns an http.Header that can be modified by the caller to
12993// add HTTP headers to the request.
12994func (c *AccountsContainersWorkspacesTriggersUpdateCall) Header() http.Header {
12995	if c.header_ == nil {
12996		c.header_ = make(http.Header)
12997	}
12998	return c.header_
12999}
13000
13001func (c *AccountsContainersWorkspacesTriggersUpdateCall) doRequest(alt string) (*http.Response, error) {
13002	reqHeaders := make(http.Header)
13003	for k, v := range c.header_ {
13004		reqHeaders[k] = v
13005	}
13006	reqHeaders.Set("User-Agent", c.s.userAgent())
13007	var body io.Reader = nil
13008	body, err := googleapi.WithoutDataWrapper.JSONReader(c.trigger)
13009	if err != nil {
13010		return nil, err
13011	}
13012	reqHeaders.Set("Content-Type", "application/json")
13013	c.urlParams_.Set("alt", alt)
13014	c.urlParams_.Set("prettyPrint", "false")
13015	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
13016	urls += "?" + c.urlParams_.Encode()
13017	req, err := http.NewRequest("PUT", urls, body)
13018	if err != nil {
13019		return nil, err
13020	}
13021	req.Header = reqHeaders
13022	googleapi.Expand(req.URL, map[string]string{
13023		"path": c.path,
13024	})
13025	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13026}
13027
13028// Do executes the "tagmanager.accounts.containers.workspaces.triggers.update" call.
13029// Exactly one of *Trigger or error will be non-nil. Any non-2xx status
13030// code is an error. Response headers are in either
13031// *Trigger.ServerResponse.Header or (if a response was returned at all)
13032// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13033// check whether the returned error was because http.StatusNotModified
13034// was returned.
13035func (c *AccountsContainersWorkspacesTriggersUpdateCall) Do(opts ...googleapi.CallOption) (*Trigger, error) {
13036	gensupport.SetOptions(c.urlParams_, opts...)
13037	res, err := c.doRequest("json")
13038	if res != nil && res.StatusCode == http.StatusNotModified {
13039		if res.Body != nil {
13040			res.Body.Close()
13041		}
13042		return nil, &googleapi.Error{
13043			Code:   res.StatusCode,
13044			Header: res.Header,
13045		}
13046	}
13047	if err != nil {
13048		return nil, err
13049	}
13050	defer googleapi.CloseBody(res)
13051	if err := googleapi.CheckResponse(res); err != nil {
13052		return nil, err
13053	}
13054	ret := &Trigger{
13055		ServerResponse: googleapi.ServerResponse{
13056			Header:         res.Header,
13057			HTTPStatusCode: res.StatusCode,
13058		},
13059	}
13060	target := &ret
13061	if err := gensupport.DecodeResponse(target, res); err != nil {
13062		return nil, err
13063	}
13064	return ret, nil
13065	// {
13066	//   "description": "Updates a GTM Trigger.",
13067	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/triggers/{triggersId}",
13068	//   "httpMethod": "PUT",
13069	//   "id": "tagmanager.accounts.containers.workspaces.triggers.update",
13070	//   "parameterOrder": [
13071	//     "path"
13072	//   ],
13073	//   "parameters": {
13074	//     "fingerprint": {
13075	//       "description": "When provided, this fingerprint must match the fingerprint of the trigger\nin storage.",
13076	//       "location": "query",
13077	//       "type": "string"
13078	//     },
13079	//     "path": {
13080	//       "description": "GTM Trigger's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/triggers/{trigger_id}",
13081	//       "location": "path",
13082	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/triggers/[^/]+$",
13083	//       "required": true,
13084	//       "type": "string"
13085	//     }
13086	//   },
13087	//   "path": "tagmanager/v2/{+path}",
13088	//   "request": {
13089	//     "$ref": "Trigger"
13090	//   },
13091	//   "response": {
13092	//     "$ref": "Trigger"
13093	//   },
13094	//   "scopes": [
13095	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
13096	//   ]
13097	// }
13098
13099}
13100
13101// method id "tagmanager.accounts.containers.workspaces.variables.create":
13102
13103type AccountsContainersWorkspacesVariablesCreateCall struct {
13104	s          *Service
13105	parent     string
13106	variable   *Variable
13107	urlParams_ gensupport.URLParams
13108	ctx_       context.Context
13109	header_    http.Header
13110}
13111
13112// Create: Creates a GTM Variable.
13113func (r *AccountsContainersWorkspacesVariablesService) Create(parent string, variable *Variable) *AccountsContainersWorkspacesVariablesCreateCall {
13114	c := &AccountsContainersWorkspacesVariablesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13115	c.parent = parent
13116	c.variable = variable
13117	return c
13118}
13119
13120// Fields allows partial responses to be retrieved. See
13121// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13122// for more information.
13123func (c *AccountsContainersWorkspacesVariablesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesCreateCall {
13124	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13125	return c
13126}
13127
13128// Context sets the context to be used in this call's Do method. Any
13129// pending HTTP request will be aborted if the provided context is
13130// canceled.
13131func (c *AccountsContainersWorkspacesVariablesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesCreateCall {
13132	c.ctx_ = ctx
13133	return c
13134}
13135
13136// Header returns an http.Header that can be modified by the caller to
13137// add HTTP headers to the request.
13138func (c *AccountsContainersWorkspacesVariablesCreateCall) Header() http.Header {
13139	if c.header_ == nil {
13140		c.header_ = make(http.Header)
13141	}
13142	return c.header_
13143}
13144
13145func (c *AccountsContainersWorkspacesVariablesCreateCall) doRequest(alt string) (*http.Response, error) {
13146	reqHeaders := make(http.Header)
13147	for k, v := range c.header_ {
13148		reqHeaders[k] = v
13149	}
13150	reqHeaders.Set("User-Agent", c.s.userAgent())
13151	var body io.Reader = nil
13152	body, err := googleapi.WithoutDataWrapper.JSONReader(c.variable)
13153	if err != nil {
13154		return nil, err
13155	}
13156	reqHeaders.Set("Content-Type", "application/json")
13157	c.urlParams_.Set("alt", alt)
13158	c.urlParams_.Set("prettyPrint", "false")
13159	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/variables")
13160	urls += "?" + c.urlParams_.Encode()
13161	req, err := http.NewRequest("POST", urls, body)
13162	if err != nil {
13163		return nil, err
13164	}
13165	req.Header = reqHeaders
13166	googleapi.Expand(req.URL, map[string]string{
13167		"parent": c.parent,
13168	})
13169	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13170}
13171
13172// Do executes the "tagmanager.accounts.containers.workspaces.variables.create" call.
13173// Exactly one of *Variable or error will be non-nil. Any non-2xx status
13174// code is an error. Response headers are in either
13175// *Variable.ServerResponse.Header or (if a response was returned at
13176// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13177// to check whether the returned error was because
13178// http.StatusNotModified was returned.
13179func (c *AccountsContainersWorkspacesVariablesCreateCall) Do(opts ...googleapi.CallOption) (*Variable, error) {
13180	gensupport.SetOptions(c.urlParams_, opts...)
13181	res, err := c.doRequest("json")
13182	if res != nil && res.StatusCode == http.StatusNotModified {
13183		if res.Body != nil {
13184			res.Body.Close()
13185		}
13186		return nil, &googleapi.Error{
13187			Code:   res.StatusCode,
13188			Header: res.Header,
13189		}
13190	}
13191	if err != nil {
13192		return nil, err
13193	}
13194	defer googleapi.CloseBody(res)
13195	if err := googleapi.CheckResponse(res); err != nil {
13196		return nil, err
13197	}
13198	ret := &Variable{
13199		ServerResponse: googleapi.ServerResponse{
13200			Header:         res.Header,
13201			HTTPStatusCode: res.StatusCode,
13202		},
13203	}
13204	target := &ret
13205	if err := gensupport.DecodeResponse(target, res); err != nil {
13206		return nil, err
13207	}
13208	return ret, nil
13209	// {
13210	//   "description": "Creates a GTM Variable.",
13211	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables",
13212	//   "httpMethod": "POST",
13213	//   "id": "tagmanager.accounts.containers.workspaces.variables.create",
13214	//   "parameterOrder": [
13215	//     "parent"
13216	//   ],
13217	//   "parameters": {
13218	//     "parent": {
13219	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
13220	//       "location": "path",
13221	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
13222	//       "required": true,
13223	//       "type": "string"
13224	//     }
13225	//   },
13226	//   "path": "tagmanager/v2/{+parent}/variables",
13227	//   "request": {
13228	//     "$ref": "Variable"
13229	//   },
13230	//   "response": {
13231	//     "$ref": "Variable"
13232	//   },
13233	//   "scopes": [
13234	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
13235	//   ]
13236	// }
13237
13238}
13239
13240// method id "tagmanager.accounts.containers.workspaces.variables.delete":
13241
13242type AccountsContainersWorkspacesVariablesDeleteCall struct {
13243	s          *Service
13244	path       string
13245	urlParams_ gensupport.URLParams
13246	ctx_       context.Context
13247	header_    http.Header
13248}
13249
13250// Delete: Deletes a GTM Variable.
13251func (r *AccountsContainersWorkspacesVariablesService) Delete(path string) *AccountsContainersWorkspacesVariablesDeleteCall {
13252	c := &AccountsContainersWorkspacesVariablesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13253	c.path = path
13254	return c
13255}
13256
13257// Fields allows partial responses to be retrieved. See
13258// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13259// for more information.
13260func (c *AccountsContainersWorkspacesVariablesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesDeleteCall {
13261	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13262	return c
13263}
13264
13265// Context sets the context to be used in this call's Do method. Any
13266// pending HTTP request will be aborted if the provided context is
13267// canceled.
13268func (c *AccountsContainersWorkspacesVariablesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesDeleteCall {
13269	c.ctx_ = ctx
13270	return c
13271}
13272
13273// Header returns an http.Header that can be modified by the caller to
13274// add HTTP headers to the request.
13275func (c *AccountsContainersWorkspacesVariablesDeleteCall) Header() http.Header {
13276	if c.header_ == nil {
13277		c.header_ = make(http.Header)
13278	}
13279	return c.header_
13280}
13281
13282func (c *AccountsContainersWorkspacesVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
13283	reqHeaders := make(http.Header)
13284	for k, v := range c.header_ {
13285		reqHeaders[k] = v
13286	}
13287	reqHeaders.Set("User-Agent", c.s.userAgent())
13288	var body io.Reader = nil
13289	c.urlParams_.Set("alt", alt)
13290	c.urlParams_.Set("prettyPrint", "false")
13291	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
13292	urls += "?" + c.urlParams_.Encode()
13293	req, err := http.NewRequest("DELETE", urls, body)
13294	if err != nil {
13295		return nil, err
13296	}
13297	req.Header = reqHeaders
13298	googleapi.Expand(req.URL, map[string]string{
13299		"path": c.path,
13300	})
13301	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13302}
13303
13304// Do executes the "tagmanager.accounts.containers.workspaces.variables.delete" call.
13305func (c *AccountsContainersWorkspacesVariablesDeleteCall) Do(opts ...googleapi.CallOption) error {
13306	gensupport.SetOptions(c.urlParams_, opts...)
13307	res, err := c.doRequest("json")
13308	if err != nil {
13309		return err
13310	}
13311	defer googleapi.CloseBody(res)
13312	if err := googleapi.CheckResponse(res); err != nil {
13313		return err
13314	}
13315	return nil
13316	// {
13317	//   "description": "Deletes a GTM Variable.",
13318	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}",
13319	//   "httpMethod": "DELETE",
13320	//   "id": "tagmanager.accounts.containers.workspaces.variables.delete",
13321	//   "parameterOrder": [
13322	//     "path"
13323	//   ],
13324	//   "parameters": {
13325	//     "path": {
13326	//       "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
13327	//       "location": "path",
13328	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
13329	//       "required": true,
13330	//       "type": "string"
13331	//     }
13332	//   },
13333	//   "path": "tagmanager/v2/{+path}",
13334	//   "scopes": [
13335	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
13336	//   ]
13337	// }
13338
13339}
13340
13341// method id "tagmanager.accounts.containers.workspaces.variables.get":
13342
13343type AccountsContainersWorkspacesVariablesGetCall struct {
13344	s            *Service
13345	path         string
13346	urlParams_   gensupport.URLParams
13347	ifNoneMatch_ string
13348	ctx_         context.Context
13349	header_      http.Header
13350}
13351
13352// Get: Gets a GTM Variable.
13353func (r *AccountsContainersWorkspacesVariablesService) Get(path string) *AccountsContainersWorkspacesVariablesGetCall {
13354	c := &AccountsContainersWorkspacesVariablesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13355	c.path = path
13356	return c
13357}
13358
13359// Fields allows partial responses to be retrieved. See
13360// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13361// for more information.
13362func (c *AccountsContainersWorkspacesVariablesGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesGetCall {
13363	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13364	return c
13365}
13366
13367// IfNoneMatch sets the optional parameter which makes the operation
13368// fail if the object's ETag matches the given value. This is useful for
13369// getting updates only after the object has changed since the last
13370// request. Use googleapi.IsNotModified to check whether the response
13371// error from Do is the result of In-None-Match.
13372func (c *AccountsContainersWorkspacesVariablesGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesVariablesGetCall {
13373	c.ifNoneMatch_ = entityTag
13374	return c
13375}
13376
13377// Context sets the context to be used in this call's Do method. Any
13378// pending HTTP request will be aborted if the provided context is
13379// canceled.
13380func (c *AccountsContainersWorkspacesVariablesGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesGetCall {
13381	c.ctx_ = ctx
13382	return c
13383}
13384
13385// Header returns an http.Header that can be modified by the caller to
13386// add HTTP headers to the request.
13387func (c *AccountsContainersWorkspacesVariablesGetCall) Header() http.Header {
13388	if c.header_ == nil {
13389		c.header_ = make(http.Header)
13390	}
13391	return c.header_
13392}
13393
13394func (c *AccountsContainersWorkspacesVariablesGetCall) doRequest(alt string) (*http.Response, error) {
13395	reqHeaders := make(http.Header)
13396	for k, v := range c.header_ {
13397		reqHeaders[k] = v
13398	}
13399	reqHeaders.Set("User-Agent", c.s.userAgent())
13400	if c.ifNoneMatch_ != "" {
13401		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13402	}
13403	var body io.Reader = nil
13404	c.urlParams_.Set("alt", alt)
13405	c.urlParams_.Set("prettyPrint", "false")
13406	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
13407	urls += "?" + c.urlParams_.Encode()
13408	req, err := http.NewRequest("GET", urls, body)
13409	if err != nil {
13410		return nil, err
13411	}
13412	req.Header = reqHeaders
13413	googleapi.Expand(req.URL, map[string]string{
13414		"path": c.path,
13415	})
13416	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13417}
13418
13419// Do executes the "tagmanager.accounts.containers.workspaces.variables.get" call.
13420// Exactly one of *Variable or error will be non-nil. Any non-2xx status
13421// code is an error. Response headers are in either
13422// *Variable.ServerResponse.Header or (if a response was returned at
13423// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13424// to check whether the returned error was because
13425// http.StatusNotModified was returned.
13426func (c *AccountsContainersWorkspacesVariablesGetCall) Do(opts ...googleapi.CallOption) (*Variable, error) {
13427	gensupport.SetOptions(c.urlParams_, opts...)
13428	res, err := c.doRequest("json")
13429	if res != nil && res.StatusCode == http.StatusNotModified {
13430		if res.Body != nil {
13431			res.Body.Close()
13432		}
13433		return nil, &googleapi.Error{
13434			Code:   res.StatusCode,
13435			Header: res.Header,
13436		}
13437	}
13438	if err != nil {
13439		return nil, err
13440	}
13441	defer googleapi.CloseBody(res)
13442	if err := googleapi.CheckResponse(res); err != nil {
13443		return nil, err
13444	}
13445	ret := &Variable{
13446		ServerResponse: googleapi.ServerResponse{
13447			Header:         res.Header,
13448			HTTPStatusCode: res.StatusCode,
13449		},
13450	}
13451	target := &ret
13452	if err := gensupport.DecodeResponse(target, res); err != nil {
13453		return nil, err
13454	}
13455	return ret, nil
13456	// {
13457	//   "description": "Gets a GTM Variable.",
13458	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}",
13459	//   "httpMethod": "GET",
13460	//   "id": "tagmanager.accounts.containers.workspaces.variables.get",
13461	//   "parameterOrder": [
13462	//     "path"
13463	//   ],
13464	//   "parameters": {
13465	//     "path": {
13466	//       "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
13467	//       "location": "path",
13468	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
13469	//       "required": true,
13470	//       "type": "string"
13471	//     }
13472	//   },
13473	//   "path": "tagmanager/v2/{+path}",
13474	//   "response": {
13475	//     "$ref": "Variable"
13476	//   },
13477	//   "scopes": [
13478	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
13479	//     "https://www.googleapis.com/auth/tagmanager.readonly"
13480	//   ]
13481	// }
13482
13483}
13484
13485// method id "tagmanager.accounts.containers.workspaces.variables.list":
13486
13487type AccountsContainersWorkspacesVariablesListCall struct {
13488	s            *Service
13489	parent       string
13490	urlParams_   gensupport.URLParams
13491	ifNoneMatch_ string
13492	ctx_         context.Context
13493	header_      http.Header
13494}
13495
13496// List: Lists all GTM Variables of a Container.
13497func (r *AccountsContainersWorkspacesVariablesService) List(parent string) *AccountsContainersWorkspacesVariablesListCall {
13498	c := &AccountsContainersWorkspacesVariablesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13499	c.parent = parent
13500	return c
13501}
13502
13503// PageToken sets the optional parameter "pageToken": Continuation token
13504// for fetching the next page of results.
13505func (c *AccountsContainersWorkspacesVariablesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesVariablesListCall {
13506	c.urlParams_.Set("pageToken", pageToken)
13507	return c
13508}
13509
13510// Fields allows partial responses to be retrieved. See
13511// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13512// for more information.
13513func (c *AccountsContainersWorkspacesVariablesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesListCall {
13514	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13515	return c
13516}
13517
13518// IfNoneMatch sets the optional parameter which makes the operation
13519// fail if the object's ETag matches the given value. This is useful for
13520// getting updates only after the object has changed since the last
13521// request. Use googleapi.IsNotModified to check whether the response
13522// error from Do is the result of In-None-Match.
13523func (c *AccountsContainersWorkspacesVariablesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesVariablesListCall {
13524	c.ifNoneMatch_ = entityTag
13525	return c
13526}
13527
13528// Context sets the context to be used in this call's Do method. Any
13529// pending HTTP request will be aborted if the provided context is
13530// canceled.
13531func (c *AccountsContainersWorkspacesVariablesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesListCall {
13532	c.ctx_ = ctx
13533	return c
13534}
13535
13536// Header returns an http.Header that can be modified by the caller to
13537// add HTTP headers to the request.
13538func (c *AccountsContainersWorkspacesVariablesListCall) Header() http.Header {
13539	if c.header_ == nil {
13540		c.header_ = make(http.Header)
13541	}
13542	return c.header_
13543}
13544
13545func (c *AccountsContainersWorkspacesVariablesListCall) doRequest(alt string) (*http.Response, error) {
13546	reqHeaders := make(http.Header)
13547	for k, v := range c.header_ {
13548		reqHeaders[k] = v
13549	}
13550	reqHeaders.Set("User-Agent", c.s.userAgent())
13551	if c.ifNoneMatch_ != "" {
13552		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13553	}
13554	var body io.Reader = nil
13555	c.urlParams_.Set("alt", alt)
13556	c.urlParams_.Set("prettyPrint", "false")
13557	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/variables")
13558	urls += "?" + c.urlParams_.Encode()
13559	req, err := http.NewRequest("GET", urls, body)
13560	if err != nil {
13561		return nil, err
13562	}
13563	req.Header = reqHeaders
13564	googleapi.Expand(req.URL, map[string]string{
13565		"parent": c.parent,
13566	})
13567	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13568}
13569
13570// Do executes the "tagmanager.accounts.containers.workspaces.variables.list" call.
13571// Exactly one of *ListVariablesResponse or error will be non-nil. Any
13572// non-2xx status code is an error. Response headers are in either
13573// *ListVariablesResponse.ServerResponse.Header or (if a response was
13574// returned at all) in error.(*googleapi.Error).Header. Use
13575// googleapi.IsNotModified to check whether the returned error was
13576// because http.StatusNotModified was returned.
13577func (c *AccountsContainersWorkspacesVariablesListCall) Do(opts ...googleapi.CallOption) (*ListVariablesResponse, error) {
13578	gensupport.SetOptions(c.urlParams_, opts...)
13579	res, err := c.doRequest("json")
13580	if res != nil && res.StatusCode == http.StatusNotModified {
13581		if res.Body != nil {
13582			res.Body.Close()
13583		}
13584		return nil, &googleapi.Error{
13585			Code:   res.StatusCode,
13586			Header: res.Header,
13587		}
13588	}
13589	if err != nil {
13590		return nil, err
13591	}
13592	defer googleapi.CloseBody(res)
13593	if err := googleapi.CheckResponse(res); err != nil {
13594		return nil, err
13595	}
13596	ret := &ListVariablesResponse{
13597		ServerResponse: googleapi.ServerResponse{
13598			Header:         res.Header,
13599			HTTPStatusCode: res.StatusCode,
13600		},
13601	}
13602	target := &ret
13603	if err := gensupport.DecodeResponse(target, res); err != nil {
13604		return nil, err
13605	}
13606	return ret, nil
13607	// {
13608	//   "description": "Lists all GTM Variables of a Container.",
13609	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables",
13610	//   "httpMethod": "GET",
13611	//   "id": "tagmanager.accounts.containers.workspaces.variables.list",
13612	//   "parameterOrder": [
13613	//     "parent"
13614	//   ],
13615	//   "parameters": {
13616	//     "pageToken": {
13617	//       "description": "Continuation token for fetching the next page of results.",
13618	//       "location": "query",
13619	//       "type": "string"
13620	//     },
13621	//     "parent": {
13622	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
13623	//       "location": "path",
13624	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
13625	//       "required": true,
13626	//       "type": "string"
13627	//     }
13628	//   },
13629	//   "path": "tagmanager/v2/{+parent}/variables",
13630	//   "response": {
13631	//     "$ref": "ListVariablesResponse"
13632	//   },
13633	//   "scopes": [
13634	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
13635	//     "https://www.googleapis.com/auth/tagmanager.readonly"
13636	//   ]
13637	// }
13638
13639}
13640
13641// Pages invokes f for each page of results.
13642// A non-nil error returned from f will halt the iteration.
13643// The provided context supersedes any context provided to the Context method.
13644func (c *AccountsContainersWorkspacesVariablesListCall) Pages(ctx context.Context, f func(*ListVariablesResponse) error) error {
13645	c.ctx_ = ctx
13646	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13647	for {
13648		x, err := c.Do()
13649		if err != nil {
13650			return err
13651		}
13652		if err := f(x); err != nil {
13653			return err
13654		}
13655		if x.NextPageToken == "" {
13656			return nil
13657		}
13658		c.PageToken(x.NextPageToken)
13659	}
13660}
13661
13662// method id "tagmanager.accounts.containers.workspaces.variables.revert":
13663
13664type AccountsContainersWorkspacesVariablesRevertCall struct {
13665	s          *Service
13666	path       string
13667	urlParams_ gensupport.URLParams
13668	ctx_       context.Context
13669	header_    http.Header
13670}
13671
13672// Revert: Reverts changes to a GTM Variable in a GTM Workspace.
13673func (r *AccountsContainersWorkspacesVariablesService) Revert(path string) *AccountsContainersWorkspacesVariablesRevertCall {
13674	c := &AccountsContainersWorkspacesVariablesRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13675	c.path = path
13676	return c
13677}
13678
13679// Fingerprint sets the optional parameter "fingerprint": When provided,
13680// this fingerprint must match the fingerprint of the variable
13681// in storage.
13682func (c *AccountsContainersWorkspacesVariablesRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesVariablesRevertCall {
13683	c.urlParams_.Set("fingerprint", fingerprint)
13684	return c
13685}
13686
13687// Fields allows partial responses to be retrieved. See
13688// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13689// for more information.
13690func (c *AccountsContainersWorkspacesVariablesRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesRevertCall {
13691	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13692	return c
13693}
13694
13695// Context sets the context to be used in this call's Do method. Any
13696// pending HTTP request will be aborted if the provided context is
13697// canceled.
13698func (c *AccountsContainersWorkspacesVariablesRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesRevertCall {
13699	c.ctx_ = ctx
13700	return c
13701}
13702
13703// Header returns an http.Header that can be modified by the caller to
13704// add HTTP headers to the request.
13705func (c *AccountsContainersWorkspacesVariablesRevertCall) Header() http.Header {
13706	if c.header_ == nil {
13707		c.header_ = make(http.Header)
13708	}
13709	return c.header_
13710}
13711
13712func (c *AccountsContainersWorkspacesVariablesRevertCall) doRequest(alt string) (*http.Response, error) {
13713	reqHeaders := make(http.Header)
13714	for k, v := range c.header_ {
13715		reqHeaders[k] = v
13716	}
13717	reqHeaders.Set("User-Agent", c.s.userAgent())
13718	var body io.Reader = nil
13719	c.urlParams_.Set("alt", alt)
13720	c.urlParams_.Set("prettyPrint", "false")
13721	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
13722	urls += "?" + c.urlParams_.Encode()
13723	req, err := http.NewRequest("POST", urls, body)
13724	if err != nil {
13725		return nil, err
13726	}
13727	req.Header = reqHeaders
13728	googleapi.Expand(req.URL, map[string]string{
13729		"path": c.path,
13730	})
13731	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13732}
13733
13734// Do executes the "tagmanager.accounts.containers.workspaces.variables.revert" call.
13735// Exactly one of *RevertVariableResponse or error will be non-nil. Any
13736// non-2xx status code is an error. Response headers are in either
13737// *RevertVariableResponse.ServerResponse.Header or (if a response was
13738// returned at all) in error.(*googleapi.Error).Header. Use
13739// googleapi.IsNotModified to check whether the returned error was
13740// because http.StatusNotModified was returned.
13741func (c *AccountsContainersWorkspacesVariablesRevertCall) Do(opts ...googleapi.CallOption) (*RevertVariableResponse, error) {
13742	gensupport.SetOptions(c.urlParams_, opts...)
13743	res, err := c.doRequest("json")
13744	if res != nil && res.StatusCode == http.StatusNotModified {
13745		if res.Body != nil {
13746			res.Body.Close()
13747		}
13748		return nil, &googleapi.Error{
13749			Code:   res.StatusCode,
13750			Header: res.Header,
13751		}
13752	}
13753	if err != nil {
13754		return nil, err
13755	}
13756	defer googleapi.CloseBody(res)
13757	if err := googleapi.CheckResponse(res); err != nil {
13758		return nil, err
13759	}
13760	ret := &RevertVariableResponse{
13761		ServerResponse: googleapi.ServerResponse{
13762			Header:         res.Header,
13763			HTTPStatusCode: res.StatusCode,
13764		},
13765	}
13766	target := &ret
13767	if err := gensupport.DecodeResponse(target, res); err != nil {
13768		return nil, err
13769	}
13770	return ret, nil
13771	// {
13772	//   "description": "Reverts changes to a GTM Variable in a GTM Workspace.",
13773	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}:revert",
13774	//   "httpMethod": "POST",
13775	//   "id": "tagmanager.accounts.containers.workspaces.variables.revert",
13776	//   "parameterOrder": [
13777	//     "path"
13778	//   ],
13779	//   "parameters": {
13780	//     "fingerprint": {
13781	//       "description": "When provided, this fingerprint must match the fingerprint of the variable\nin storage.",
13782	//       "location": "query",
13783	//       "type": "string"
13784	//     },
13785	//     "path": {
13786	//       "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
13787	//       "location": "path",
13788	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
13789	//       "required": true,
13790	//       "type": "string"
13791	//     }
13792	//   },
13793	//   "path": "tagmanager/v2/{+path}:revert",
13794	//   "response": {
13795	//     "$ref": "RevertVariableResponse"
13796	//   },
13797	//   "scopes": [
13798	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
13799	//   ]
13800	// }
13801
13802}
13803
13804// method id "tagmanager.accounts.containers.workspaces.variables.update":
13805
13806type AccountsContainersWorkspacesVariablesUpdateCall struct {
13807	s          *Service
13808	path       string
13809	variable   *Variable
13810	urlParams_ gensupport.URLParams
13811	ctx_       context.Context
13812	header_    http.Header
13813}
13814
13815// Update: Updates a GTM Variable.
13816func (r *AccountsContainersWorkspacesVariablesService) Update(path string, variable *Variable) *AccountsContainersWorkspacesVariablesUpdateCall {
13817	c := &AccountsContainersWorkspacesVariablesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13818	c.path = path
13819	c.variable = variable
13820	return c
13821}
13822
13823// Fingerprint sets the optional parameter "fingerprint": When provided,
13824// this fingerprint must match the fingerprint of the variable
13825// in storage.
13826func (c *AccountsContainersWorkspacesVariablesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesVariablesUpdateCall {
13827	c.urlParams_.Set("fingerprint", fingerprint)
13828	return c
13829}
13830
13831// Fields allows partial responses to be retrieved. See
13832// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13833// for more information.
13834func (c *AccountsContainersWorkspacesVariablesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesUpdateCall {
13835	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13836	return c
13837}
13838
13839// Context sets the context to be used in this call's Do method. Any
13840// pending HTTP request will be aborted if the provided context is
13841// canceled.
13842func (c *AccountsContainersWorkspacesVariablesUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesUpdateCall {
13843	c.ctx_ = ctx
13844	return c
13845}
13846
13847// Header returns an http.Header that can be modified by the caller to
13848// add HTTP headers to the request.
13849func (c *AccountsContainersWorkspacesVariablesUpdateCall) Header() http.Header {
13850	if c.header_ == nil {
13851		c.header_ = make(http.Header)
13852	}
13853	return c.header_
13854}
13855
13856func (c *AccountsContainersWorkspacesVariablesUpdateCall) doRequest(alt string) (*http.Response, error) {
13857	reqHeaders := make(http.Header)
13858	for k, v := range c.header_ {
13859		reqHeaders[k] = v
13860	}
13861	reqHeaders.Set("User-Agent", c.s.userAgent())
13862	var body io.Reader = nil
13863	body, err := googleapi.WithoutDataWrapper.JSONReader(c.variable)
13864	if err != nil {
13865		return nil, err
13866	}
13867	reqHeaders.Set("Content-Type", "application/json")
13868	c.urlParams_.Set("alt", alt)
13869	c.urlParams_.Set("prettyPrint", "false")
13870	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
13871	urls += "?" + c.urlParams_.Encode()
13872	req, err := http.NewRequest("PUT", urls, body)
13873	if err != nil {
13874		return nil, err
13875	}
13876	req.Header = reqHeaders
13877	googleapi.Expand(req.URL, map[string]string{
13878		"path": c.path,
13879	})
13880	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13881}
13882
13883// Do executes the "tagmanager.accounts.containers.workspaces.variables.update" call.
13884// Exactly one of *Variable or error will be non-nil. Any non-2xx status
13885// code is an error. Response headers are in either
13886// *Variable.ServerResponse.Header or (if a response was returned at
13887// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13888// to check whether the returned error was because
13889// http.StatusNotModified was returned.
13890func (c *AccountsContainersWorkspacesVariablesUpdateCall) Do(opts ...googleapi.CallOption) (*Variable, error) {
13891	gensupport.SetOptions(c.urlParams_, opts...)
13892	res, err := c.doRequest("json")
13893	if res != nil && res.StatusCode == http.StatusNotModified {
13894		if res.Body != nil {
13895			res.Body.Close()
13896		}
13897		return nil, &googleapi.Error{
13898			Code:   res.StatusCode,
13899			Header: res.Header,
13900		}
13901	}
13902	if err != nil {
13903		return nil, err
13904	}
13905	defer googleapi.CloseBody(res)
13906	if err := googleapi.CheckResponse(res); err != nil {
13907		return nil, err
13908	}
13909	ret := &Variable{
13910		ServerResponse: googleapi.ServerResponse{
13911			Header:         res.Header,
13912			HTTPStatusCode: res.StatusCode,
13913		},
13914	}
13915	target := &ret
13916	if err := gensupport.DecodeResponse(target, res); err != nil {
13917		return nil, err
13918	}
13919	return ret, nil
13920	// {
13921	//   "description": "Updates a GTM Variable.",
13922	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/variables/{variablesId}",
13923	//   "httpMethod": "PUT",
13924	//   "id": "tagmanager.accounts.containers.workspaces.variables.update",
13925	//   "parameterOrder": [
13926	//     "path"
13927	//   ],
13928	//   "parameters": {
13929	//     "fingerprint": {
13930	//       "description": "When provided, this fingerprint must match the fingerprint of the variable\nin storage.",
13931	//       "location": "query",
13932	//       "type": "string"
13933	//     },
13934	//     "path": {
13935	//       "description": "GTM Variable's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id}",
13936	//       "location": "path",
13937	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/variables/[^/]+$",
13938	//       "required": true,
13939	//       "type": "string"
13940	//     }
13941	//   },
13942	//   "path": "tagmanager/v2/{+path}",
13943	//   "request": {
13944	//     "$ref": "Variable"
13945	//   },
13946	//   "response": {
13947	//     "$ref": "Variable"
13948	//   },
13949	//   "scopes": [
13950	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
13951	//   ]
13952	// }
13953
13954}
13955
13956// method id "tagmanager.accounts.containers.workspaces.zones.create":
13957
13958type AccountsContainersWorkspacesZonesCreateCall struct {
13959	s          *Service
13960	parent     string
13961	zone       *Zone
13962	urlParams_ gensupport.URLParams
13963	ctx_       context.Context
13964	header_    http.Header
13965}
13966
13967// Create: Creates a GTM Zone.
13968func (r *AccountsContainersWorkspacesZonesService) Create(parent string, zone *Zone) *AccountsContainersWorkspacesZonesCreateCall {
13969	c := &AccountsContainersWorkspacesZonesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13970	c.parent = parent
13971	c.zone = zone
13972	return c
13973}
13974
13975// Fields allows partial responses to be retrieved. See
13976// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13977// for more information.
13978func (c *AccountsContainersWorkspacesZonesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesCreateCall {
13979	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13980	return c
13981}
13982
13983// Context sets the context to be used in this call's Do method. Any
13984// pending HTTP request will be aborted if the provided context is
13985// canceled.
13986func (c *AccountsContainersWorkspacesZonesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesCreateCall {
13987	c.ctx_ = ctx
13988	return c
13989}
13990
13991// Header returns an http.Header that can be modified by the caller to
13992// add HTTP headers to the request.
13993func (c *AccountsContainersWorkspacesZonesCreateCall) Header() http.Header {
13994	if c.header_ == nil {
13995		c.header_ = make(http.Header)
13996	}
13997	return c.header_
13998}
13999
14000func (c *AccountsContainersWorkspacesZonesCreateCall) doRequest(alt string) (*http.Response, error) {
14001	reqHeaders := make(http.Header)
14002	for k, v := range c.header_ {
14003		reqHeaders[k] = v
14004	}
14005	reqHeaders.Set("User-Agent", c.s.userAgent())
14006	var body io.Reader = nil
14007	body, err := googleapi.WithoutDataWrapper.JSONReader(c.zone)
14008	if err != nil {
14009		return nil, err
14010	}
14011	reqHeaders.Set("Content-Type", "application/json")
14012	c.urlParams_.Set("alt", alt)
14013	c.urlParams_.Set("prettyPrint", "false")
14014	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/zones")
14015	urls += "?" + c.urlParams_.Encode()
14016	req, err := http.NewRequest("POST", urls, body)
14017	if err != nil {
14018		return nil, err
14019	}
14020	req.Header = reqHeaders
14021	googleapi.Expand(req.URL, map[string]string{
14022		"parent": c.parent,
14023	})
14024	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14025}
14026
14027// Do executes the "tagmanager.accounts.containers.workspaces.zones.create" call.
14028// Exactly one of *Zone or error will be non-nil. Any non-2xx status
14029// code is an error. Response headers are in either
14030// *Zone.ServerResponse.Header or (if a response was returned at all) in
14031// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14032// whether the returned error was because http.StatusNotModified was
14033// returned.
14034func (c *AccountsContainersWorkspacesZonesCreateCall) Do(opts ...googleapi.CallOption) (*Zone, error) {
14035	gensupport.SetOptions(c.urlParams_, opts...)
14036	res, err := c.doRequest("json")
14037	if res != nil && res.StatusCode == http.StatusNotModified {
14038		if res.Body != nil {
14039			res.Body.Close()
14040		}
14041		return nil, &googleapi.Error{
14042			Code:   res.StatusCode,
14043			Header: res.Header,
14044		}
14045	}
14046	if err != nil {
14047		return nil, err
14048	}
14049	defer googleapi.CloseBody(res)
14050	if err := googleapi.CheckResponse(res); err != nil {
14051		return nil, err
14052	}
14053	ret := &Zone{
14054		ServerResponse: googleapi.ServerResponse{
14055			Header:         res.Header,
14056			HTTPStatusCode: res.StatusCode,
14057		},
14058	}
14059	target := &ret
14060	if err := gensupport.DecodeResponse(target, res); err != nil {
14061		return nil, err
14062	}
14063	return ret, nil
14064	// {
14065	//   "description": "Creates a GTM Zone.",
14066	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones",
14067	//   "httpMethod": "POST",
14068	//   "id": "tagmanager.accounts.containers.workspaces.zones.create",
14069	//   "parameterOrder": [
14070	//     "parent"
14071	//   ],
14072	//   "parameters": {
14073	//     "parent": {
14074	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
14075	//       "location": "path",
14076	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
14077	//       "required": true,
14078	//       "type": "string"
14079	//     }
14080	//   },
14081	//   "path": "tagmanager/v2/{+parent}/zones",
14082	//   "request": {
14083	//     "$ref": "Zone"
14084	//   },
14085	//   "response": {
14086	//     "$ref": "Zone"
14087	//   },
14088	//   "scopes": [
14089	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
14090	//   ]
14091	// }
14092
14093}
14094
14095// method id "tagmanager.accounts.containers.workspaces.zones.delete":
14096
14097type AccountsContainersWorkspacesZonesDeleteCall struct {
14098	s          *Service
14099	path       string
14100	urlParams_ gensupport.URLParams
14101	ctx_       context.Context
14102	header_    http.Header
14103}
14104
14105// Delete: Deletes a GTM Zone.
14106func (r *AccountsContainersWorkspacesZonesService) Delete(path string) *AccountsContainersWorkspacesZonesDeleteCall {
14107	c := &AccountsContainersWorkspacesZonesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14108	c.path = path
14109	return c
14110}
14111
14112// Fields allows partial responses to be retrieved. See
14113// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14114// for more information.
14115func (c *AccountsContainersWorkspacesZonesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesDeleteCall {
14116	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14117	return c
14118}
14119
14120// Context sets the context to be used in this call's Do method. Any
14121// pending HTTP request will be aborted if the provided context is
14122// canceled.
14123func (c *AccountsContainersWorkspacesZonesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesDeleteCall {
14124	c.ctx_ = ctx
14125	return c
14126}
14127
14128// Header returns an http.Header that can be modified by the caller to
14129// add HTTP headers to the request.
14130func (c *AccountsContainersWorkspacesZonesDeleteCall) Header() http.Header {
14131	if c.header_ == nil {
14132		c.header_ = make(http.Header)
14133	}
14134	return c.header_
14135}
14136
14137func (c *AccountsContainersWorkspacesZonesDeleteCall) doRequest(alt string) (*http.Response, error) {
14138	reqHeaders := make(http.Header)
14139	for k, v := range c.header_ {
14140		reqHeaders[k] = v
14141	}
14142	reqHeaders.Set("User-Agent", c.s.userAgent())
14143	var body io.Reader = nil
14144	c.urlParams_.Set("alt", alt)
14145	c.urlParams_.Set("prettyPrint", "false")
14146	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
14147	urls += "?" + c.urlParams_.Encode()
14148	req, err := http.NewRequest("DELETE", urls, body)
14149	if err != nil {
14150		return nil, err
14151	}
14152	req.Header = reqHeaders
14153	googleapi.Expand(req.URL, map[string]string{
14154		"path": c.path,
14155	})
14156	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14157}
14158
14159// Do executes the "tagmanager.accounts.containers.workspaces.zones.delete" call.
14160func (c *AccountsContainersWorkspacesZonesDeleteCall) Do(opts ...googleapi.CallOption) error {
14161	gensupport.SetOptions(c.urlParams_, opts...)
14162	res, err := c.doRequest("json")
14163	if err != nil {
14164		return err
14165	}
14166	defer googleapi.CloseBody(res)
14167	if err := googleapi.CheckResponse(res); err != nil {
14168		return err
14169	}
14170	return nil
14171	// {
14172	//   "description": "Deletes a GTM Zone.",
14173	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}",
14174	//   "httpMethod": "DELETE",
14175	//   "id": "tagmanager.accounts.containers.workspaces.zones.delete",
14176	//   "parameterOrder": [
14177	//     "path"
14178	//   ],
14179	//   "parameters": {
14180	//     "path": {
14181	//       "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
14182	//       "location": "path",
14183	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
14184	//       "required": true,
14185	//       "type": "string"
14186	//     }
14187	//   },
14188	//   "path": "tagmanager/v2/{+path}",
14189	//   "scopes": [
14190	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
14191	//   ]
14192	// }
14193
14194}
14195
14196// method id "tagmanager.accounts.containers.workspaces.zones.get":
14197
14198type AccountsContainersWorkspacesZonesGetCall struct {
14199	s            *Service
14200	path         string
14201	urlParams_   gensupport.URLParams
14202	ifNoneMatch_ string
14203	ctx_         context.Context
14204	header_      http.Header
14205}
14206
14207// Get: Gets a GTM Zone.
14208func (r *AccountsContainersWorkspacesZonesService) Get(path string) *AccountsContainersWorkspacesZonesGetCall {
14209	c := &AccountsContainersWorkspacesZonesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14210	c.path = path
14211	return c
14212}
14213
14214// Fields allows partial responses to be retrieved. See
14215// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14216// for more information.
14217func (c *AccountsContainersWorkspacesZonesGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesGetCall {
14218	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14219	return c
14220}
14221
14222// IfNoneMatch sets the optional parameter which makes the operation
14223// fail if the object's ETag matches the given value. This is useful for
14224// getting updates only after the object has changed since the last
14225// request. Use googleapi.IsNotModified to check whether the response
14226// error from Do is the result of In-None-Match.
14227func (c *AccountsContainersWorkspacesZonesGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesZonesGetCall {
14228	c.ifNoneMatch_ = entityTag
14229	return c
14230}
14231
14232// Context sets the context to be used in this call's Do method. Any
14233// pending HTTP request will be aborted if the provided context is
14234// canceled.
14235func (c *AccountsContainersWorkspacesZonesGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesGetCall {
14236	c.ctx_ = ctx
14237	return c
14238}
14239
14240// Header returns an http.Header that can be modified by the caller to
14241// add HTTP headers to the request.
14242func (c *AccountsContainersWorkspacesZonesGetCall) Header() http.Header {
14243	if c.header_ == nil {
14244		c.header_ = make(http.Header)
14245	}
14246	return c.header_
14247}
14248
14249func (c *AccountsContainersWorkspacesZonesGetCall) doRequest(alt string) (*http.Response, error) {
14250	reqHeaders := make(http.Header)
14251	for k, v := range c.header_ {
14252		reqHeaders[k] = v
14253	}
14254	reqHeaders.Set("User-Agent", c.s.userAgent())
14255	if c.ifNoneMatch_ != "" {
14256		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14257	}
14258	var body io.Reader = nil
14259	c.urlParams_.Set("alt", alt)
14260	c.urlParams_.Set("prettyPrint", "false")
14261	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
14262	urls += "?" + c.urlParams_.Encode()
14263	req, err := http.NewRequest("GET", urls, body)
14264	if err != nil {
14265		return nil, err
14266	}
14267	req.Header = reqHeaders
14268	googleapi.Expand(req.URL, map[string]string{
14269		"path": c.path,
14270	})
14271	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14272}
14273
14274// Do executes the "tagmanager.accounts.containers.workspaces.zones.get" call.
14275// Exactly one of *Zone or error will be non-nil. Any non-2xx status
14276// code is an error. Response headers are in either
14277// *Zone.ServerResponse.Header or (if a response was returned at all) in
14278// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14279// whether the returned error was because http.StatusNotModified was
14280// returned.
14281func (c *AccountsContainersWorkspacesZonesGetCall) Do(opts ...googleapi.CallOption) (*Zone, error) {
14282	gensupport.SetOptions(c.urlParams_, opts...)
14283	res, err := c.doRequest("json")
14284	if res != nil && res.StatusCode == http.StatusNotModified {
14285		if res.Body != nil {
14286			res.Body.Close()
14287		}
14288		return nil, &googleapi.Error{
14289			Code:   res.StatusCode,
14290			Header: res.Header,
14291		}
14292	}
14293	if err != nil {
14294		return nil, err
14295	}
14296	defer googleapi.CloseBody(res)
14297	if err := googleapi.CheckResponse(res); err != nil {
14298		return nil, err
14299	}
14300	ret := &Zone{
14301		ServerResponse: googleapi.ServerResponse{
14302			Header:         res.Header,
14303			HTTPStatusCode: res.StatusCode,
14304		},
14305	}
14306	target := &ret
14307	if err := gensupport.DecodeResponse(target, res); err != nil {
14308		return nil, err
14309	}
14310	return ret, nil
14311	// {
14312	//   "description": "Gets a GTM Zone.",
14313	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}",
14314	//   "httpMethod": "GET",
14315	//   "id": "tagmanager.accounts.containers.workspaces.zones.get",
14316	//   "parameterOrder": [
14317	//     "path"
14318	//   ],
14319	//   "parameters": {
14320	//     "path": {
14321	//       "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
14322	//       "location": "path",
14323	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
14324	//       "required": true,
14325	//       "type": "string"
14326	//     }
14327	//   },
14328	//   "path": "tagmanager/v2/{+path}",
14329	//   "response": {
14330	//     "$ref": "Zone"
14331	//   },
14332	//   "scopes": [
14333	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
14334	//     "https://www.googleapis.com/auth/tagmanager.readonly"
14335	//   ]
14336	// }
14337
14338}
14339
14340// method id "tagmanager.accounts.containers.workspaces.zones.list":
14341
14342type AccountsContainersWorkspacesZonesListCall struct {
14343	s            *Service
14344	parent       string
14345	urlParams_   gensupport.URLParams
14346	ifNoneMatch_ string
14347	ctx_         context.Context
14348	header_      http.Header
14349}
14350
14351// List: Lists all GTM Zones of a GTM container workspace.
14352func (r *AccountsContainersWorkspacesZonesService) List(parent string) *AccountsContainersWorkspacesZonesListCall {
14353	c := &AccountsContainersWorkspacesZonesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14354	c.parent = parent
14355	return c
14356}
14357
14358// PageToken sets the optional parameter "pageToken": Continuation token
14359// for fetching the next page of results.
14360func (c *AccountsContainersWorkspacesZonesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesZonesListCall {
14361	c.urlParams_.Set("pageToken", pageToken)
14362	return c
14363}
14364
14365// Fields allows partial responses to be retrieved. See
14366// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14367// for more information.
14368func (c *AccountsContainersWorkspacesZonesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesListCall {
14369	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14370	return c
14371}
14372
14373// IfNoneMatch sets the optional parameter which makes the operation
14374// fail if the object's ETag matches the given value. This is useful for
14375// getting updates only after the object has changed since the last
14376// request. Use googleapi.IsNotModified to check whether the response
14377// error from Do is the result of In-None-Match.
14378func (c *AccountsContainersWorkspacesZonesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesZonesListCall {
14379	c.ifNoneMatch_ = entityTag
14380	return c
14381}
14382
14383// Context sets the context to be used in this call's Do method. Any
14384// pending HTTP request will be aborted if the provided context is
14385// canceled.
14386func (c *AccountsContainersWorkspacesZonesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesListCall {
14387	c.ctx_ = ctx
14388	return c
14389}
14390
14391// Header returns an http.Header that can be modified by the caller to
14392// add HTTP headers to the request.
14393func (c *AccountsContainersWorkspacesZonesListCall) Header() http.Header {
14394	if c.header_ == nil {
14395		c.header_ = make(http.Header)
14396	}
14397	return c.header_
14398}
14399
14400func (c *AccountsContainersWorkspacesZonesListCall) doRequest(alt string) (*http.Response, error) {
14401	reqHeaders := make(http.Header)
14402	for k, v := range c.header_ {
14403		reqHeaders[k] = v
14404	}
14405	reqHeaders.Set("User-Agent", c.s.userAgent())
14406	if c.ifNoneMatch_ != "" {
14407		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14408	}
14409	var body io.Reader = nil
14410	c.urlParams_.Set("alt", alt)
14411	c.urlParams_.Set("prettyPrint", "false")
14412	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/zones")
14413	urls += "?" + c.urlParams_.Encode()
14414	req, err := http.NewRequest("GET", urls, body)
14415	if err != nil {
14416		return nil, err
14417	}
14418	req.Header = reqHeaders
14419	googleapi.Expand(req.URL, map[string]string{
14420		"parent": c.parent,
14421	})
14422	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14423}
14424
14425// Do executes the "tagmanager.accounts.containers.workspaces.zones.list" call.
14426// Exactly one of *ListZonesResponse or error will be non-nil. Any
14427// non-2xx status code is an error. Response headers are in either
14428// *ListZonesResponse.ServerResponse.Header or (if a response was
14429// returned at all) in error.(*googleapi.Error).Header. Use
14430// googleapi.IsNotModified to check whether the returned error was
14431// because http.StatusNotModified was returned.
14432func (c *AccountsContainersWorkspacesZonesListCall) Do(opts ...googleapi.CallOption) (*ListZonesResponse, error) {
14433	gensupport.SetOptions(c.urlParams_, opts...)
14434	res, err := c.doRequest("json")
14435	if res != nil && res.StatusCode == http.StatusNotModified {
14436		if res.Body != nil {
14437			res.Body.Close()
14438		}
14439		return nil, &googleapi.Error{
14440			Code:   res.StatusCode,
14441			Header: res.Header,
14442		}
14443	}
14444	if err != nil {
14445		return nil, err
14446	}
14447	defer googleapi.CloseBody(res)
14448	if err := googleapi.CheckResponse(res); err != nil {
14449		return nil, err
14450	}
14451	ret := &ListZonesResponse{
14452		ServerResponse: googleapi.ServerResponse{
14453			Header:         res.Header,
14454			HTTPStatusCode: res.StatusCode,
14455		},
14456	}
14457	target := &ret
14458	if err := gensupport.DecodeResponse(target, res); err != nil {
14459		return nil, err
14460	}
14461	return ret, nil
14462	// {
14463	//   "description": "Lists all GTM Zones of a GTM container workspace.",
14464	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones",
14465	//   "httpMethod": "GET",
14466	//   "id": "tagmanager.accounts.containers.workspaces.zones.list",
14467	//   "parameterOrder": [
14468	//     "parent"
14469	//   ],
14470	//   "parameters": {
14471	//     "pageToken": {
14472	//       "description": "Continuation token for fetching the next page of results.",
14473	//       "location": "query",
14474	//       "type": "string"
14475	//     },
14476	//     "parent": {
14477	//       "description": "GTM Workspace's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}",
14478	//       "location": "path",
14479	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$",
14480	//       "required": true,
14481	//       "type": "string"
14482	//     }
14483	//   },
14484	//   "path": "tagmanager/v2/{+parent}/zones",
14485	//   "response": {
14486	//     "$ref": "ListZonesResponse"
14487	//   },
14488	//   "scopes": [
14489	//     "https://www.googleapis.com/auth/tagmanager.edit.containers",
14490	//     "https://www.googleapis.com/auth/tagmanager.readonly"
14491	//   ]
14492	// }
14493
14494}
14495
14496// Pages invokes f for each page of results.
14497// A non-nil error returned from f will halt the iteration.
14498// The provided context supersedes any context provided to the Context method.
14499func (c *AccountsContainersWorkspacesZonesListCall) Pages(ctx context.Context, f func(*ListZonesResponse) error) error {
14500	c.ctx_ = ctx
14501	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
14502	for {
14503		x, err := c.Do()
14504		if err != nil {
14505			return err
14506		}
14507		if err := f(x); err != nil {
14508			return err
14509		}
14510		if x.NextPageToken == "" {
14511			return nil
14512		}
14513		c.PageToken(x.NextPageToken)
14514	}
14515}
14516
14517// method id "tagmanager.accounts.containers.workspaces.zones.revert":
14518
14519type AccountsContainersWorkspacesZonesRevertCall struct {
14520	s          *Service
14521	path       string
14522	urlParams_ gensupport.URLParams
14523	ctx_       context.Context
14524	header_    http.Header
14525}
14526
14527// Revert: Reverts changes to a GTM Zone in a GTM Workspace.
14528func (r *AccountsContainersWorkspacesZonesService) Revert(path string) *AccountsContainersWorkspacesZonesRevertCall {
14529	c := &AccountsContainersWorkspacesZonesRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14530	c.path = path
14531	return c
14532}
14533
14534// Fingerprint sets the optional parameter "fingerprint": When provided,
14535// this fingerprint must match the fingerprint of the zone in
14536// storage.
14537func (c *AccountsContainersWorkspacesZonesRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesZonesRevertCall {
14538	c.urlParams_.Set("fingerprint", fingerprint)
14539	return c
14540}
14541
14542// Fields allows partial responses to be retrieved. See
14543// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14544// for more information.
14545func (c *AccountsContainersWorkspacesZonesRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesRevertCall {
14546	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14547	return c
14548}
14549
14550// Context sets the context to be used in this call's Do method. Any
14551// pending HTTP request will be aborted if the provided context is
14552// canceled.
14553func (c *AccountsContainersWorkspacesZonesRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesRevertCall {
14554	c.ctx_ = ctx
14555	return c
14556}
14557
14558// Header returns an http.Header that can be modified by the caller to
14559// add HTTP headers to the request.
14560func (c *AccountsContainersWorkspacesZonesRevertCall) Header() http.Header {
14561	if c.header_ == nil {
14562		c.header_ = make(http.Header)
14563	}
14564	return c.header_
14565}
14566
14567func (c *AccountsContainersWorkspacesZonesRevertCall) doRequest(alt string) (*http.Response, error) {
14568	reqHeaders := make(http.Header)
14569	for k, v := range c.header_ {
14570		reqHeaders[k] = v
14571	}
14572	reqHeaders.Set("User-Agent", c.s.userAgent())
14573	var body io.Reader = nil
14574	c.urlParams_.Set("alt", alt)
14575	c.urlParams_.Set("prettyPrint", "false")
14576	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
14577	urls += "?" + c.urlParams_.Encode()
14578	req, err := http.NewRequest("POST", urls, body)
14579	if err != nil {
14580		return nil, err
14581	}
14582	req.Header = reqHeaders
14583	googleapi.Expand(req.URL, map[string]string{
14584		"path": c.path,
14585	})
14586	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14587}
14588
14589// Do executes the "tagmanager.accounts.containers.workspaces.zones.revert" call.
14590// Exactly one of *RevertZoneResponse or error will be non-nil. Any
14591// non-2xx status code is an error. Response headers are in either
14592// *RevertZoneResponse.ServerResponse.Header or (if a response was
14593// returned at all) in error.(*googleapi.Error).Header. Use
14594// googleapi.IsNotModified to check whether the returned error was
14595// because http.StatusNotModified was returned.
14596func (c *AccountsContainersWorkspacesZonesRevertCall) Do(opts ...googleapi.CallOption) (*RevertZoneResponse, error) {
14597	gensupport.SetOptions(c.urlParams_, opts...)
14598	res, err := c.doRequest("json")
14599	if res != nil && res.StatusCode == http.StatusNotModified {
14600		if res.Body != nil {
14601			res.Body.Close()
14602		}
14603		return nil, &googleapi.Error{
14604			Code:   res.StatusCode,
14605			Header: res.Header,
14606		}
14607	}
14608	if err != nil {
14609		return nil, err
14610	}
14611	defer googleapi.CloseBody(res)
14612	if err := googleapi.CheckResponse(res); err != nil {
14613		return nil, err
14614	}
14615	ret := &RevertZoneResponse{
14616		ServerResponse: googleapi.ServerResponse{
14617			Header:         res.Header,
14618			HTTPStatusCode: res.StatusCode,
14619		},
14620	}
14621	target := &ret
14622	if err := gensupport.DecodeResponse(target, res); err != nil {
14623		return nil, err
14624	}
14625	return ret, nil
14626	// {
14627	//   "description": "Reverts changes to a GTM Zone in a GTM Workspace.",
14628	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}:revert",
14629	//   "httpMethod": "POST",
14630	//   "id": "tagmanager.accounts.containers.workspaces.zones.revert",
14631	//   "parameterOrder": [
14632	//     "path"
14633	//   ],
14634	//   "parameters": {
14635	//     "fingerprint": {
14636	//       "description": "When provided, this fingerprint must match the fingerprint of the zone in\nstorage.",
14637	//       "location": "query",
14638	//       "type": "string"
14639	//     },
14640	//     "path": {
14641	//       "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
14642	//       "location": "path",
14643	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
14644	//       "required": true,
14645	//       "type": "string"
14646	//     }
14647	//   },
14648	//   "path": "tagmanager/v2/{+path}:revert",
14649	//   "response": {
14650	//     "$ref": "RevertZoneResponse"
14651	//   },
14652	//   "scopes": [
14653	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
14654	//   ]
14655	// }
14656
14657}
14658
14659// method id "tagmanager.accounts.containers.workspaces.zones.update":
14660
14661type AccountsContainersWorkspacesZonesUpdateCall struct {
14662	s          *Service
14663	path       string
14664	zone       *Zone
14665	urlParams_ gensupport.URLParams
14666	ctx_       context.Context
14667	header_    http.Header
14668}
14669
14670// Update: Updates a GTM Zone.
14671func (r *AccountsContainersWorkspacesZonesService) Update(path string, zone *Zone) *AccountsContainersWorkspacesZonesUpdateCall {
14672	c := &AccountsContainersWorkspacesZonesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14673	c.path = path
14674	c.zone = zone
14675	return c
14676}
14677
14678// Fingerprint sets the optional parameter "fingerprint": When provided,
14679// this fingerprint must match the fingerprint of the zone in
14680// storage.
14681func (c *AccountsContainersWorkspacesZonesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesZonesUpdateCall {
14682	c.urlParams_.Set("fingerprint", fingerprint)
14683	return c
14684}
14685
14686// Fields allows partial responses to be retrieved. See
14687// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14688// for more information.
14689func (c *AccountsContainersWorkspacesZonesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesUpdateCall {
14690	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14691	return c
14692}
14693
14694// Context sets the context to be used in this call's Do method. Any
14695// pending HTTP request will be aborted if the provided context is
14696// canceled.
14697func (c *AccountsContainersWorkspacesZonesUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesUpdateCall {
14698	c.ctx_ = ctx
14699	return c
14700}
14701
14702// Header returns an http.Header that can be modified by the caller to
14703// add HTTP headers to the request.
14704func (c *AccountsContainersWorkspacesZonesUpdateCall) Header() http.Header {
14705	if c.header_ == nil {
14706		c.header_ = make(http.Header)
14707	}
14708	return c.header_
14709}
14710
14711func (c *AccountsContainersWorkspacesZonesUpdateCall) doRequest(alt string) (*http.Response, error) {
14712	reqHeaders := make(http.Header)
14713	for k, v := range c.header_ {
14714		reqHeaders[k] = v
14715	}
14716	reqHeaders.Set("User-Agent", c.s.userAgent())
14717	var body io.Reader = nil
14718	body, err := googleapi.WithoutDataWrapper.JSONReader(c.zone)
14719	if err != nil {
14720		return nil, err
14721	}
14722	reqHeaders.Set("Content-Type", "application/json")
14723	c.urlParams_.Set("alt", alt)
14724	c.urlParams_.Set("prettyPrint", "false")
14725	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
14726	urls += "?" + c.urlParams_.Encode()
14727	req, err := http.NewRequest("PUT", urls, body)
14728	if err != nil {
14729		return nil, err
14730	}
14731	req.Header = reqHeaders
14732	googleapi.Expand(req.URL, map[string]string{
14733		"path": c.path,
14734	})
14735	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14736}
14737
14738// Do executes the "tagmanager.accounts.containers.workspaces.zones.update" call.
14739// Exactly one of *Zone or error will be non-nil. Any non-2xx status
14740// code is an error. Response headers are in either
14741// *Zone.ServerResponse.Header or (if a response was returned at all) in
14742// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14743// whether the returned error was because http.StatusNotModified was
14744// returned.
14745func (c *AccountsContainersWorkspacesZonesUpdateCall) Do(opts ...googleapi.CallOption) (*Zone, error) {
14746	gensupport.SetOptions(c.urlParams_, opts...)
14747	res, err := c.doRequest("json")
14748	if res != nil && res.StatusCode == http.StatusNotModified {
14749		if res.Body != nil {
14750			res.Body.Close()
14751		}
14752		return nil, &googleapi.Error{
14753			Code:   res.StatusCode,
14754			Header: res.Header,
14755		}
14756	}
14757	if err != nil {
14758		return nil, err
14759	}
14760	defer googleapi.CloseBody(res)
14761	if err := googleapi.CheckResponse(res); err != nil {
14762		return nil, err
14763	}
14764	ret := &Zone{
14765		ServerResponse: googleapi.ServerResponse{
14766			Header:         res.Header,
14767			HTTPStatusCode: res.StatusCode,
14768		},
14769	}
14770	target := &ret
14771	if err := gensupport.DecodeResponse(target, res); err != nil {
14772		return nil, err
14773	}
14774	return ret, nil
14775	// {
14776	//   "description": "Updates a GTM Zone.",
14777	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/zones/{zonesId}",
14778	//   "httpMethod": "PUT",
14779	//   "id": "tagmanager.accounts.containers.workspaces.zones.update",
14780	//   "parameterOrder": [
14781	//     "path"
14782	//   ],
14783	//   "parameters": {
14784	//     "fingerprint": {
14785	//       "description": "When provided, this fingerprint must match the fingerprint of the zone in\nstorage.",
14786	//       "location": "query",
14787	//       "type": "string"
14788	//     },
14789	//     "path": {
14790	//       "description": "GTM Zone's API relative path.\nExample:\naccounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/zones/{zone_id}",
14791	//       "location": "path",
14792	//       "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/zones/[^/]+$",
14793	//       "required": true,
14794	//       "type": "string"
14795	//     }
14796	//   },
14797	//   "path": "tagmanager/v2/{+path}",
14798	//   "request": {
14799	//     "$ref": "Zone"
14800	//   },
14801	//   "response": {
14802	//     "$ref": "Zone"
14803	//   },
14804	//   "scopes": [
14805	//     "https://www.googleapis.com/auth/tagmanager.edit.containers"
14806	//   ]
14807	// }
14808
14809}
14810
14811// method id "tagmanager.accounts.user_permissions.create":
14812
14813type AccountsUserPermissionsCreateCall struct {
14814	s              *Service
14815	parent         string
14816	userpermission *UserPermission
14817	urlParams_     gensupport.URLParams
14818	ctx_           context.Context
14819	header_        http.Header
14820}
14821
14822// Create: Creates a user's Account & Container access.
14823func (r *AccountsUserPermissionsService) Create(parent string, userpermission *UserPermission) *AccountsUserPermissionsCreateCall {
14824	c := &AccountsUserPermissionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14825	c.parent = parent
14826	c.userpermission = userpermission
14827	return c
14828}
14829
14830// Fields allows partial responses to be retrieved. See
14831// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14832// for more information.
14833func (c *AccountsUserPermissionsCreateCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsCreateCall {
14834	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14835	return c
14836}
14837
14838// Context sets the context to be used in this call's Do method. Any
14839// pending HTTP request will be aborted if the provided context is
14840// canceled.
14841func (c *AccountsUserPermissionsCreateCall) Context(ctx context.Context) *AccountsUserPermissionsCreateCall {
14842	c.ctx_ = ctx
14843	return c
14844}
14845
14846// Header returns an http.Header that can be modified by the caller to
14847// add HTTP headers to the request.
14848func (c *AccountsUserPermissionsCreateCall) Header() http.Header {
14849	if c.header_ == nil {
14850		c.header_ = make(http.Header)
14851	}
14852	return c.header_
14853}
14854
14855func (c *AccountsUserPermissionsCreateCall) doRequest(alt string) (*http.Response, error) {
14856	reqHeaders := make(http.Header)
14857	for k, v := range c.header_ {
14858		reqHeaders[k] = v
14859	}
14860	reqHeaders.Set("User-Agent", c.s.userAgent())
14861	var body io.Reader = nil
14862	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userpermission)
14863	if err != nil {
14864		return nil, err
14865	}
14866	reqHeaders.Set("Content-Type", "application/json")
14867	c.urlParams_.Set("alt", alt)
14868	c.urlParams_.Set("prettyPrint", "false")
14869	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/user_permissions")
14870	urls += "?" + c.urlParams_.Encode()
14871	req, err := http.NewRequest("POST", urls, body)
14872	if err != nil {
14873		return nil, err
14874	}
14875	req.Header = reqHeaders
14876	googleapi.Expand(req.URL, map[string]string{
14877		"parent": c.parent,
14878	})
14879	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14880}
14881
14882// Do executes the "tagmanager.accounts.user_permissions.create" call.
14883// Exactly one of *UserPermission or error will be non-nil. Any non-2xx
14884// status code is an error. Response headers are in either
14885// *UserPermission.ServerResponse.Header or (if a response was returned
14886// at all) in error.(*googleapi.Error).Header. Use
14887// googleapi.IsNotModified to check whether the returned error was
14888// because http.StatusNotModified was returned.
14889func (c *AccountsUserPermissionsCreateCall) Do(opts ...googleapi.CallOption) (*UserPermission, error) {
14890	gensupport.SetOptions(c.urlParams_, opts...)
14891	res, err := c.doRequest("json")
14892	if res != nil && res.StatusCode == http.StatusNotModified {
14893		if res.Body != nil {
14894			res.Body.Close()
14895		}
14896		return nil, &googleapi.Error{
14897			Code:   res.StatusCode,
14898			Header: res.Header,
14899		}
14900	}
14901	if err != nil {
14902		return nil, err
14903	}
14904	defer googleapi.CloseBody(res)
14905	if err := googleapi.CheckResponse(res); err != nil {
14906		return nil, err
14907	}
14908	ret := &UserPermission{
14909		ServerResponse: googleapi.ServerResponse{
14910			Header:         res.Header,
14911			HTTPStatusCode: res.StatusCode,
14912		},
14913	}
14914	target := &ret
14915	if err := gensupport.DecodeResponse(target, res); err != nil {
14916		return nil, err
14917	}
14918	return ret, nil
14919	// {
14920	//   "description": "Creates a user's Account \u0026 Container access.",
14921	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions",
14922	//   "httpMethod": "POST",
14923	//   "id": "tagmanager.accounts.user_permissions.create",
14924	//   "parameterOrder": [
14925	//     "parent"
14926	//   ],
14927	//   "parameters": {
14928	//     "parent": {
14929	//       "description": "GTM Account's API relative path.\nExample: accounts/{account_id}",
14930	//       "location": "path",
14931	//       "pattern": "^accounts/[^/]+$",
14932	//       "required": true,
14933	//       "type": "string"
14934	//     }
14935	//   },
14936	//   "path": "tagmanager/v2/{+parent}/user_permissions",
14937	//   "request": {
14938	//     "$ref": "UserPermission"
14939	//   },
14940	//   "response": {
14941	//     "$ref": "UserPermission"
14942	//   },
14943	//   "scopes": [
14944	//     "https://www.googleapis.com/auth/tagmanager.manage.users"
14945	//   ]
14946	// }
14947
14948}
14949
14950// method id "tagmanager.accounts.user_permissions.delete":
14951
14952type AccountsUserPermissionsDeleteCall struct {
14953	s          *Service
14954	path       string
14955	urlParams_ gensupport.URLParams
14956	ctx_       context.Context
14957	header_    http.Header
14958}
14959
14960// Delete: Removes a user from the account, revoking access to it and
14961// all of its
14962// containers.
14963func (r *AccountsUserPermissionsService) Delete(path string) *AccountsUserPermissionsDeleteCall {
14964	c := &AccountsUserPermissionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14965	c.path = path
14966	return c
14967}
14968
14969// Fields allows partial responses to be retrieved. See
14970// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14971// for more information.
14972func (c *AccountsUserPermissionsDeleteCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsDeleteCall {
14973	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14974	return c
14975}
14976
14977// Context sets the context to be used in this call's Do method. Any
14978// pending HTTP request will be aborted if the provided context is
14979// canceled.
14980func (c *AccountsUserPermissionsDeleteCall) Context(ctx context.Context) *AccountsUserPermissionsDeleteCall {
14981	c.ctx_ = ctx
14982	return c
14983}
14984
14985// Header returns an http.Header that can be modified by the caller to
14986// add HTTP headers to the request.
14987func (c *AccountsUserPermissionsDeleteCall) Header() http.Header {
14988	if c.header_ == nil {
14989		c.header_ = make(http.Header)
14990	}
14991	return c.header_
14992}
14993
14994func (c *AccountsUserPermissionsDeleteCall) doRequest(alt string) (*http.Response, error) {
14995	reqHeaders := make(http.Header)
14996	for k, v := range c.header_ {
14997		reqHeaders[k] = v
14998	}
14999	reqHeaders.Set("User-Agent", c.s.userAgent())
15000	var body io.Reader = nil
15001	c.urlParams_.Set("alt", alt)
15002	c.urlParams_.Set("prettyPrint", "false")
15003	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
15004	urls += "?" + c.urlParams_.Encode()
15005	req, err := http.NewRequest("DELETE", urls, body)
15006	if err != nil {
15007		return nil, err
15008	}
15009	req.Header = reqHeaders
15010	googleapi.Expand(req.URL, map[string]string{
15011		"path": c.path,
15012	})
15013	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15014}
15015
15016// Do executes the "tagmanager.accounts.user_permissions.delete" call.
15017func (c *AccountsUserPermissionsDeleteCall) Do(opts ...googleapi.CallOption) error {
15018	gensupport.SetOptions(c.urlParams_, opts...)
15019	res, err := c.doRequest("json")
15020	if err != nil {
15021		return err
15022	}
15023	defer googleapi.CloseBody(res)
15024	if err := googleapi.CheckResponse(res); err != nil {
15025		return err
15026	}
15027	return nil
15028	// {
15029	//   "description": "Removes a user from the account, revoking access to it and all of its\ncontainers.",
15030	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}",
15031	//   "httpMethod": "DELETE",
15032	//   "id": "tagmanager.accounts.user_permissions.delete",
15033	//   "parameterOrder": [
15034	//     "path"
15035	//   ],
15036	//   "parameters": {
15037	//     "path": {
15038	//       "description": "GTM UserPermission's API relative path.\nExample: accounts/{account_id}/user_permissions/{user_permission_id}",
15039	//       "location": "path",
15040	//       "pattern": "^accounts/[^/]+/user_permissions/[^/]+$",
15041	//       "required": true,
15042	//       "type": "string"
15043	//     }
15044	//   },
15045	//   "path": "tagmanager/v2/{+path}",
15046	//   "scopes": [
15047	//     "https://www.googleapis.com/auth/tagmanager.manage.users"
15048	//   ]
15049	// }
15050
15051}
15052
15053// method id "tagmanager.accounts.user_permissions.get":
15054
15055type AccountsUserPermissionsGetCall struct {
15056	s            *Service
15057	path         string
15058	urlParams_   gensupport.URLParams
15059	ifNoneMatch_ string
15060	ctx_         context.Context
15061	header_      http.Header
15062}
15063
15064// Get: Gets a user's Account & Container access.
15065func (r *AccountsUserPermissionsService) Get(path string) *AccountsUserPermissionsGetCall {
15066	c := &AccountsUserPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15067	c.path = path
15068	return c
15069}
15070
15071// Fields allows partial responses to be retrieved. See
15072// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15073// for more information.
15074func (c *AccountsUserPermissionsGetCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsGetCall {
15075	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15076	return c
15077}
15078
15079// IfNoneMatch sets the optional parameter which makes the operation
15080// fail if the object's ETag matches the given value. This is useful for
15081// getting updates only after the object has changed since the last
15082// request. Use googleapi.IsNotModified to check whether the response
15083// error from Do is the result of In-None-Match.
15084func (c *AccountsUserPermissionsGetCall) IfNoneMatch(entityTag string) *AccountsUserPermissionsGetCall {
15085	c.ifNoneMatch_ = entityTag
15086	return c
15087}
15088
15089// Context sets the context to be used in this call's Do method. Any
15090// pending HTTP request will be aborted if the provided context is
15091// canceled.
15092func (c *AccountsUserPermissionsGetCall) Context(ctx context.Context) *AccountsUserPermissionsGetCall {
15093	c.ctx_ = ctx
15094	return c
15095}
15096
15097// Header returns an http.Header that can be modified by the caller to
15098// add HTTP headers to the request.
15099func (c *AccountsUserPermissionsGetCall) Header() http.Header {
15100	if c.header_ == nil {
15101		c.header_ = make(http.Header)
15102	}
15103	return c.header_
15104}
15105
15106func (c *AccountsUserPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
15107	reqHeaders := make(http.Header)
15108	for k, v := range c.header_ {
15109		reqHeaders[k] = v
15110	}
15111	reqHeaders.Set("User-Agent", c.s.userAgent())
15112	if c.ifNoneMatch_ != "" {
15113		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15114	}
15115	var body io.Reader = nil
15116	c.urlParams_.Set("alt", alt)
15117	c.urlParams_.Set("prettyPrint", "false")
15118	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
15119	urls += "?" + c.urlParams_.Encode()
15120	req, err := http.NewRequest("GET", urls, body)
15121	if err != nil {
15122		return nil, err
15123	}
15124	req.Header = reqHeaders
15125	googleapi.Expand(req.URL, map[string]string{
15126		"path": c.path,
15127	})
15128	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15129}
15130
15131// Do executes the "tagmanager.accounts.user_permissions.get" call.
15132// Exactly one of *UserPermission or error will be non-nil. Any non-2xx
15133// status code is an error. Response headers are in either
15134// *UserPermission.ServerResponse.Header or (if a response was returned
15135// at all) in error.(*googleapi.Error).Header. Use
15136// googleapi.IsNotModified to check whether the returned error was
15137// because http.StatusNotModified was returned.
15138func (c *AccountsUserPermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserPermission, error) {
15139	gensupport.SetOptions(c.urlParams_, opts...)
15140	res, err := c.doRequest("json")
15141	if res != nil && res.StatusCode == http.StatusNotModified {
15142		if res.Body != nil {
15143			res.Body.Close()
15144		}
15145		return nil, &googleapi.Error{
15146			Code:   res.StatusCode,
15147			Header: res.Header,
15148		}
15149	}
15150	if err != nil {
15151		return nil, err
15152	}
15153	defer googleapi.CloseBody(res)
15154	if err := googleapi.CheckResponse(res); err != nil {
15155		return nil, err
15156	}
15157	ret := &UserPermission{
15158		ServerResponse: googleapi.ServerResponse{
15159			Header:         res.Header,
15160			HTTPStatusCode: res.StatusCode,
15161		},
15162	}
15163	target := &ret
15164	if err := gensupport.DecodeResponse(target, res); err != nil {
15165		return nil, err
15166	}
15167	return ret, nil
15168	// {
15169	//   "description": "Gets a user's Account \u0026 Container access.",
15170	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}",
15171	//   "httpMethod": "GET",
15172	//   "id": "tagmanager.accounts.user_permissions.get",
15173	//   "parameterOrder": [
15174	//     "path"
15175	//   ],
15176	//   "parameters": {
15177	//     "path": {
15178	//       "description": "GTM UserPermission's API relative path.\nExample: accounts/{account_id}/user_permissions/{user_permission_id}",
15179	//       "location": "path",
15180	//       "pattern": "^accounts/[^/]+/user_permissions/[^/]+$",
15181	//       "required": true,
15182	//       "type": "string"
15183	//     }
15184	//   },
15185	//   "path": "tagmanager/v2/{+path}",
15186	//   "response": {
15187	//     "$ref": "UserPermission"
15188	//   },
15189	//   "scopes": [
15190	//     "https://www.googleapis.com/auth/tagmanager.manage.users"
15191	//   ]
15192	// }
15193
15194}
15195
15196// method id "tagmanager.accounts.user_permissions.list":
15197
15198type AccountsUserPermissionsListCall struct {
15199	s            *Service
15200	parent       string
15201	urlParams_   gensupport.URLParams
15202	ifNoneMatch_ string
15203	ctx_         context.Context
15204	header_      http.Header
15205}
15206
15207// List: List all users that have access to the account along with
15208// Account and
15209// Container user access granted to each of them.
15210func (r *AccountsUserPermissionsService) List(parent string) *AccountsUserPermissionsListCall {
15211	c := &AccountsUserPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15212	c.parent = parent
15213	return c
15214}
15215
15216// PageToken sets the optional parameter "pageToken": Continuation token
15217// for fetching the next page of results.
15218func (c *AccountsUserPermissionsListCall) PageToken(pageToken string) *AccountsUserPermissionsListCall {
15219	c.urlParams_.Set("pageToken", pageToken)
15220	return c
15221}
15222
15223// Fields allows partial responses to be retrieved. See
15224// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15225// for more information.
15226func (c *AccountsUserPermissionsListCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsListCall {
15227	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15228	return c
15229}
15230
15231// IfNoneMatch sets the optional parameter which makes the operation
15232// fail if the object's ETag matches the given value. This is useful for
15233// getting updates only after the object has changed since the last
15234// request. Use googleapi.IsNotModified to check whether the response
15235// error from Do is the result of In-None-Match.
15236func (c *AccountsUserPermissionsListCall) IfNoneMatch(entityTag string) *AccountsUserPermissionsListCall {
15237	c.ifNoneMatch_ = entityTag
15238	return c
15239}
15240
15241// Context sets the context to be used in this call's Do method. Any
15242// pending HTTP request will be aborted if the provided context is
15243// canceled.
15244func (c *AccountsUserPermissionsListCall) Context(ctx context.Context) *AccountsUserPermissionsListCall {
15245	c.ctx_ = ctx
15246	return c
15247}
15248
15249// Header returns an http.Header that can be modified by the caller to
15250// add HTTP headers to the request.
15251func (c *AccountsUserPermissionsListCall) Header() http.Header {
15252	if c.header_ == nil {
15253		c.header_ = make(http.Header)
15254	}
15255	return c.header_
15256}
15257
15258func (c *AccountsUserPermissionsListCall) doRequest(alt string) (*http.Response, error) {
15259	reqHeaders := make(http.Header)
15260	for k, v := range c.header_ {
15261		reqHeaders[k] = v
15262	}
15263	reqHeaders.Set("User-Agent", c.s.userAgent())
15264	if c.ifNoneMatch_ != "" {
15265		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15266	}
15267	var body io.Reader = nil
15268	c.urlParams_.Set("alt", alt)
15269	c.urlParams_.Set("prettyPrint", "false")
15270	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/user_permissions")
15271	urls += "?" + c.urlParams_.Encode()
15272	req, err := http.NewRequest("GET", urls, body)
15273	if err != nil {
15274		return nil, err
15275	}
15276	req.Header = reqHeaders
15277	googleapi.Expand(req.URL, map[string]string{
15278		"parent": c.parent,
15279	})
15280	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15281}
15282
15283// Do executes the "tagmanager.accounts.user_permissions.list" call.
15284// Exactly one of *ListUserPermissionsResponse or error will be non-nil.
15285// Any non-2xx status code is an error. Response headers are in either
15286// *ListUserPermissionsResponse.ServerResponse.Header or (if a response
15287// was returned at all) in error.(*googleapi.Error).Header. Use
15288// googleapi.IsNotModified to check whether the returned error was
15289// because http.StatusNotModified was returned.
15290func (c *AccountsUserPermissionsListCall) Do(opts ...googleapi.CallOption) (*ListUserPermissionsResponse, error) {
15291	gensupport.SetOptions(c.urlParams_, opts...)
15292	res, err := c.doRequest("json")
15293	if res != nil && res.StatusCode == http.StatusNotModified {
15294		if res.Body != nil {
15295			res.Body.Close()
15296		}
15297		return nil, &googleapi.Error{
15298			Code:   res.StatusCode,
15299			Header: res.Header,
15300		}
15301	}
15302	if err != nil {
15303		return nil, err
15304	}
15305	defer googleapi.CloseBody(res)
15306	if err := googleapi.CheckResponse(res); err != nil {
15307		return nil, err
15308	}
15309	ret := &ListUserPermissionsResponse{
15310		ServerResponse: googleapi.ServerResponse{
15311			Header:         res.Header,
15312			HTTPStatusCode: res.StatusCode,
15313		},
15314	}
15315	target := &ret
15316	if err := gensupport.DecodeResponse(target, res); err != nil {
15317		return nil, err
15318	}
15319	return ret, nil
15320	// {
15321	//   "description": "List all users that have access to the account along with Account and\nContainer user access granted to each of them.",
15322	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions",
15323	//   "httpMethod": "GET",
15324	//   "id": "tagmanager.accounts.user_permissions.list",
15325	//   "parameterOrder": [
15326	//     "parent"
15327	//   ],
15328	//   "parameters": {
15329	//     "pageToken": {
15330	//       "description": "Continuation token for fetching the next page of results.",
15331	//       "location": "query",
15332	//       "type": "string"
15333	//     },
15334	//     "parent": {
15335	//       "description": "GTM Accounts's API relative path.\nExample: accounts/{account_id}",
15336	//       "location": "path",
15337	//       "pattern": "^accounts/[^/]+$",
15338	//       "required": true,
15339	//       "type": "string"
15340	//     }
15341	//   },
15342	//   "path": "tagmanager/v2/{+parent}/user_permissions",
15343	//   "response": {
15344	//     "$ref": "ListUserPermissionsResponse"
15345	//   },
15346	//   "scopes": [
15347	//     "https://www.googleapis.com/auth/tagmanager.manage.users"
15348	//   ]
15349	// }
15350
15351}
15352
15353// Pages invokes f for each page of results.
15354// A non-nil error returned from f will halt the iteration.
15355// The provided context supersedes any context provided to the Context method.
15356func (c *AccountsUserPermissionsListCall) Pages(ctx context.Context, f func(*ListUserPermissionsResponse) error) error {
15357	c.ctx_ = ctx
15358	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15359	for {
15360		x, err := c.Do()
15361		if err != nil {
15362			return err
15363		}
15364		if err := f(x); err != nil {
15365			return err
15366		}
15367		if x.NextPageToken == "" {
15368			return nil
15369		}
15370		c.PageToken(x.NextPageToken)
15371	}
15372}
15373
15374// method id "tagmanager.accounts.user_permissions.update":
15375
15376type AccountsUserPermissionsUpdateCall struct {
15377	s              *Service
15378	path           string
15379	userpermission *UserPermission
15380	urlParams_     gensupport.URLParams
15381	ctx_           context.Context
15382	header_        http.Header
15383}
15384
15385// Update: Updates a user's Account & Container access.
15386func (r *AccountsUserPermissionsService) Update(path string, userpermission *UserPermission) *AccountsUserPermissionsUpdateCall {
15387	c := &AccountsUserPermissionsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15388	c.path = path
15389	c.userpermission = userpermission
15390	return c
15391}
15392
15393// Fields allows partial responses to be retrieved. See
15394// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15395// for more information.
15396func (c *AccountsUserPermissionsUpdateCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsUpdateCall {
15397	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15398	return c
15399}
15400
15401// Context sets the context to be used in this call's Do method. Any
15402// pending HTTP request will be aborted if the provided context is
15403// canceled.
15404func (c *AccountsUserPermissionsUpdateCall) Context(ctx context.Context) *AccountsUserPermissionsUpdateCall {
15405	c.ctx_ = ctx
15406	return c
15407}
15408
15409// Header returns an http.Header that can be modified by the caller to
15410// add HTTP headers to the request.
15411func (c *AccountsUserPermissionsUpdateCall) Header() http.Header {
15412	if c.header_ == nil {
15413		c.header_ = make(http.Header)
15414	}
15415	return c.header_
15416}
15417
15418func (c *AccountsUserPermissionsUpdateCall) doRequest(alt string) (*http.Response, error) {
15419	reqHeaders := make(http.Header)
15420	for k, v := range c.header_ {
15421		reqHeaders[k] = v
15422	}
15423	reqHeaders.Set("User-Agent", c.s.userAgent())
15424	var body io.Reader = nil
15425	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userpermission)
15426	if err != nil {
15427		return nil, err
15428	}
15429	reqHeaders.Set("Content-Type", "application/json")
15430	c.urlParams_.Set("alt", alt)
15431	c.urlParams_.Set("prettyPrint", "false")
15432	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
15433	urls += "?" + c.urlParams_.Encode()
15434	req, err := http.NewRequest("PUT", urls, body)
15435	if err != nil {
15436		return nil, err
15437	}
15438	req.Header = reqHeaders
15439	googleapi.Expand(req.URL, map[string]string{
15440		"path": c.path,
15441	})
15442	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15443}
15444
15445// Do executes the "tagmanager.accounts.user_permissions.update" call.
15446// Exactly one of *UserPermission or error will be non-nil. Any non-2xx
15447// status code is an error. Response headers are in either
15448// *UserPermission.ServerResponse.Header or (if a response was returned
15449// at all) in error.(*googleapi.Error).Header. Use
15450// googleapi.IsNotModified to check whether the returned error was
15451// because http.StatusNotModified was returned.
15452func (c *AccountsUserPermissionsUpdateCall) Do(opts ...googleapi.CallOption) (*UserPermission, error) {
15453	gensupport.SetOptions(c.urlParams_, opts...)
15454	res, err := c.doRequest("json")
15455	if res != nil && res.StatusCode == http.StatusNotModified {
15456		if res.Body != nil {
15457			res.Body.Close()
15458		}
15459		return nil, &googleapi.Error{
15460			Code:   res.StatusCode,
15461			Header: res.Header,
15462		}
15463	}
15464	if err != nil {
15465		return nil, err
15466	}
15467	defer googleapi.CloseBody(res)
15468	if err := googleapi.CheckResponse(res); err != nil {
15469		return nil, err
15470	}
15471	ret := &UserPermission{
15472		ServerResponse: googleapi.ServerResponse{
15473			Header:         res.Header,
15474			HTTPStatusCode: res.StatusCode,
15475		},
15476	}
15477	target := &ret
15478	if err := gensupport.DecodeResponse(target, res); err != nil {
15479		return nil, err
15480	}
15481	return ret, nil
15482	// {
15483	//   "description": "Updates a user's Account \u0026 Container access.",
15484	//   "flatPath": "tagmanager/v2/accounts/{accountsId}/user_permissions/{user_permissionsId}",
15485	//   "httpMethod": "PUT",
15486	//   "id": "tagmanager.accounts.user_permissions.update",
15487	//   "parameterOrder": [
15488	//     "path"
15489	//   ],
15490	//   "parameters": {
15491	//     "path": {
15492	//       "description": "GTM UserPermission's API relative path.\nExample: accounts/{account_id}/user_permissions/{user_permission_id}",
15493	//       "location": "path",
15494	//       "pattern": "^accounts/[^/]+/user_permissions/[^/]+$",
15495	//       "required": true,
15496	//       "type": "string"
15497	//     }
15498	//   },
15499	//   "path": "tagmanager/v2/{+path}",
15500	//   "request": {
15501	//     "$ref": "UserPermission"
15502	//   },
15503	//   "response": {
15504	//     "$ref": "UserPermission"
15505	//   },
15506	//   "scopes": [
15507	//     "https://www.googleapis.com/auth/tagmanager.manage.users"
15508	//   ]
15509	// }
15510
15511}
15512