...

Source file src/google.golang.org/api/tagmanager/v2/tagmanager-gen.go

Documentation: google.golang.org/api/tagmanager/v2

     1  // Copyright 2024 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  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/tagmanager/v2"
    27  //	...
    28  //	ctx := context.Background()
    29  //	tagmanagerService, err := tagmanager.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // By default, all available scopes (see "Constants") are used to authenticate.
    38  // To restrict scopes, use [google.golang.org/api/option.WithScopes]:
    39  //
    40  //	tagmanagerService, err := tagmanager.NewService(ctx, option.WithScopes(tagmanager.TagmanagerReadonlyScope))
    41  //
    42  // To use an API key for authentication (note: some APIs do not support API
    43  // keys), use [google.golang.org/api/option.WithAPIKey]:
    44  //
    45  //	tagmanagerService, err := tagmanager.NewService(ctx, option.WithAPIKey("AIza..."))
    46  //
    47  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    48  // flow, use [google.golang.org/api/option.WithTokenSource]:
    49  //
    50  //	config := &oauth2.Config{...}
    51  //	// ...
    52  //	token, err := config.Exchange(ctx, ...)
    53  //	tagmanagerService, err := tagmanager.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package tagmanager // import "google.golang.org/api/tagmanager/v2"
    57  
    58  import (
    59  	"bytes"
    60  	"context"
    61  	"encoding/json"
    62  	"errors"
    63  	"fmt"
    64  	"io"
    65  	"net/http"
    66  	"net/url"
    67  	"strconv"
    68  	"strings"
    69  
    70  	googleapi "google.golang.org/api/googleapi"
    71  	internal "google.golang.org/api/internal"
    72  	gensupport "google.golang.org/api/internal/gensupport"
    73  	option "google.golang.org/api/option"
    74  	internaloption "google.golang.org/api/option/internaloption"
    75  	htransport "google.golang.org/api/transport/http"
    76  )
    77  
    78  // Always reference these packages, just in case the auto-generated code
    79  // below doesn't.
    80  var _ = bytes.NewBuffer
    81  var _ = strconv.Itoa
    82  var _ = fmt.Sprintf
    83  var _ = json.NewDecoder
    84  var _ = io.Copy
    85  var _ = url.Parse
    86  var _ = gensupport.MarshalJSON
    87  var _ = googleapi.Version
    88  var _ = errors.New
    89  var _ = strings.Replace
    90  var _ = context.Canceled
    91  var _ = internaloption.WithDefaultEndpoint
    92  var _ = internal.Version
    93  
    94  const apiId = "tagmanager:v2"
    95  const apiName = "tagmanager"
    96  const apiVersion = "v2"
    97  const basePath = "https://tagmanager.googleapis.com/"
    98  const basePathTemplate = "https://tagmanager.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://tagmanager.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// Delete your Google Tag Manager containers
   104  	TagmanagerDeleteContainersScope = "https://www.googleapis.com/auth/tagmanager.delete.containers"
   105  
   106  	// Manage your Google Tag Manager container and its subcomponents, excluding
   107  	// versioning and publishing
   108  	TagmanagerEditContainersScope = "https://www.googleapis.com/auth/tagmanager.edit.containers"
   109  
   110  	// Manage your Google Tag Manager container versions
   111  	TagmanagerEditContainerversionsScope = "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
   112  
   113  	// View and manage your Google Tag Manager accounts
   114  	TagmanagerManageAccountsScope = "https://www.googleapis.com/auth/tagmanager.manage.accounts"
   115  
   116  	// Manage user permissions of your Google Tag Manager account and container
   117  	TagmanagerManageUsersScope = "https://www.googleapis.com/auth/tagmanager.manage.users"
   118  
   119  	// Publish your Google Tag Manager container versions
   120  	TagmanagerPublishScope = "https://www.googleapis.com/auth/tagmanager.publish"
   121  
   122  	// View your Google Tag Manager container and its subcomponents
   123  	TagmanagerReadonlyScope = "https://www.googleapis.com/auth/tagmanager.readonly"
   124  )
   125  
   126  // NewService creates a new Service.
   127  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   128  	scopesOption := internaloption.WithDefaultScopes(
   129  		"https://www.googleapis.com/auth/tagmanager.delete.containers",
   130  		"https://www.googleapis.com/auth/tagmanager.edit.containers",
   131  		"https://www.googleapis.com/auth/tagmanager.edit.containerversions",
   132  		"https://www.googleapis.com/auth/tagmanager.manage.accounts",
   133  		"https://www.googleapis.com/auth/tagmanager.manage.users",
   134  		"https://www.googleapis.com/auth/tagmanager.publish",
   135  		"https://www.googleapis.com/auth/tagmanager.readonly",
   136  	)
   137  	// NOTE: prepend, so we don't override user-specified scopes.
   138  	opts = append([]option.ClientOption{scopesOption}, opts...)
   139  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   140  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   141  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   142  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   143  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   144  	if err != nil {
   145  		return nil, err
   146  	}
   147  	s, err := New(client)
   148  	if err != nil {
   149  		return nil, err
   150  	}
   151  	if endpoint != "" {
   152  		s.BasePath = endpoint
   153  	}
   154  	return s, nil
   155  }
   156  
   157  // New creates a new Service. It uses the provided http.Client for requests.
   158  //
   159  // Deprecated: please use NewService instead.
   160  // To provide a custom HTTP client, use option.WithHTTPClient.
   161  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   162  func New(client *http.Client) (*Service, error) {
   163  	if client == nil {
   164  		return nil, errors.New("client is nil")
   165  	}
   166  	s := &Service{client: client, BasePath: basePath}
   167  	s.Accounts = NewAccountsService(s)
   168  	return s, nil
   169  }
   170  
   171  type Service struct {
   172  	client    *http.Client
   173  	BasePath  string // API endpoint base URL
   174  	UserAgent string // optional additional User-Agent fragment
   175  
   176  	Accounts *AccountsService
   177  }
   178  
   179  func (s *Service) userAgent() string {
   180  	if s.UserAgent == "" {
   181  		return googleapi.UserAgent
   182  	}
   183  	return googleapi.UserAgent + " " + s.UserAgent
   184  }
   185  
   186  func NewAccountsService(s *Service) *AccountsService {
   187  	rs := &AccountsService{s: s}
   188  	rs.Containers = NewAccountsContainersService(s)
   189  	rs.UserPermissions = NewAccountsUserPermissionsService(s)
   190  	return rs
   191  }
   192  
   193  type AccountsService struct {
   194  	s *Service
   195  
   196  	Containers *AccountsContainersService
   197  
   198  	UserPermissions *AccountsUserPermissionsService
   199  }
   200  
   201  func NewAccountsContainersService(s *Service) *AccountsContainersService {
   202  	rs := &AccountsContainersService{s: s}
   203  	rs.Destinations = NewAccountsContainersDestinationsService(s)
   204  	rs.Environments = NewAccountsContainersEnvironmentsService(s)
   205  	rs.VersionHeaders = NewAccountsContainersVersionHeadersService(s)
   206  	rs.Versions = NewAccountsContainersVersionsService(s)
   207  	rs.Workspaces = NewAccountsContainersWorkspacesService(s)
   208  	return rs
   209  }
   210  
   211  type AccountsContainersService struct {
   212  	s *Service
   213  
   214  	Destinations *AccountsContainersDestinationsService
   215  
   216  	Environments *AccountsContainersEnvironmentsService
   217  
   218  	VersionHeaders *AccountsContainersVersionHeadersService
   219  
   220  	Versions *AccountsContainersVersionsService
   221  
   222  	Workspaces *AccountsContainersWorkspacesService
   223  }
   224  
   225  func NewAccountsContainersDestinationsService(s *Service) *AccountsContainersDestinationsService {
   226  	rs := &AccountsContainersDestinationsService{s: s}
   227  	return rs
   228  }
   229  
   230  type AccountsContainersDestinationsService struct {
   231  	s *Service
   232  }
   233  
   234  func NewAccountsContainersEnvironmentsService(s *Service) *AccountsContainersEnvironmentsService {
   235  	rs := &AccountsContainersEnvironmentsService{s: s}
   236  	return rs
   237  }
   238  
   239  type AccountsContainersEnvironmentsService struct {
   240  	s *Service
   241  }
   242  
   243  func NewAccountsContainersVersionHeadersService(s *Service) *AccountsContainersVersionHeadersService {
   244  	rs := &AccountsContainersVersionHeadersService{s: s}
   245  	return rs
   246  }
   247  
   248  type AccountsContainersVersionHeadersService struct {
   249  	s *Service
   250  }
   251  
   252  func NewAccountsContainersVersionsService(s *Service) *AccountsContainersVersionsService {
   253  	rs := &AccountsContainersVersionsService{s: s}
   254  	return rs
   255  }
   256  
   257  type AccountsContainersVersionsService struct {
   258  	s *Service
   259  }
   260  
   261  func NewAccountsContainersWorkspacesService(s *Service) *AccountsContainersWorkspacesService {
   262  	rs := &AccountsContainersWorkspacesService{s: s}
   263  	rs.BuiltInVariables = NewAccountsContainersWorkspacesBuiltInVariablesService(s)
   264  	rs.Clients = NewAccountsContainersWorkspacesClientsService(s)
   265  	rs.Folders = NewAccountsContainersWorkspacesFoldersService(s)
   266  	rs.GtagConfig = NewAccountsContainersWorkspacesGtagConfigService(s)
   267  	rs.Tags = NewAccountsContainersWorkspacesTagsService(s)
   268  	rs.Templates = NewAccountsContainersWorkspacesTemplatesService(s)
   269  	rs.Transformations = NewAccountsContainersWorkspacesTransformationsService(s)
   270  	rs.Triggers = NewAccountsContainersWorkspacesTriggersService(s)
   271  	rs.Variables = NewAccountsContainersWorkspacesVariablesService(s)
   272  	rs.Zones = NewAccountsContainersWorkspacesZonesService(s)
   273  	return rs
   274  }
   275  
   276  type AccountsContainersWorkspacesService struct {
   277  	s *Service
   278  
   279  	BuiltInVariables *AccountsContainersWorkspacesBuiltInVariablesService
   280  
   281  	Clients *AccountsContainersWorkspacesClientsService
   282  
   283  	Folders *AccountsContainersWorkspacesFoldersService
   284  
   285  	GtagConfig *AccountsContainersWorkspacesGtagConfigService
   286  
   287  	Tags *AccountsContainersWorkspacesTagsService
   288  
   289  	Templates *AccountsContainersWorkspacesTemplatesService
   290  
   291  	Transformations *AccountsContainersWorkspacesTransformationsService
   292  
   293  	Triggers *AccountsContainersWorkspacesTriggersService
   294  
   295  	Variables *AccountsContainersWorkspacesVariablesService
   296  
   297  	Zones *AccountsContainersWorkspacesZonesService
   298  }
   299  
   300  func NewAccountsContainersWorkspacesBuiltInVariablesService(s *Service) *AccountsContainersWorkspacesBuiltInVariablesService {
   301  	rs := &AccountsContainersWorkspacesBuiltInVariablesService{s: s}
   302  	return rs
   303  }
   304  
   305  type AccountsContainersWorkspacesBuiltInVariablesService struct {
   306  	s *Service
   307  }
   308  
   309  func NewAccountsContainersWorkspacesClientsService(s *Service) *AccountsContainersWorkspacesClientsService {
   310  	rs := &AccountsContainersWorkspacesClientsService{s: s}
   311  	return rs
   312  }
   313  
   314  type AccountsContainersWorkspacesClientsService struct {
   315  	s *Service
   316  }
   317  
   318  func NewAccountsContainersWorkspacesFoldersService(s *Service) *AccountsContainersWorkspacesFoldersService {
   319  	rs := &AccountsContainersWorkspacesFoldersService{s: s}
   320  	return rs
   321  }
   322  
   323  type AccountsContainersWorkspacesFoldersService struct {
   324  	s *Service
   325  }
   326  
   327  func NewAccountsContainersWorkspacesGtagConfigService(s *Service) *AccountsContainersWorkspacesGtagConfigService {
   328  	rs := &AccountsContainersWorkspacesGtagConfigService{s: s}
   329  	return rs
   330  }
   331  
   332  type AccountsContainersWorkspacesGtagConfigService struct {
   333  	s *Service
   334  }
   335  
   336  func NewAccountsContainersWorkspacesTagsService(s *Service) *AccountsContainersWorkspacesTagsService {
   337  	rs := &AccountsContainersWorkspacesTagsService{s: s}
   338  	return rs
   339  }
   340  
   341  type AccountsContainersWorkspacesTagsService struct {
   342  	s *Service
   343  }
   344  
   345  func NewAccountsContainersWorkspacesTemplatesService(s *Service) *AccountsContainersWorkspacesTemplatesService {
   346  	rs := &AccountsContainersWorkspacesTemplatesService{s: s}
   347  	return rs
   348  }
   349  
   350  type AccountsContainersWorkspacesTemplatesService struct {
   351  	s *Service
   352  }
   353  
   354  func NewAccountsContainersWorkspacesTransformationsService(s *Service) *AccountsContainersWorkspacesTransformationsService {
   355  	rs := &AccountsContainersWorkspacesTransformationsService{s: s}
   356  	return rs
   357  }
   358  
   359  type AccountsContainersWorkspacesTransformationsService struct {
   360  	s *Service
   361  }
   362  
   363  func NewAccountsContainersWorkspacesTriggersService(s *Service) *AccountsContainersWorkspacesTriggersService {
   364  	rs := &AccountsContainersWorkspacesTriggersService{s: s}
   365  	return rs
   366  }
   367  
   368  type AccountsContainersWorkspacesTriggersService struct {
   369  	s *Service
   370  }
   371  
   372  func NewAccountsContainersWorkspacesVariablesService(s *Service) *AccountsContainersWorkspacesVariablesService {
   373  	rs := &AccountsContainersWorkspacesVariablesService{s: s}
   374  	return rs
   375  }
   376  
   377  type AccountsContainersWorkspacesVariablesService struct {
   378  	s *Service
   379  }
   380  
   381  func NewAccountsContainersWorkspacesZonesService(s *Service) *AccountsContainersWorkspacesZonesService {
   382  	rs := &AccountsContainersWorkspacesZonesService{s: s}
   383  	return rs
   384  }
   385  
   386  type AccountsContainersWorkspacesZonesService struct {
   387  	s *Service
   388  }
   389  
   390  func NewAccountsUserPermissionsService(s *Service) *AccountsUserPermissionsService {
   391  	rs := &AccountsUserPermissionsService{s: s}
   392  	return rs
   393  }
   394  
   395  type AccountsUserPermissionsService struct {
   396  	s *Service
   397  }
   398  
   399  // Account: Represents a Google Tag Manager Account.
   400  type Account struct {
   401  	// AccountId: The Account ID uniquely identifies the GTM Account.
   402  	AccountId string `json:"accountId,omitempty"`
   403  	// Features: Read-only Account feature set
   404  	Features *AccountFeatures `json:"features,omitempty"`
   405  	// Fingerprint: The fingerprint of the GTM Account as computed at storage time.
   406  	// This value is recomputed whenever the account is modified.
   407  	Fingerprint string `json:"fingerprint,omitempty"`
   408  	// Name: Account display name. @mutable tagmanager.accounts.create @mutable
   409  	// tagmanager.accounts.update
   410  	Name string `json:"name,omitempty"`
   411  	// Path: GTM Account's API relative path.
   412  	Path string `json:"path,omitempty"`
   413  	// ShareData: Whether the account shares data anonymously with Google and
   414  	// others. This flag enables benchmarking by sharing your data in an anonymous
   415  	// form. Google will remove all identifiable information about your website,
   416  	// combine the data with hundreds of other anonymous sites and report aggregate
   417  	// trends in the benchmarking service. @mutable tagmanager.accounts.create
   418  	// @mutable tagmanager.accounts.update
   419  	ShareData bool `json:"shareData,omitempty"`
   420  	// TagManagerUrl: Auto generated link to the tag manager UI
   421  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
   422  
   423  	// ServerResponse contains the HTTP response code and headers from the server.
   424  	googleapi.ServerResponse `json:"-"`
   425  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   426  	// unconditionally include in API requests. By default, fields with empty or
   427  	// default values are omitted from API requests. See
   428  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   429  	// details.
   430  	ForceSendFields []string `json:"-"`
   431  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   432  	// requests with the JSON null value. By default, fields with empty values are
   433  	// omitted from API requests. See
   434  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   435  	NullFields []string `json:"-"`
   436  }
   437  
   438  func (s *Account) MarshalJSON() ([]byte, error) {
   439  	type NoMethod Account
   440  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   441  }
   442  
   443  // AccountAccess: Defines the Google Tag Manager Account access permissions.
   444  type AccountAccess struct {
   445  	// Permission: Whether the user has no access, user access, or admin access to
   446  	// an account. @mutable tagmanager.accounts.permissions.create @mutable
   447  	// tagmanager.accounts.permissions.update
   448  	//
   449  	// Possible values:
   450  	//   "accountPermissionUnspecified"
   451  	//   "noAccess"
   452  	//   "user"
   453  	//   "admin"
   454  	Permission string `json:"permission,omitempty"`
   455  	// ForceSendFields is a list of field names (e.g. "Permission") to
   456  	// unconditionally include in API requests. By default, fields with empty or
   457  	// default values are omitted from API requests. See
   458  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   459  	// details.
   460  	ForceSendFields []string `json:"-"`
   461  	// NullFields is a list of field names (e.g. "Permission") to include in API
   462  	// requests with the JSON null value. By default, fields with empty values are
   463  	// omitted from API requests. See
   464  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   465  	NullFields []string `json:"-"`
   466  }
   467  
   468  func (s *AccountAccess) MarshalJSON() ([]byte, error) {
   469  	type NoMethod AccountAccess
   470  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   471  }
   472  
   473  type AccountFeatures struct {
   474  	// SupportMultipleContainers: Whether this Account supports multiple
   475  	// Containers.
   476  	SupportMultipleContainers bool `json:"supportMultipleContainers,omitempty"`
   477  	// SupportUserPermissions: Whether this Account supports user permissions
   478  	// managed by GTM.
   479  	SupportUserPermissions bool `json:"supportUserPermissions,omitempty"`
   480  	// ForceSendFields is a list of field names (e.g. "SupportMultipleContainers")
   481  	// to unconditionally include in API requests. By default, fields with empty or
   482  	// default values are omitted from API requests. See
   483  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   484  	// details.
   485  	ForceSendFields []string `json:"-"`
   486  	// NullFields is a list of field names (e.g. "SupportMultipleContainers") to
   487  	// include in API requests with the JSON null value. By default, fields with
   488  	// empty values are omitted from API requests. See
   489  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   490  	NullFields []string `json:"-"`
   491  }
   492  
   493  func (s *AccountFeatures) MarshalJSON() ([]byte, error) {
   494  	type NoMethod AccountFeatures
   495  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   496  }
   497  
   498  // BuiltInVariable: Built-in variables are a special category of variables that
   499  // are pre-created and non-customizable. They provide common functionality like
   500  // accessing properties of the gtm data layer, monitoring clicks, or accessing
   501  // elements of a page URL.
   502  type BuiltInVariable struct {
   503  	// AccountId: GTM Account ID.
   504  	AccountId string `json:"accountId,omitempty"`
   505  	// ContainerId: GTM Container ID.
   506  	ContainerId string `json:"containerId,omitempty"`
   507  	// Name: Name of the built-in variable to be used to refer to the built-in
   508  	// variable.
   509  	Name string `json:"name,omitempty"`
   510  	// Path: GTM BuiltInVariable's API relative path.
   511  	Path string `json:"path,omitempty"`
   512  	// Type: Type of built-in variable.
   513  	// @required.tagmanager.accounts.containers.workspaces.built_in_variable.update
   514  	// @mutable tagmanager.accounts.containers.workspaces.built_in_variable.update
   515  	//
   516  	// Possible values:
   517  	//   "builtInVariableTypeUnspecified"
   518  	//   "pageUrl"
   519  	//   "pageHostname"
   520  	//   "pagePath"
   521  	//   "referrer"
   522  	//   "event" - For web or mobile.
   523  	//   "clickElement"
   524  	//   "clickClasses"
   525  	//   "clickId"
   526  	//   "clickTarget"
   527  	//   "clickUrl"
   528  	//   "clickText"
   529  	//   "firstPartyServingUrl"
   530  	//   "formElement"
   531  	//   "formClasses"
   532  	//   "formId"
   533  	//   "formTarget"
   534  	//   "formUrl"
   535  	//   "formText"
   536  	//   "errorMessage"
   537  	//   "errorUrl"
   538  	//   "errorLine"
   539  	//   "newHistoryUrl"
   540  	//   "oldHistoryUrl"
   541  	//   "newHistoryFragment"
   542  	//   "oldHistoryFragment"
   543  	//   "newHistoryState"
   544  	//   "oldHistoryState"
   545  	//   "historySource"
   546  	//   "containerVersion" - For web or mobile.
   547  	//   "debugMode"
   548  	//   "randomNumber" - For web or mobile.
   549  	//   "containerId" - For web or mobile.
   550  	//   "appId"
   551  	//   "appName"
   552  	//   "appVersionCode"
   553  	//   "appVersionName"
   554  	//   "language"
   555  	//   "osVersion"
   556  	//   "platform"
   557  	//   "sdkVersion"
   558  	//   "deviceName"
   559  	//   "resolution"
   560  	//   "advertiserId"
   561  	//   "advertisingTrackingEnabled"
   562  	//   "htmlId"
   563  	//   "environmentName"
   564  	//   "ampBrowserLanguage"
   565  	//   "ampCanonicalPath"
   566  	//   "ampCanonicalUrl"
   567  	//   "ampCanonicalHost"
   568  	//   "ampReferrer"
   569  	//   "ampTitle"
   570  	//   "ampClientId"
   571  	//   "ampClientTimezone"
   572  	//   "ampClientTimestamp"
   573  	//   "ampClientScreenWidth"
   574  	//   "ampClientScreenHeight"
   575  	//   "ampClientScrollX"
   576  	//   "ampClientScrollY"
   577  	//   "ampClientMaxScrollX"
   578  	//   "ampClientMaxScrollY"
   579  	//   "ampTotalEngagedTime"
   580  	//   "ampPageViewId"
   581  	//   "ampPageLoadTime"
   582  	//   "ampPageDownloadTime"
   583  	//   "ampGtmEvent"
   584  	//   "eventName"
   585  	//   "firebaseEventParameterCampaign"
   586  	//   "firebaseEventParameterCampaignAclid"
   587  	//   "firebaseEventParameterCampaignAnid"
   588  	//   "firebaseEventParameterCampaignClickTimestamp"
   589  	//   "firebaseEventParameterCampaignContent"
   590  	//   "firebaseEventParameterCampaignCp1"
   591  	//   "firebaseEventParameterCampaignGclid"
   592  	//   "firebaseEventParameterCampaignSource"
   593  	//   "firebaseEventParameterCampaignTerm"
   594  	//   "firebaseEventParameterCurrency"
   595  	//   "firebaseEventParameterDynamicLinkAcceptTime"
   596  	//   "firebaseEventParameterDynamicLinkLinkid"
   597  	//   "firebaseEventParameterNotificationMessageDeviceTime"
   598  	//   "firebaseEventParameterNotificationMessageId"
   599  	//   "firebaseEventParameterNotificationMessageName"
   600  	//   "firebaseEventParameterNotificationMessageTime"
   601  	//   "firebaseEventParameterNotificationTopic"
   602  	//   "firebaseEventParameterPreviousAppVersion"
   603  	//   "firebaseEventParameterPreviousOsVersion"
   604  	//   "firebaseEventParameterPrice"
   605  	//   "firebaseEventParameterProductId"
   606  	//   "firebaseEventParameterQuantity"
   607  	//   "firebaseEventParameterValue"
   608  	//   "videoProvider"
   609  	//   "videoUrl"
   610  	//   "videoTitle"
   611  	//   "videoDuration"
   612  	//   "videoPercent"
   613  	//   "videoVisible"
   614  	//   "videoStatus"
   615  	//   "videoCurrentTime"
   616  	//   "scrollDepthThreshold"
   617  	//   "scrollDepthUnits"
   618  	//   "scrollDepthDirection"
   619  	//   "elementVisibilityRatio"
   620  	//   "elementVisibilityTime"
   621  	//   "elementVisibilityFirstTime"
   622  	//   "elementVisibilityRecentTime"
   623  	//   "requestPath"
   624  	//   "requestMethod"
   625  	//   "clientName"
   626  	//   "queryString"
   627  	//   "serverPageLocationUrl"
   628  	//   "serverPageLocationPath"
   629  	//   "serverPageLocationHostname"
   630  	//   "visitorRegion"
   631  	Type string `json:"type,omitempty"`
   632  	// WorkspaceId: GTM Workspace ID.
   633  	WorkspaceId string `json:"workspaceId,omitempty"`
   634  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   635  	// unconditionally include in API requests. By default, fields with empty or
   636  	// default values are omitted from API requests. See
   637  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   638  	// details.
   639  	ForceSendFields []string `json:"-"`
   640  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   641  	// requests with the JSON null value. By default, fields with empty values are
   642  	// omitted from API requests. See
   643  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   644  	NullFields []string `json:"-"`
   645  }
   646  
   647  func (s *BuiltInVariable) MarshalJSON() ([]byte, error) {
   648  	type NoMethod BuiltInVariable
   649  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   650  }
   651  
   652  type Client struct {
   653  	// AccountId: GTM Account ID.
   654  	AccountId string `json:"accountId,omitempty"`
   655  	// ClientId: The Client ID uniquely identifies the GTM client.
   656  	ClientId string `json:"clientId,omitempty"`
   657  	// ContainerId: GTM Container ID.
   658  	ContainerId string `json:"containerId,omitempty"`
   659  	// Fingerprint: The fingerprint of the GTM Client as computed at storage time.
   660  	// This value is recomputed whenever the client is modified.
   661  	Fingerprint string `json:"fingerprint,omitempty"`
   662  	// Name: Client display name. @mutable
   663  	// tagmanager.accounts.containers.workspaces.clients.create @mutable
   664  	// tagmanager.accounts.containers.workspaces.clients.update
   665  	Name string `json:"name,omitempty"`
   666  	// Notes: User notes on how to apply this tag in the container. @mutable
   667  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
   668  	// tagmanager.accounts.containers.workspaces.tags.update
   669  	Notes string `json:"notes,omitempty"`
   670  	// Parameter: The client's parameters. @mutable
   671  	// tagmanager.accounts.containers.workspaces.clients.create @mutable
   672  	// tagmanager.accounts.containers.workspaces.clients.update
   673  	Parameter []*Parameter `json:"parameter,omitempty"`
   674  	// ParentFolderId: Parent folder id.
   675  	ParentFolderId string `json:"parentFolderId,omitempty"`
   676  	// Path: GTM client's API relative path.
   677  	Path string `json:"path,omitempty"`
   678  	// Priority: Priority determines relative firing order. @mutable
   679  	// tagmanager.accounts.containers.workspaces.clients.create @mutable
   680  	// tagmanager.accounts.containers.workspaces.clients.update
   681  	Priority int64 `json:"priority,omitempty"`
   682  	// TagManagerUrl: Auto generated link to the tag manager UI
   683  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
   684  	// Type: Client type. @mutable
   685  	// tagmanager.accounts.containers.workspaces.clients.create @mutable
   686  	// tagmanager.accounts.containers.workspaces.clients.update
   687  	Type string `json:"type,omitempty"`
   688  	// WorkspaceId: GTM Workspace ID.
   689  	WorkspaceId string `json:"workspaceId,omitempty"`
   690  
   691  	// ServerResponse contains the HTTP response code and headers from the server.
   692  	googleapi.ServerResponse `json:"-"`
   693  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   694  	// unconditionally include in API requests. By default, fields with empty or
   695  	// default values are omitted from API requests. See
   696  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   697  	// details.
   698  	ForceSendFields []string `json:"-"`
   699  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   700  	// requests with the JSON null value. By default, fields with empty values are
   701  	// omitted from API requests. See
   702  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   703  	NullFields []string `json:"-"`
   704  }
   705  
   706  func (s *Client) MarshalJSON() ([]byte, error) {
   707  	type NoMethod Client
   708  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   709  }
   710  
   711  // Condition: Represents a predicate.
   712  type Condition struct {
   713  	// Parameter: A list of named parameters (key/value), depending on the
   714  	// condition's type. Notes: - For binary operators, include parameters named
   715  	// arg0 and arg1 for specifying the left and right operands, respectively. - At
   716  	// this time, the left operand (arg0) must be a reference to a variable. - For
   717  	// case-insensitive Regex matching, include a boolean parameter named
   718  	// ignore_case that is set to true. If not specified or set to any other value,
   719  	// the matching will be case sensitive. - To negate an operator, include a
   720  	// boolean parameter named negate boolean parameter that is set to true.
   721  	// @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable
   722  	// tagmanager.accounts.containers.workspaces.triggers.update
   723  	Parameter []*Parameter `json:"parameter,omitempty"`
   724  	// Type: The type of operator for this condition. @mutable
   725  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
   726  	// tagmanager.accounts.containers.workspaces.triggers.update
   727  	//
   728  	// Possible values:
   729  	//   "conditionTypeUnspecified"
   730  	//   "equals"
   731  	//   "contains"
   732  	//   "startsWith"
   733  	//   "endsWith"
   734  	//   "matchRegex"
   735  	//   "greater"
   736  	//   "greaterOrEquals"
   737  	//   "less"
   738  	//   "lessOrEquals"
   739  	//   "cssSelector"
   740  	//   "urlMatches" - NOTE(lanzone): When defining a ConditionType here, don't
   741  	// forget to also define a matching PredicateType (in condition.proto).
   742  	Type string `json:"type,omitempty"`
   743  	// ForceSendFields is a list of field names (e.g. "Parameter") to
   744  	// unconditionally include in API requests. By default, fields with empty or
   745  	// default values are omitted from API requests. See
   746  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   747  	// details.
   748  	ForceSendFields []string `json:"-"`
   749  	// NullFields is a list of field names (e.g. "Parameter") to include in API
   750  	// requests with the JSON null value. By default, fields with empty values are
   751  	// omitted from API requests. See
   752  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   753  	NullFields []string `json:"-"`
   754  }
   755  
   756  func (s *Condition) MarshalJSON() ([]byte, error) {
   757  	type NoMethod Condition
   758  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   759  }
   760  
   761  // Container: Represents a Google Tag Manager Container, which specifies the
   762  // platform tags will run on, manages workspaces, and retains container
   763  // versions.
   764  type Container struct {
   765  	// AccountId: GTM Account ID.
   766  	AccountId string `json:"accountId,omitempty"`
   767  	// ContainerId: The Container ID uniquely identifies the GTM Container.
   768  	ContainerId string `json:"containerId,omitempty"`
   769  	// DomainName: List of domain names associated with the Container. @mutable
   770  	// tagmanager.accounts.containers.create @mutable
   771  	// tagmanager.accounts.containers.update
   772  	DomainName []string `json:"domainName,omitempty"`
   773  	// Features: Read-only Container feature set.
   774  	Features *ContainerFeatures `json:"features,omitempty"`
   775  	// Fingerprint: The fingerprint of the GTM Container as computed at storage
   776  	// time. This value is recomputed whenever the account is modified.
   777  	Fingerprint string `json:"fingerprint,omitempty"`
   778  	// Name: Container display name. @mutable tagmanager.accounts.containers.create
   779  	// @mutable tagmanager.accounts.containers.update
   780  	Name string `json:"name,omitempty"`
   781  	// Notes: Container Notes. @mutable tagmanager.accounts.containers.create
   782  	// @mutable tagmanager.accounts.containers.update
   783  	Notes string `json:"notes,omitempty"`
   784  	// Path: GTM Container's API relative path.
   785  	Path string `json:"path,omitempty"`
   786  	// PublicId: Container Public ID.
   787  	PublicId string `json:"publicId,omitempty"`
   788  	// TagIds: All Tag IDs that refer to this Container.
   789  	TagIds []string `json:"tagIds,omitempty"`
   790  	// TagManagerUrl: Auto generated link to the tag manager UI
   791  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
   792  	// TaggingServerUrls: List of server-side container URLs for the Container. If
   793  	// multiple URLs are provided, all URL paths must match. @mutable
   794  	// tagmanager.accounts.containers.create @mutable
   795  	// tagmanager.accounts.containers.update
   796  	TaggingServerUrls []string `json:"taggingServerUrls,omitempty"`
   797  	// UsageContext: List of Usage Contexts for the Container. Valid values
   798  	// include: web, android, or ios. @mutable
   799  	// tagmanager.accounts.containers.create @mutable
   800  	// tagmanager.accounts.containers.update
   801  	//
   802  	// Possible values:
   803  	//   "usageContextUnspecified"
   804  	//   "web"
   805  	//   "android"
   806  	//   "ios"
   807  	//   "androidSdk5"
   808  	//   "iosSdk5"
   809  	//   "amp"
   810  	//   "server"
   811  	UsageContext []string `json:"usageContext,omitempty"`
   812  
   813  	// ServerResponse contains the HTTP response code and headers from the server.
   814  	googleapi.ServerResponse `json:"-"`
   815  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   816  	// unconditionally include in API requests. By default, fields with empty or
   817  	// default values are omitted from API requests. See
   818  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   819  	// details.
   820  	ForceSendFields []string `json:"-"`
   821  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   822  	// requests with the JSON null value. By default, fields with empty values are
   823  	// omitted from API requests. See
   824  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   825  	NullFields []string `json:"-"`
   826  }
   827  
   828  func (s *Container) MarshalJSON() ([]byte, error) {
   829  	type NoMethod Container
   830  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   831  }
   832  
   833  // ContainerAccess: Defines the Google Tag Manager Container access
   834  // permissions.
   835  type ContainerAccess struct {
   836  	// ContainerId: GTM Container ID. @mutable
   837  	// tagmanager.accounts.permissions.create @mutable
   838  	// tagmanager.accounts.permissions.update
   839  	ContainerId string `json:"containerId,omitempty"`
   840  	// Permission: List of Container permissions. @mutable
   841  	// tagmanager.accounts.permissions.create @mutable
   842  	// tagmanager.accounts.permissions.update
   843  	//
   844  	// Possible values:
   845  	//   "containerPermissionUnspecified"
   846  	//   "noAccess"
   847  	//   "read"
   848  	//   "edit"
   849  	//   "approve"
   850  	//   "publish"
   851  	Permission string `json:"permission,omitempty"`
   852  	// ForceSendFields is a list of field names (e.g. "ContainerId") to
   853  	// unconditionally include in API requests. By default, fields with empty or
   854  	// default values are omitted from API requests. See
   855  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   856  	// details.
   857  	ForceSendFields []string `json:"-"`
   858  	// NullFields is a list of field names (e.g. "ContainerId") to include in API
   859  	// requests with the JSON null value. By default, fields with empty values are
   860  	// omitted from API requests. See
   861  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   862  	NullFields []string `json:"-"`
   863  }
   864  
   865  func (s *ContainerAccess) MarshalJSON() ([]byte, error) {
   866  	type NoMethod ContainerAccess
   867  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   868  }
   869  
   870  type ContainerFeatures struct {
   871  	// SupportBuiltInVariables: Whether this Container supports built-in variables
   872  	SupportBuiltInVariables bool `json:"supportBuiltInVariables,omitempty"`
   873  	// SupportClients: Whether this Container supports clients.
   874  	SupportClients bool `json:"supportClients,omitempty"`
   875  	// SupportEnvironments: Whether this Container supports environments.
   876  	SupportEnvironments bool `json:"supportEnvironments,omitempty"`
   877  	// SupportFolders: Whether this Container supports folders.
   878  	SupportFolders bool `json:"supportFolders,omitempty"`
   879  	// SupportGtagConfigs: Whether this Container supports Google tag config.
   880  	SupportGtagConfigs bool `json:"supportGtagConfigs,omitempty"`
   881  	// SupportTags: Whether this Container supports tags.
   882  	SupportTags bool `json:"supportTags,omitempty"`
   883  	// SupportTemplates: Whether this Container supports templates.
   884  	SupportTemplates bool `json:"supportTemplates,omitempty"`
   885  	// SupportTransformations: Whether this Container supports transformations.
   886  	SupportTransformations bool `json:"supportTransformations,omitempty"`
   887  	// SupportTriggers: Whether this Container supports triggers.
   888  	SupportTriggers bool `json:"supportTriggers,omitempty"`
   889  	// SupportUserPermissions: Whether this Container supports user permissions
   890  	// managed by GTM.
   891  	SupportUserPermissions bool `json:"supportUserPermissions,omitempty"`
   892  	// SupportVariables: Whether this Container supports variables.
   893  	SupportVariables bool `json:"supportVariables,omitempty"`
   894  	// SupportVersions: Whether this Container supports Container versions.
   895  	SupportVersions bool `json:"supportVersions,omitempty"`
   896  	// SupportWorkspaces: Whether this Container supports workspaces.
   897  	SupportWorkspaces bool `json:"supportWorkspaces,omitempty"`
   898  	// SupportZones: Whether this Container supports zones.
   899  	SupportZones bool `json:"supportZones,omitempty"`
   900  	// ForceSendFields is a list of field names (e.g. "SupportBuiltInVariables") to
   901  	// unconditionally include in API requests. By default, fields with empty or
   902  	// default values are omitted from API requests. See
   903  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   904  	// details.
   905  	ForceSendFields []string `json:"-"`
   906  	// NullFields is a list of field names (e.g. "SupportBuiltInVariables") to
   907  	// include in API requests with the JSON null value. By default, fields with
   908  	// empty values are omitted from API requests. See
   909  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   910  	NullFields []string `json:"-"`
   911  }
   912  
   913  func (s *ContainerFeatures) MarshalJSON() ([]byte, error) {
   914  	type NoMethod ContainerFeatures
   915  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   916  }
   917  
   918  // ContainerVersion: Represents a Google Tag Manager Container Version.
   919  type ContainerVersion struct {
   920  	// AccountId: GTM Account ID.
   921  	AccountId string `json:"accountId,omitempty"`
   922  	// BuiltInVariable: The built-in variables in the container that this version
   923  	// was taken from.
   924  	BuiltInVariable []*BuiltInVariable `json:"builtInVariable,omitempty"`
   925  	// Client: The clients in the container that this version was taken from.
   926  	Client []*Client `json:"client,omitempty"`
   927  	// Container: The container that this version was taken from.
   928  	Container *Container `json:"container,omitempty"`
   929  	// ContainerId: GTM Container ID.
   930  	ContainerId string `json:"containerId,omitempty"`
   931  	// ContainerVersionId: The Container Version ID uniquely identifies the GTM
   932  	// Container Version.
   933  	ContainerVersionId string `json:"containerVersionId,omitempty"`
   934  	// CustomTemplate: The custom templates in the container that this version was
   935  	// taken from.
   936  	CustomTemplate []*CustomTemplate `json:"customTemplate,omitempty"`
   937  	// Deleted: A value of true indicates this container version has been deleted.
   938  	Deleted bool `json:"deleted,omitempty"`
   939  	// Description: Container version description. @mutable
   940  	// tagmanager.accounts.containers.versions.update
   941  	Description string `json:"description,omitempty"`
   942  	// Fingerprint: The fingerprint of the GTM Container Version as computed at
   943  	// storage time. This value is recomputed whenever the container version is
   944  	// modified.
   945  	Fingerprint string `json:"fingerprint,omitempty"`
   946  	// Folder: The folders in the container that this version was taken from.
   947  	Folder []*Folder `json:"folder,omitempty"`
   948  	// GtagConfig: The Google tag configs in the container that this version was
   949  	// taken from.
   950  	GtagConfig []*GtagConfig `json:"gtagConfig,omitempty"`
   951  	// Name: Container version display name. @mutable
   952  	// tagmanager.accounts.containers.versions.update
   953  	Name string `json:"name,omitempty"`
   954  	// Path: GTM Container Version's API relative path.
   955  	Path string `json:"path,omitempty"`
   956  	// Tag: The tags in the container that this version was taken from.
   957  	Tag []*Tag `json:"tag,omitempty"`
   958  	// TagManagerUrl: Auto generated link to the tag manager UI
   959  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
   960  	// Transformation: The transformations in the container that this version was
   961  	// taken from.
   962  	Transformation []*Transformation `json:"transformation,omitempty"`
   963  	// Trigger: The triggers in the container that this version was taken from.
   964  	Trigger []*Trigger `json:"trigger,omitempty"`
   965  	// Variable: The variables in the container that this version was taken from.
   966  	Variable []*Variable `json:"variable,omitempty"`
   967  	// Zone: The zones in the container that this version was taken from.
   968  	Zone []*Zone `json:"zone,omitempty"`
   969  
   970  	// ServerResponse contains the HTTP response code and headers from the server.
   971  	googleapi.ServerResponse `json:"-"`
   972  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   973  	// unconditionally include in API requests. By default, fields with empty or
   974  	// default values are omitted from API requests. See
   975  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   976  	// details.
   977  	ForceSendFields []string `json:"-"`
   978  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   979  	// requests with the JSON null value. By default, fields with empty values are
   980  	// omitted from API requests. See
   981  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   982  	NullFields []string `json:"-"`
   983  }
   984  
   985  func (s *ContainerVersion) MarshalJSON() ([]byte, error) {
   986  	type NoMethod ContainerVersion
   987  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   988  }
   989  
   990  // ContainerVersionHeader: Represents a Google Tag Manager Container Version
   991  // Header.
   992  type ContainerVersionHeader struct {
   993  	// AccountId: GTM Account ID.
   994  	AccountId string `json:"accountId,omitempty"`
   995  	// ContainerId: GTM Container ID.
   996  	ContainerId string `json:"containerId,omitempty"`
   997  	// ContainerVersionId: The Container Version ID uniquely identifies the GTM
   998  	// Container Version.
   999  	ContainerVersionId string `json:"containerVersionId,omitempty"`
  1000  	// Deleted: A value of true indicates this container version has been deleted.
  1001  	Deleted bool `json:"deleted,omitempty"`
  1002  	// Name: Container version display name.
  1003  	Name string `json:"name,omitempty"`
  1004  	// NumClients: Number of clients in the container version.
  1005  	NumClients string `json:"numClients,omitempty"`
  1006  	// NumCustomTemplates: Number of custom templates in the container version.
  1007  	NumCustomTemplates string `json:"numCustomTemplates,omitempty"`
  1008  	// NumGtagConfigs: Number of Google tag configs in the container version.
  1009  	NumGtagConfigs string `json:"numGtagConfigs,omitempty"`
  1010  	// NumMacros: Number of macros in the container version.
  1011  	NumMacros string `json:"numMacros,omitempty"`
  1012  	// NumRules: Number of rules in the container version.
  1013  	NumRules string `json:"numRules,omitempty"`
  1014  	// NumTags: Number of tags in the container version.
  1015  	NumTags string `json:"numTags,omitempty"`
  1016  	// NumTransformations: Number of transformations in the container version.
  1017  	NumTransformations string `json:"numTransformations,omitempty"`
  1018  	// NumTriggers: Number of triggers in the container version.
  1019  	NumTriggers string `json:"numTriggers,omitempty"`
  1020  	// NumVariables: Number of variables in the container version.
  1021  	NumVariables string `json:"numVariables,omitempty"`
  1022  	// NumZones: Number of zones in the container version.
  1023  	NumZones string `json:"numZones,omitempty"`
  1024  	// Path: GTM Container Version's API relative path.
  1025  	Path string `json:"path,omitempty"`
  1026  
  1027  	// ServerResponse contains the HTTP response code and headers from the server.
  1028  	googleapi.ServerResponse `json:"-"`
  1029  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1030  	// unconditionally include in API requests. By default, fields with empty or
  1031  	// default values are omitted from API requests. See
  1032  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1033  	// details.
  1034  	ForceSendFields []string `json:"-"`
  1035  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1036  	// requests with the JSON null value. By default, fields with empty values are
  1037  	// omitted from API requests. See
  1038  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1039  	NullFields []string `json:"-"`
  1040  }
  1041  
  1042  func (s *ContainerVersionHeader) MarshalJSON() ([]byte, error) {
  1043  	type NoMethod ContainerVersionHeader
  1044  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1045  }
  1046  
  1047  type CreateBuiltInVariableResponse struct {
  1048  	// BuiltInVariable: List of created built-in variables.
  1049  	BuiltInVariable []*BuiltInVariable `json:"builtInVariable,omitempty"`
  1050  
  1051  	// ServerResponse contains the HTTP response code and headers from the server.
  1052  	googleapi.ServerResponse `json:"-"`
  1053  	// ForceSendFields is a list of field names (e.g. "BuiltInVariable") to
  1054  	// unconditionally include in API requests. By default, fields with empty or
  1055  	// default values are omitted from API requests. See
  1056  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1057  	// details.
  1058  	ForceSendFields []string `json:"-"`
  1059  	// NullFields is a list of field names (e.g. "BuiltInVariable") to include in
  1060  	// API requests with the JSON null value. By default, fields with empty values
  1061  	// are omitted from API requests. See
  1062  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1063  	NullFields []string `json:"-"`
  1064  }
  1065  
  1066  func (s *CreateBuiltInVariableResponse) MarshalJSON() ([]byte, error) {
  1067  	type NoMethod CreateBuiltInVariableResponse
  1068  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1069  }
  1070  
  1071  // CreateContainerVersionRequestVersionOptions: Options for new container
  1072  // versions.
  1073  type CreateContainerVersionRequestVersionOptions struct {
  1074  	// Name: The name of the container version to be created.
  1075  	Name string `json:"name,omitempty"`
  1076  	// Notes: The notes of the container version to be created.
  1077  	Notes string `json:"notes,omitempty"`
  1078  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1079  	// include in API requests. By default, fields with empty or default values are
  1080  	// omitted from API requests. See
  1081  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1082  	// details.
  1083  	ForceSendFields []string `json:"-"`
  1084  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1085  	// with the JSON null value. By default, fields with empty values are omitted
  1086  	// from API requests. See
  1087  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1088  	NullFields []string `json:"-"`
  1089  }
  1090  
  1091  func (s *CreateContainerVersionRequestVersionOptions) MarshalJSON() ([]byte, error) {
  1092  	type NoMethod CreateContainerVersionRequestVersionOptions
  1093  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1094  }
  1095  
  1096  // CreateContainerVersionResponse: Create container versions response.
  1097  type CreateContainerVersionResponse struct {
  1098  	// CompilerError: Compiler errors or not.
  1099  	CompilerError bool `json:"compilerError,omitempty"`
  1100  	// ContainerVersion: The container version created.
  1101  	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
  1102  	// NewWorkspacePath: Auto generated workspace path created as a result of
  1103  	// version creation. This field should only be populated if the created version
  1104  	// was not a quick preview.
  1105  	NewWorkspacePath string `json:"newWorkspacePath,omitempty"`
  1106  	// SyncStatus: Whether version creation failed when syncing the workspace to
  1107  	// the latest container version.
  1108  	SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
  1109  
  1110  	// ServerResponse contains the HTTP response code and headers from the server.
  1111  	googleapi.ServerResponse `json:"-"`
  1112  	// ForceSendFields is a list of field names (e.g. "CompilerError") to
  1113  	// unconditionally include in API requests. By default, fields with empty or
  1114  	// default values are omitted from API requests. See
  1115  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1116  	// details.
  1117  	ForceSendFields []string `json:"-"`
  1118  	// NullFields is a list of field names (e.g. "CompilerError") to include in API
  1119  	// requests with the JSON null value. By default, fields with empty values are
  1120  	// omitted from API requests. See
  1121  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1122  	NullFields []string `json:"-"`
  1123  }
  1124  
  1125  func (s *CreateContainerVersionResponse) MarshalJSON() ([]byte, error) {
  1126  	type NoMethod CreateContainerVersionResponse
  1127  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1128  }
  1129  
  1130  // CustomTemplate: Represents a Google Tag Manager Custom Template's contents.
  1131  type CustomTemplate struct {
  1132  	// AccountId: GTM Account ID.
  1133  	AccountId string `json:"accountId,omitempty"`
  1134  	// ContainerId: GTM Container ID.
  1135  	ContainerId string `json:"containerId,omitempty"`
  1136  	// Fingerprint: The fingerprint of the GTM Custom Template as computed at
  1137  	// storage time. This value is recomputed whenever the template is modified.
  1138  	Fingerprint string `json:"fingerprint,omitempty"`
  1139  	// GalleryReference: A reference to the Community Template Gallery entry.
  1140  	GalleryReference *GalleryReference `json:"galleryReference,omitempty"`
  1141  	// Name: Custom Template display name.
  1142  	Name string `json:"name,omitempty"`
  1143  	// Path: GTM Custom Template's API relative path.
  1144  	Path string `json:"path,omitempty"`
  1145  	// TagManagerUrl: Auto generated link to the tag manager UI
  1146  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  1147  	// TemplateData: The custom template in text format.
  1148  	TemplateData string `json:"templateData,omitempty"`
  1149  	// TemplateId: The Custom Template ID uniquely identifies the GTM custom
  1150  	// template.
  1151  	TemplateId string `json:"templateId,omitempty"`
  1152  	// WorkspaceId: GTM Workspace ID.
  1153  	WorkspaceId string `json:"workspaceId,omitempty"`
  1154  
  1155  	// ServerResponse contains the HTTP response code and headers from the server.
  1156  	googleapi.ServerResponse `json:"-"`
  1157  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1158  	// unconditionally include in API requests. By default, fields with empty or
  1159  	// default values are omitted from API requests. See
  1160  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1161  	// details.
  1162  	ForceSendFields []string `json:"-"`
  1163  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1164  	// requests with the JSON null value. By default, fields with empty values are
  1165  	// omitted from API requests. See
  1166  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1167  	NullFields []string `json:"-"`
  1168  }
  1169  
  1170  func (s *CustomTemplate) MarshalJSON() ([]byte, error) {
  1171  	type NoMethod CustomTemplate
  1172  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1173  }
  1174  
  1175  // Destination: Represents a Google Tag Destination.
  1176  type Destination struct {
  1177  	// AccountId: GTM Account ID.
  1178  	AccountId string `json:"accountId,omitempty"`
  1179  	// ContainerId: GTM Container ID.
  1180  	ContainerId string `json:"containerId,omitempty"`
  1181  	// DestinationId: Destination ID.
  1182  	DestinationId string `json:"destinationId,omitempty"`
  1183  	// DestinationLinkId: The Destination link ID uniquely identifies the
  1184  	// Destination.
  1185  	DestinationLinkId string `json:"destinationLinkId,omitempty"`
  1186  	// Fingerprint: The fingerprint of the Google Tag Destination as computed at
  1187  	// storage time. This value is recomputed whenever the destination is modified.
  1188  	Fingerprint string `json:"fingerprint,omitempty"`
  1189  	// Name: Destination display name.
  1190  	Name string `json:"name,omitempty"`
  1191  	// Path: Destination's API relative path.
  1192  	Path string `json:"path,omitempty"`
  1193  	// TagManagerUrl: Auto generated link to the tag manager UI.
  1194  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  1195  
  1196  	// ServerResponse contains the HTTP response code and headers from the server.
  1197  	googleapi.ServerResponse `json:"-"`
  1198  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1199  	// unconditionally include in API requests. By default, fields with empty or
  1200  	// default values are omitted from API requests. See
  1201  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1202  	// details.
  1203  	ForceSendFields []string `json:"-"`
  1204  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1205  	// requests with the JSON null value. By default, fields with empty values are
  1206  	// omitted from API requests. See
  1207  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1208  	NullFields []string `json:"-"`
  1209  }
  1210  
  1211  func (s *Destination) MarshalJSON() ([]byte, error) {
  1212  	type NoMethod Destination
  1213  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1214  }
  1215  
  1216  // Entity: A workspace entity that may represent a tag, trigger, variable, or
  1217  // folder in addition to its status in the workspace.
  1218  type Entity struct {
  1219  	// BuiltInVariable: The built in variable being represented by the entity.
  1220  	BuiltInVariable *BuiltInVariable `json:"builtInVariable,omitempty"`
  1221  	// ChangeStatus: Represents how the entity has been changed in the workspace.
  1222  	//
  1223  	// Possible values:
  1224  	//   "changeStatusUnspecified"
  1225  	//   "none" - The entity has never been changed.
  1226  	//   "added" - The entity is added to the workspace.
  1227  	//   "deleted" - The entity is deleted from the workspace.
  1228  	//   "updated" - The entity has been updated in the workspace.
  1229  	ChangeStatus string `json:"changeStatus,omitempty"`
  1230  	// Client: The client being represented by the entity.
  1231  	Client *Client `json:"client,omitempty"`
  1232  	// CustomTemplate: The custom template being represented by the entity.
  1233  	CustomTemplate *CustomTemplate `json:"customTemplate,omitempty"`
  1234  	// Folder: The folder being represented by the entity.
  1235  	Folder *Folder `json:"folder,omitempty"`
  1236  	// GtagConfig: The gtag config being represented by the entity.
  1237  	GtagConfig *GtagConfig `json:"gtagConfig,omitempty"`
  1238  	// Tag: The tag being represented by the entity.
  1239  	Tag *Tag `json:"tag,omitempty"`
  1240  	// Transformation: The transformation being represented by the entity.
  1241  	Transformation *Transformation `json:"transformation,omitempty"`
  1242  	// Trigger: The trigger being represented by the entity.
  1243  	Trigger *Trigger `json:"trigger,omitempty"`
  1244  	// Variable: The variable being represented by the entity.
  1245  	Variable *Variable `json:"variable,omitempty"`
  1246  	// Zone: The zone being represented by the entity.
  1247  	Zone *Zone `json:"zone,omitempty"`
  1248  	// ForceSendFields is a list of field names (e.g. "BuiltInVariable") to
  1249  	// unconditionally include in API requests. By default, fields with empty or
  1250  	// default values are omitted from API requests. See
  1251  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1252  	// details.
  1253  	ForceSendFields []string `json:"-"`
  1254  	// NullFields is a list of field names (e.g. "BuiltInVariable") to include in
  1255  	// API requests with the JSON null value. By default, fields with empty values
  1256  	// are omitted from API requests. See
  1257  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1258  	NullFields []string `json:"-"`
  1259  }
  1260  
  1261  func (s *Entity) MarshalJSON() ([]byte, error) {
  1262  	type NoMethod Entity
  1263  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1264  }
  1265  
  1266  // Environment: Represents a Google Tag Manager Environment. Note that a user
  1267  // can create, delete and update environments of type USER, but can only update
  1268  // the enable_debug and url fields of environments of other types.
  1269  type Environment struct {
  1270  	// AccountId: GTM Account ID.
  1271  	AccountId string `json:"accountId,omitempty"`
  1272  	// AuthorizationCode: The environment authorization code.
  1273  	AuthorizationCode string `json:"authorizationCode,omitempty"`
  1274  	// AuthorizationTimestamp: The last update time-stamp for the authorization
  1275  	// code.
  1276  	AuthorizationTimestamp string `json:"authorizationTimestamp,omitempty"`
  1277  	// ContainerId: GTM Container ID.
  1278  	ContainerId string `json:"containerId,omitempty"`
  1279  	// ContainerVersionId: Represents a link to a container version.
  1280  	ContainerVersionId string `json:"containerVersionId,omitempty"`
  1281  	// Description: The environment description. Can be set or changed only on USER
  1282  	// type environments. @mutable
  1283  	// tagmanager.accounts.containers.environments.create @mutable
  1284  	// tagmanager.accounts.containers.environments.update
  1285  	Description string `json:"description,omitempty"`
  1286  	// EnableDebug: Whether or not to enable debug by default for the environment.
  1287  	// @mutable tagmanager.accounts.containers.environments.create @mutable
  1288  	// tagmanager.accounts.containers.environments.update
  1289  	EnableDebug bool `json:"enableDebug,omitempty"`
  1290  	// EnvironmentId: GTM Environment ID uniquely identifies the GTM Environment.
  1291  	EnvironmentId string `json:"environmentId,omitempty"`
  1292  	// Fingerprint: The fingerprint of the GTM environment as computed at storage
  1293  	// time. This value is recomputed whenever the environment is modified.
  1294  	Fingerprint string `json:"fingerprint,omitempty"`
  1295  	// Name: The environment display name. Can be set or changed only on USER type
  1296  	// environments. @mutable tagmanager.accounts.containers.environments.create
  1297  	// @mutable tagmanager.accounts.containers.environments.update
  1298  	Name string `json:"name,omitempty"`
  1299  	// Path: GTM Environment's API relative path.
  1300  	Path string `json:"path,omitempty"`
  1301  	// TagManagerUrl: Auto generated link to the tag manager UI
  1302  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  1303  	// Type: The type of this environment.
  1304  	//
  1305  	// Possible values:
  1306  	//   "user" - Points to a user defined environment.
  1307  	//   "live" - Points to the current live container version.
  1308  	//   "latest" - Points to the latest container version.
  1309  	//   "workspace" - Automatically managed environment that points to a workspace
  1310  	// preview or version created by a workspace.
  1311  	Type string `json:"type,omitempty"`
  1312  	// Url: Default preview page url for the environment. @mutable
  1313  	// tagmanager.accounts.containers.environments.create @mutable
  1314  	// tagmanager.accounts.containers.environments.update
  1315  	Url string `json:"url,omitempty"`
  1316  	// WorkspaceId: Represents a link to a quick preview of a workspace.
  1317  	WorkspaceId string `json:"workspaceId,omitempty"`
  1318  
  1319  	// ServerResponse contains the HTTP response code and headers from the server.
  1320  	googleapi.ServerResponse `json:"-"`
  1321  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1322  	// unconditionally include in API requests. By default, fields with empty or
  1323  	// default values are omitted from API requests. See
  1324  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1325  	// details.
  1326  	ForceSendFields []string `json:"-"`
  1327  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1328  	// requests with the JSON null value. By default, fields with empty values are
  1329  	// omitted from API requests. See
  1330  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1331  	NullFields []string `json:"-"`
  1332  }
  1333  
  1334  func (s *Environment) MarshalJSON() ([]byte, error) {
  1335  	type NoMethod Environment
  1336  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1337  }
  1338  
  1339  // Folder: Represents a Google Tag Manager Folder.
  1340  type Folder struct {
  1341  	// AccountId: GTM Account ID.
  1342  	AccountId string `json:"accountId,omitempty"`
  1343  	// ContainerId: GTM Container ID.
  1344  	ContainerId string `json:"containerId,omitempty"`
  1345  	// Fingerprint: The fingerprint of the GTM Folder as computed at storage time.
  1346  	// This value is recomputed whenever the folder is modified.
  1347  	Fingerprint string `json:"fingerprint,omitempty"`
  1348  	// FolderId: The Folder ID uniquely identifies the GTM Folder.
  1349  	FolderId string `json:"folderId,omitempty"`
  1350  	// Name: Folder display name. @mutable
  1351  	// tagmanager.accounts.containers.workspaces.folders.create @mutable
  1352  	// tagmanager.accounts.containers.workspaces.folders.update
  1353  	Name string `json:"name,omitempty"`
  1354  	// Notes: User notes on how to apply this folder in the container. @mutable
  1355  	// tagmanager.accounts.containers.workspaces.folders.create @mutable
  1356  	// tagmanager.accounts.containers.workspaces.folders.update
  1357  	Notes string `json:"notes,omitempty"`
  1358  	// Path: GTM Folder's API relative path.
  1359  	Path string `json:"path,omitempty"`
  1360  	// TagManagerUrl: Auto generated link to the tag manager UI
  1361  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  1362  	// WorkspaceId: GTM Workspace ID.
  1363  	WorkspaceId string `json:"workspaceId,omitempty"`
  1364  
  1365  	// ServerResponse contains the HTTP response code and headers from the server.
  1366  	googleapi.ServerResponse `json:"-"`
  1367  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1368  	// unconditionally include in API requests. By default, fields with empty or
  1369  	// default values are omitted from API requests. See
  1370  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1371  	// details.
  1372  	ForceSendFields []string `json:"-"`
  1373  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1374  	// requests with the JSON null value. By default, fields with empty values are
  1375  	// omitted from API requests. See
  1376  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1377  	NullFields []string `json:"-"`
  1378  }
  1379  
  1380  func (s *Folder) MarshalJSON() ([]byte, error) {
  1381  	type NoMethod Folder
  1382  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1383  }
  1384  
  1385  // FolderEntities: Represents a Google Tag Manager Folder's contents.
  1386  type FolderEntities struct {
  1387  	// NextPageToken: Continuation token for fetching the next page of results.
  1388  	NextPageToken string `json:"nextPageToken,omitempty"`
  1389  	// Tag: The list of tags inside the folder.
  1390  	Tag []*Tag `json:"tag,omitempty"`
  1391  	// Trigger: The list of triggers inside the folder.
  1392  	Trigger []*Trigger `json:"trigger,omitempty"`
  1393  	// Variable: The list of variables inside the folder.
  1394  	Variable []*Variable `json:"variable,omitempty"`
  1395  
  1396  	// ServerResponse contains the HTTP response code and headers from the server.
  1397  	googleapi.ServerResponse `json:"-"`
  1398  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1399  	// unconditionally include in API requests. By default, fields with empty or
  1400  	// default values are omitted from API requests. See
  1401  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1402  	// details.
  1403  	ForceSendFields []string `json:"-"`
  1404  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1405  	// requests with the JSON null value. By default, fields with empty values are
  1406  	// omitted from API requests. See
  1407  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1408  	NullFields []string `json:"-"`
  1409  }
  1410  
  1411  func (s *FolderEntities) MarshalJSON() ([]byte, error) {
  1412  	type NoMethod FolderEntities
  1413  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1414  }
  1415  
  1416  // GalleryReference: Represents the link between a custom template and an entry
  1417  // on the Community Template Gallery site.
  1418  type GalleryReference struct {
  1419  	// Host: The name of the host for the community gallery template.
  1420  	Host string `json:"host,omitempty"`
  1421  	// IsModified: If a user has manually edited the community gallery template.
  1422  	IsModified bool `json:"isModified,omitempty"`
  1423  	// Owner: The name of the owner for the community gallery template.
  1424  	Owner string `json:"owner,omitempty"`
  1425  	// Repository: The name of the repository for the community gallery template.
  1426  	Repository string `json:"repository,omitempty"`
  1427  	// Signature: The signature of the community gallery template as computed at
  1428  	// import time. This value is recomputed whenever the template is updated from
  1429  	// the gallery.
  1430  	Signature string `json:"signature,omitempty"`
  1431  	// Version: The version of the community gallery template.
  1432  	Version string `json:"version,omitempty"`
  1433  	// ForceSendFields is a list of field names (e.g. "Host") to unconditionally
  1434  	// include in API requests. By default, fields with empty or default values are
  1435  	// omitted from API requests. See
  1436  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1437  	// details.
  1438  	ForceSendFields []string `json:"-"`
  1439  	// NullFields is a list of field names (e.g. "Host") to include in API requests
  1440  	// with the JSON null value. By default, fields with empty values are omitted
  1441  	// from API requests. See
  1442  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1443  	NullFields []string `json:"-"`
  1444  }
  1445  
  1446  func (s *GalleryReference) MarshalJSON() ([]byte, error) {
  1447  	type NoMethod GalleryReference
  1448  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1449  }
  1450  
  1451  type GetContainerSnippetResponse struct {
  1452  	// Snippet: Tagging snippet for a Container.
  1453  	Snippet string `json:"snippet,omitempty"`
  1454  
  1455  	// ServerResponse contains the HTTP response code and headers from the server.
  1456  	googleapi.ServerResponse `json:"-"`
  1457  	// ForceSendFields is a list of field names (e.g. "Snippet") to unconditionally
  1458  	// include in API requests. By default, fields with empty or default values are
  1459  	// omitted from API requests. See
  1460  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1461  	// details.
  1462  	ForceSendFields []string `json:"-"`
  1463  	// NullFields is a list of field names (e.g. "Snippet") to include in API
  1464  	// requests with the JSON null value. By default, fields with empty values are
  1465  	// omitted from API requests. See
  1466  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1467  	NullFields []string `json:"-"`
  1468  }
  1469  
  1470  func (s *GetContainerSnippetResponse) MarshalJSON() ([]byte, error) {
  1471  	type NoMethod GetContainerSnippetResponse
  1472  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1473  }
  1474  
  1475  // GetWorkspaceStatusResponse: The changes that have occurred in the workspace
  1476  // since the base container version.
  1477  type GetWorkspaceStatusResponse struct {
  1478  	// MergeConflict: The merge conflict after sync.
  1479  	MergeConflict []*MergeConflict `json:"mergeConflict,omitempty"`
  1480  	// WorkspaceChange: Entities that have been changed in the workspace.
  1481  	WorkspaceChange []*Entity `json:"workspaceChange,omitempty"`
  1482  
  1483  	// ServerResponse contains the HTTP response code and headers from the server.
  1484  	googleapi.ServerResponse `json:"-"`
  1485  	// ForceSendFields is a list of field names (e.g. "MergeConflict") to
  1486  	// unconditionally include in API requests. By default, fields with empty or
  1487  	// default values are omitted from API requests. See
  1488  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1489  	// details.
  1490  	ForceSendFields []string `json:"-"`
  1491  	// NullFields is a list of field names (e.g. "MergeConflict") to include in API
  1492  	// requests with the JSON null value. By default, fields with empty values are
  1493  	// omitted from API requests. See
  1494  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1495  	NullFields []string `json:"-"`
  1496  }
  1497  
  1498  func (s *GetWorkspaceStatusResponse) MarshalJSON() ([]byte, error) {
  1499  	type NoMethod GetWorkspaceStatusResponse
  1500  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1501  }
  1502  
  1503  // GtagConfig: Represents a Google tag configuration.
  1504  type GtagConfig struct {
  1505  	// AccountId: Google tag account ID.
  1506  	AccountId string `json:"accountId,omitempty"`
  1507  	// ContainerId: Google tag container ID.
  1508  	ContainerId string `json:"containerId,omitempty"`
  1509  	// Fingerprint: The fingerprint of the Google tag config as computed at storage
  1510  	// time. This value is recomputed whenever the config is modified.
  1511  	Fingerprint string `json:"fingerprint,omitempty"`
  1512  	// GtagConfigId: The ID uniquely identifies the Google tag config.
  1513  	GtagConfigId string `json:"gtagConfigId,omitempty"`
  1514  	// Parameter: The Google tag config's parameters. @mutable
  1515  	// tagmanager.accounts.containers.workspaces.gtag_config.create @mutable
  1516  	// tagmanager.accounts.containers.workspaces.gtag_config.update
  1517  	Parameter []*Parameter `json:"parameter,omitempty"`
  1518  	// Path: Google tag config's API relative path.
  1519  	Path string `json:"path,omitempty"`
  1520  	// TagManagerUrl: Auto generated link to the tag manager UI
  1521  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  1522  	// Type: Google tag config type. @required
  1523  	// tagmanager.accounts.containers.workspaces.gtag_config.create @required
  1524  	// tagmanager.accounts.containers.workspaces.gtag_config.update @mutable
  1525  	// tagmanager.accounts.containers.workspaces.gtag_config.create @mutable
  1526  	// tagmanager.accounts.containers.workspaces.gtag_config.update
  1527  	Type string `json:"type,omitempty"`
  1528  	// WorkspaceId: Google tag workspace ID. Only used by GTM containers. Set to 0
  1529  	// otherwise.
  1530  	WorkspaceId string `json:"workspaceId,omitempty"`
  1531  
  1532  	// ServerResponse contains the HTTP response code and headers from the server.
  1533  	googleapi.ServerResponse `json:"-"`
  1534  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1535  	// unconditionally include in API requests. By default, fields with empty or
  1536  	// default values are omitted from API requests. See
  1537  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1538  	// details.
  1539  	ForceSendFields []string `json:"-"`
  1540  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1541  	// requests with the JSON null value. By default, fields with empty values are
  1542  	// omitted from API requests. See
  1543  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1544  	NullFields []string `json:"-"`
  1545  }
  1546  
  1547  func (s *GtagConfig) MarshalJSON() ([]byte, error) {
  1548  	type NoMethod GtagConfig
  1549  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1550  }
  1551  
  1552  // ListAccountsResponse: List Accounts Response.
  1553  type ListAccountsResponse struct {
  1554  	// Account: List of GTM Accounts that a user has access to.
  1555  	Account []*Account `json:"account,omitempty"`
  1556  	// NextPageToken: Continuation token for fetching the next page of results.
  1557  	NextPageToken string `json:"nextPageToken,omitempty"`
  1558  
  1559  	// ServerResponse contains the HTTP response code and headers from the server.
  1560  	googleapi.ServerResponse `json:"-"`
  1561  	// ForceSendFields is a list of field names (e.g. "Account") to unconditionally
  1562  	// include in API requests. By default, fields with empty or default values are
  1563  	// omitted from API requests. See
  1564  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1565  	// details.
  1566  	ForceSendFields []string `json:"-"`
  1567  	// NullFields is a list of field names (e.g. "Account") to include in API
  1568  	// requests with the JSON null value. By default, fields with empty values are
  1569  	// omitted from API requests. See
  1570  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1571  	NullFields []string `json:"-"`
  1572  }
  1573  
  1574  func (s *ListAccountsResponse) MarshalJSON() ([]byte, error) {
  1575  	type NoMethod ListAccountsResponse
  1576  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1577  }
  1578  
  1579  type ListClientsResponse struct {
  1580  	// Client: All GTM Clients of a GTM Container.
  1581  	Client []*Client `json:"client,omitempty"`
  1582  	// NextPageToken: Continuation token for fetching the next page of results.
  1583  	NextPageToken string `json:"nextPageToken,omitempty"`
  1584  
  1585  	// ServerResponse contains the HTTP response code and headers from the server.
  1586  	googleapi.ServerResponse `json:"-"`
  1587  	// ForceSendFields is a list of field names (e.g. "Client") to unconditionally
  1588  	// include in API requests. By default, fields with empty or default values are
  1589  	// omitted from API requests. See
  1590  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1591  	// details.
  1592  	ForceSendFields []string `json:"-"`
  1593  	// NullFields is a list of field names (e.g. "Client") to include in API
  1594  	// requests with the JSON null value. By default, fields with empty values are
  1595  	// omitted from API requests. See
  1596  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1597  	NullFields []string `json:"-"`
  1598  }
  1599  
  1600  func (s *ListClientsResponse) MarshalJSON() ([]byte, error) {
  1601  	type NoMethod ListClientsResponse
  1602  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1603  }
  1604  
  1605  // ListContainerVersionsResponse: List container versions response.
  1606  type ListContainerVersionsResponse struct {
  1607  	// ContainerVersionHeader: All container version headers of a GTM Container.
  1608  	ContainerVersionHeader []*ContainerVersionHeader `json:"containerVersionHeader,omitempty"`
  1609  	// NextPageToken: Continuation token for fetching the next page of results.
  1610  	NextPageToken string `json:"nextPageToken,omitempty"`
  1611  
  1612  	// ServerResponse contains the HTTP response code and headers from the server.
  1613  	googleapi.ServerResponse `json:"-"`
  1614  	// ForceSendFields is a list of field names (e.g. "ContainerVersionHeader") to
  1615  	// unconditionally include in API requests. By default, fields with empty or
  1616  	// default values are omitted from API requests. See
  1617  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1618  	// details.
  1619  	ForceSendFields []string `json:"-"`
  1620  	// NullFields is a list of field names (e.g. "ContainerVersionHeader") to
  1621  	// include in API requests with the JSON null value. By default, fields with
  1622  	// empty values are omitted from API requests. See
  1623  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1624  	NullFields []string `json:"-"`
  1625  }
  1626  
  1627  func (s *ListContainerVersionsResponse) MarshalJSON() ([]byte, error) {
  1628  	type NoMethod ListContainerVersionsResponse
  1629  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1630  }
  1631  
  1632  // ListContainersResponse: List Containers Response.
  1633  type ListContainersResponse struct {
  1634  	// Container: All Containers of a GTM Account.
  1635  	Container []*Container `json:"container,omitempty"`
  1636  	// NextPageToken: Continuation token for fetching the next page of results.
  1637  	NextPageToken string `json:"nextPageToken,omitempty"`
  1638  
  1639  	// ServerResponse contains the HTTP response code and headers from the server.
  1640  	googleapi.ServerResponse `json:"-"`
  1641  	// ForceSendFields is a list of field names (e.g. "Container") to
  1642  	// unconditionally include in API requests. By default, fields with empty or
  1643  	// default values are omitted from API requests. See
  1644  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1645  	// details.
  1646  	ForceSendFields []string `json:"-"`
  1647  	// NullFields is a list of field names (e.g. "Container") to include in API
  1648  	// requests with the JSON null value. By default, fields with empty values are
  1649  	// omitted from API requests. See
  1650  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1651  	NullFields []string `json:"-"`
  1652  }
  1653  
  1654  func (s *ListContainersResponse) MarshalJSON() ([]byte, error) {
  1655  	type NoMethod ListContainersResponse
  1656  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1657  }
  1658  
  1659  type ListDestinationsResponse struct {
  1660  	// Destination: All Destinations linked to a GTM Container.
  1661  	Destination []*Destination `json:"destination,omitempty"`
  1662  	// NextPageToken: Continuation token for fetching the next page of results.
  1663  	NextPageToken string `json:"nextPageToken,omitempty"`
  1664  
  1665  	// ServerResponse contains the HTTP response code and headers from the server.
  1666  	googleapi.ServerResponse `json:"-"`
  1667  	// ForceSendFields is a list of field names (e.g. "Destination") to
  1668  	// unconditionally include in API requests. By default, fields with empty or
  1669  	// default values are omitted from API requests. See
  1670  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1671  	// details.
  1672  	ForceSendFields []string `json:"-"`
  1673  	// NullFields is a list of field names (e.g. "Destination") to include in API
  1674  	// requests with the JSON null value. By default, fields with empty values are
  1675  	// omitted from API requests. See
  1676  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1677  	NullFields []string `json:"-"`
  1678  }
  1679  
  1680  func (s *ListDestinationsResponse) MarshalJSON() ([]byte, error) {
  1681  	type NoMethod ListDestinationsResponse
  1682  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1683  }
  1684  
  1685  // ListEnabledBuiltInVariablesResponse: A list of enabled built-in variables.
  1686  type ListEnabledBuiltInVariablesResponse struct {
  1687  	// BuiltInVariable: All GTM BuiltInVariables of a GTM container.
  1688  	BuiltInVariable []*BuiltInVariable `json:"builtInVariable,omitempty"`
  1689  	// NextPageToken: Continuation token for fetching the next page of results.
  1690  	NextPageToken string `json:"nextPageToken,omitempty"`
  1691  
  1692  	// ServerResponse contains the HTTP response code and headers from the server.
  1693  	googleapi.ServerResponse `json:"-"`
  1694  	// ForceSendFields is a list of field names (e.g. "BuiltInVariable") to
  1695  	// unconditionally include in API requests. By default, fields with empty or
  1696  	// default values are omitted from API requests. See
  1697  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1698  	// details.
  1699  	ForceSendFields []string `json:"-"`
  1700  	// NullFields is a list of field names (e.g. "BuiltInVariable") to include in
  1701  	// API requests with the JSON null value. By default, fields with empty values
  1702  	// are omitted from API requests. See
  1703  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1704  	NullFields []string `json:"-"`
  1705  }
  1706  
  1707  func (s *ListEnabledBuiltInVariablesResponse) MarshalJSON() ([]byte, error) {
  1708  	type NoMethod ListEnabledBuiltInVariablesResponse
  1709  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1710  }
  1711  
  1712  // ListEnvironmentsResponse: List Environments Response.
  1713  type ListEnvironmentsResponse struct {
  1714  	// Environment: All Environments of a GTM Container.
  1715  	Environment []*Environment `json:"environment,omitempty"`
  1716  	// NextPageToken: Continuation token for fetching the next page of results.
  1717  	NextPageToken string `json:"nextPageToken,omitempty"`
  1718  
  1719  	// ServerResponse contains the HTTP response code and headers from the server.
  1720  	googleapi.ServerResponse `json:"-"`
  1721  	// ForceSendFields is a list of field names (e.g. "Environment") to
  1722  	// unconditionally include in API requests. By default, fields with empty or
  1723  	// default values are omitted from API requests. See
  1724  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1725  	// details.
  1726  	ForceSendFields []string `json:"-"`
  1727  	// NullFields is a list of field names (e.g. "Environment") to include in API
  1728  	// requests with the JSON null value. By default, fields with empty values are
  1729  	// omitted from API requests. See
  1730  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1731  	NullFields []string `json:"-"`
  1732  }
  1733  
  1734  func (s *ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
  1735  	type NoMethod ListEnvironmentsResponse
  1736  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1737  }
  1738  
  1739  // ListFoldersResponse: List Folders Response.
  1740  type ListFoldersResponse struct {
  1741  	// Folder: All GTM Folders of a GTM Container.
  1742  	Folder []*Folder `json:"folder,omitempty"`
  1743  	// NextPageToken: Continuation token for fetching the next page of results.
  1744  	NextPageToken string `json:"nextPageToken,omitempty"`
  1745  
  1746  	// ServerResponse contains the HTTP response code and headers from the server.
  1747  	googleapi.ServerResponse `json:"-"`
  1748  	// ForceSendFields is a list of field names (e.g. "Folder") to unconditionally
  1749  	// include in API requests. By default, fields with empty or default values are
  1750  	// omitted from API requests. See
  1751  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1752  	// details.
  1753  	ForceSendFields []string `json:"-"`
  1754  	// NullFields is a list of field names (e.g. "Folder") to include in API
  1755  	// requests with the JSON null value. By default, fields with empty values are
  1756  	// omitted from API requests. See
  1757  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1758  	NullFields []string `json:"-"`
  1759  }
  1760  
  1761  func (s *ListFoldersResponse) MarshalJSON() ([]byte, error) {
  1762  	type NoMethod ListFoldersResponse
  1763  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1764  }
  1765  
  1766  type ListGtagConfigResponse struct {
  1767  	// GtagConfig: All Google tag configs in a Container.
  1768  	GtagConfig []*GtagConfig `json:"gtagConfig,omitempty"`
  1769  	// NextPageToken: Continuation token for fetching the next page of results.
  1770  	NextPageToken string `json:"nextPageToken,omitempty"`
  1771  
  1772  	// ServerResponse contains the HTTP response code and headers from the server.
  1773  	googleapi.ServerResponse `json:"-"`
  1774  	// ForceSendFields is a list of field names (e.g. "GtagConfig") to
  1775  	// unconditionally include in API requests. By default, fields with empty or
  1776  	// default values are omitted from API requests. See
  1777  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1778  	// details.
  1779  	ForceSendFields []string `json:"-"`
  1780  	// NullFields is a list of field names (e.g. "GtagConfig") to include in API
  1781  	// requests with the JSON null value. By default, fields with empty values are
  1782  	// omitted from API requests. See
  1783  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1784  	NullFields []string `json:"-"`
  1785  }
  1786  
  1787  func (s *ListGtagConfigResponse) MarshalJSON() ([]byte, error) {
  1788  	type NoMethod ListGtagConfigResponse
  1789  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1790  }
  1791  
  1792  // ListTagsResponse: List Tags Response.
  1793  type ListTagsResponse struct {
  1794  	// NextPageToken: Continuation token for fetching the next page of results.
  1795  	NextPageToken string `json:"nextPageToken,omitempty"`
  1796  	// Tag: All GTM Tags of a GTM Container.
  1797  	Tag []*Tag `json:"tag,omitempty"`
  1798  
  1799  	// ServerResponse contains the HTTP response code and headers from the server.
  1800  	googleapi.ServerResponse `json:"-"`
  1801  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1802  	// unconditionally include in API requests. By default, fields with empty or
  1803  	// default values are omitted from API requests. See
  1804  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1805  	// details.
  1806  	ForceSendFields []string `json:"-"`
  1807  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1808  	// requests with the JSON null value. By default, fields with empty values are
  1809  	// omitted from API requests. See
  1810  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1811  	NullFields []string `json:"-"`
  1812  }
  1813  
  1814  func (s *ListTagsResponse) MarshalJSON() ([]byte, error) {
  1815  	type NoMethod ListTagsResponse
  1816  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1817  }
  1818  
  1819  type ListTemplatesResponse struct {
  1820  	// NextPageToken: Continuation token for fetching the next page of results.
  1821  	NextPageToken string `json:"nextPageToken,omitempty"`
  1822  	// Template: All GTM Custom Templates of a GTM Container.
  1823  	Template []*CustomTemplate `json:"template,omitempty"`
  1824  
  1825  	// ServerResponse contains the HTTP response code and headers from the server.
  1826  	googleapi.ServerResponse `json:"-"`
  1827  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1828  	// unconditionally include in API requests. By default, fields with empty or
  1829  	// default values are omitted from API requests. See
  1830  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1831  	// details.
  1832  	ForceSendFields []string `json:"-"`
  1833  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1834  	// requests with the JSON null value. By default, fields with empty values are
  1835  	// omitted from API requests. See
  1836  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1837  	NullFields []string `json:"-"`
  1838  }
  1839  
  1840  func (s *ListTemplatesResponse) MarshalJSON() ([]byte, error) {
  1841  	type NoMethod ListTemplatesResponse
  1842  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1843  }
  1844  
  1845  type ListTransformationsResponse struct {
  1846  	// NextPageToken: Continuation token for fetching the next page of results.
  1847  	NextPageToken string `json:"nextPageToken,omitempty"`
  1848  	// Transformation: All GTM Transformations of a GTM Container.
  1849  	Transformation []*Transformation `json:"transformation,omitempty"`
  1850  
  1851  	// ServerResponse contains the HTTP response code and headers from the server.
  1852  	googleapi.ServerResponse `json:"-"`
  1853  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1854  	// unconditionally include in API requests. By default, fields with empty or
  1855  	// default values are omitted from API requests. See
  1856  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1857  	// details.
  1858  	ForceSendFields []string `json:"-"`
  1859  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1860  	// requests with the JSON null value. By default, fields with empty values are
  1861  	// omitted from API requests. See
  1862  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1863  	NullFields []string `json:"-"`
  1864  }
  1865  
  1866  func (s *ListTransformationsResponse) MarshalJSON() ([]byte, error) {
  1867  	type NoMethod ListTransformationsResponse
  1868  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1869  }
  1870  
  1871  // ListTriggersResponse: List triggers response.
  1872  type ListTriggersResponse struct {
  1873  	// NextPageToken: Continuation token for fetching the next page of results.
  1874  	NextPageToken string `json:"nextPageToken,omitempty"`
  1875  	// Trigger: All GTM Triggers of a GTM Container.
  1876  	Trigger []*Trigger `json:"trigger,omitempty"`
  1877  
  1878  	// ServerResponse contains the HTTP response code and headers from the server.
  1879  	googleapi.ServerResponse `json:"-"`
  1880  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1881  	// unconditionally include in API requests. By default, fields with empty or
  1882  	// default values are omitted from API requests. See
  1883  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1884  	// details.
  1885  	ForceSendFields []string `json:"-"`
  1886  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1887  	// requests with the JSON null value. By default, fields with empty values are
  1888  	// omitted from API requests. See
  1889  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1890  	NullFields []string `json:"-"`
  1891  }
  1892  
  1893  func (s *ListTriggersResponse) MarshalJSON() ([]byte, error) {
  1894  	type NoMethod ListTriggersResponse
  1895  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1896  }
  1897  
  1898  // ListUserPermissionsResponse: List user permissions response.
  1899  type ListUserPermissionsResponse struct {
  1900  	// NextPageToken: Continuation token for fetching the next page of results.
  1901  	NextPageToken string `json:"nextPageToken,omitempty"`
  1902  	// UserPermission: All GTM UserPermissions of a GTM Account.
  1903  	UserPermission []*UserPermission `json:"userPermission,omitempty"`
  1904  
  1905  	// ServerResponse contains the HTTP response code and headers from the server.
  1906  	googleapi.ServerResponse `json:"-"`
  1907  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1908  	// unconditionally include in API requests. By default, fields with empty or
  1909  	// default values are omitted from API requests. See
  1910  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1911  	// details.
  1912  	ForceSendFields []string `json:"-"`
  1913  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1914  	// requests with the JSON null value. By default, fields with empty values are
  1915  	// omitted from API requests. See
  1916  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1917  	NullFields []string `json:"-"`
  1918  }
  1919  
  1920  func (s *ListUserPermissionsResponse) MarshalJSON() ([]byte, error) {
  1921  	type NoMethod ListUserPermissionsResponse
  1922  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1923  }
  1924  
  1925  // ListVariablesResponse: List Variables Response.
  1926  type ListVariablesResponse struct {
  1927  	// NextPageToken: Continuation token for fetching the next page of results.
  1928  	NextPageToken string `json:"nextPageToken,omitempty"`
  1929  	// Variable: All GTM Variables of a GTM Container.
  1930  	Variable []*Variable `json:"variable,omitempty"`
  1931  
  1932  	// ServerResponse contains the HTTP response code and headers from the server.
  1933  	googleapi.ServerResponse `json:"-"`
  1934  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1935  	// unconditionally include in API requests. By default, fields with empty or
  1936  	// default values are omitted from API requests. See
  1937  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1938  	// details.
  1939  	ForceSendFields []string `json:"-"`
  1940  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1941  	// requests with the JSON null value. By default, fields with empty values are
  1942  	// omitted from API requests. See
  1943  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1944  	NullFields []string `json:"-"`
  1945  }
  1946  
  1947  func (s *ListVariablesResponse) MarshalJSON() ([]byte, error) {
  1948  	type NoMethod ListVariablesResponse
  1949  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1950  }
  1951  
  1952  // ListWorkspacesResponse: A list of workspaces in a container.
  1953  type ListWorkspacesResponse struct {
  1954  	// NextPageToken: Continuation token for fetching the next page of results.
  1955  	NextPageToken string `json:"nextPageToken,omitempty"`
  1956  	// Workspace: All Workspaces of a GTM Container.
  1957  	Workspace []*Workspace `json:"workspace,omitempty"`
  1958  
  1959  	// ServerResponse contains the HTTP response code and headers from the server.
  1960  	googleapi.ServerResponse `json:"-"`
  1961  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1962  	// unconditionally include in API requests. By default, fields with empty or
  1963  	// default values are omitted from API requests. See
  1964  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1965  	// details.
  1966  	ForceSendFields []string `json:"-"`
  1967  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1968  	// requests with the JSON null value. By default, fields with empty values are
  1969  	// omitted from API requests. See
  1970  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1971  	NullFields []string `json:"-"`
  1972  }
  1973  
  1974  func (s *ListWorkspacesResponse) MarshalJSON() ([]byte, error) {
  1975  	type NoMethod ListWorkspacesResponse
  1976  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1977  }
  1978  
  1979  type ListZonesResponse struct {
  1980  	// NextPageToken: Continuation token for fetching the next page of results.
  1981  	NextPageToken string `json:"nextPageToken,omitempty"`
  1982  	// Zone: All GTM Zones of a GTM Container.
  1983  	Zone []*Zone `json:"zone,omitempty"`
  1984  
  1985  	// ServerResponse contains the HTTP response code and headers from the server.
  1986  	googleapi.ServerResponse `json:"-"`
  1987  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1988  	// unconditionally include in API requests. By default, fields with empty or
  1989  	// default values are omitted from API requests. See
  1990  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1991  	// details.
  1992  	ForceSendFields []string `json:"-"`
  1993  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1994  	// requests with the JSON null value. By default, fields with empty values are
  1995  	// omitted from API requests. See
  1996  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1997  	NullFields []string `json:"-"`
  1998  }
  1999  
  2000  func (s *ListZonesResponse) MarshalJSON() ([]byte, error) {
  2001  	type NoMethod ListZonesResponse
  2002  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2003  }
  2004  
  2005  // MergeConflict: Represents a merge conflict.
  2006  type MergeConflict struct {
  2007  	// EntityInBaseVersion: The base version entity (since the latest sync
  2008  	// operation) that has conflicting changes compared to the workspace. If this
  2009  	// field is missing, it means the workspace entity is deleted from the base
  2010  	// version.
  2011  	EntityInBaseVersion *Entity `json:"entityInBaseVersion,omitempty"`
  2012  	// EntityInWorkspace: The workspace entity that has conflicting changes
  2013  	// compared to the base version. If an entity is deleted in a workspace, it
  2014  	// will still appear with a deleted change status.
  2015  	EntityInWorkspace *Entity `json:"entityInWorkspace,omitempty"`
  2016  	// ForceSendFields is a list of field names (e.g. "EntityInBaseVersion") to
  2017  	// unconditionally include in API requests. By default, fields with empty or
  2018  	// default values are omitted from API requests. See
  2019  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2020  	// details.
  2021  	ForceSendFields []string `json:"-"`
  2022  	// NullFields is a list of field names (e.g. "EntityInBaseVersion") to include
  2023  	// in API requests with the JSON null value. By default, fields with empty
  2024  	// values are omitted from API requests. See
  2025  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2026  	NullFields []string `json:"-"`
  2027  }
  2028  
  2029  func (s *MergeConflict) MarshalJSON() ([]byte, error) {
  2030  	type NoMethod MergeConflict
  2031  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2032  }
  2033  
  2034  // Parameter: Represents a Google Tag Manager Parameter.
  2035  type Parameter struct {
  2036  	// IsWeakReference: Whether or not a reference type parameter is strongly or
  2037  	// weakly referenced. Only used by Transformations. @mutable
  2038  	// tagmanager.accounts.containers.workspaces.transformations.create @mutable
  2039  	// tagmanager.accounts.containers.workspaces.transformations.update
  2040  	IsWeakReference bool `json:"isWeakReference,omitempty"`
  2041  	// Key: The named key that uniquely identifies a parameter. Required for
  2042  	// top-level parameters, as well as map values. Ignored for list values.
  2043  	// @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable
  2044  	// tagmanager.accounts.containers.workspaces.variables.update @mutable
  2045  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2046  	// tagmanager.accounts.containers.workspaces.triggers.update @mutable
  2047  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2048  	// tagmanager.accounts.containers.workspaces.tags.update
  2049  	Key string `json:"key,omitempty"`
  2050  	// List: This list parameter's parameters (keys will be ignored). @mutable
  2051  	// tagmanager.accounts.containers.workspaces.variables.create @mutable
  2052  	// tagmanager.accounts.containers.workspaces.variables.update @mutable
  2053  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2054  	// tagmanager.accounts.containers.workspaces.triggers.update @mutable
  2055  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2056  	// tagmanager.accounts.containers.workspaces.tags.update
  2057  	List []*Parameter `json:"list,omitempty"`
  2058  	// Map: This map parameter's parameters (must have keys; keys must be unique).
  2059  	// @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable
  2060  	// tagmanager.accounts.containers.workspaces.variables.update @mutable
  2061  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2062  	// tagmanager.accounts.containers.workspaces.triggers.update @mutable
  2063  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2064  	// tagmanager.accounts.containers.workspaces.tags.update
  2065  	Map []*Parameter `json:"map,omitempty"`
  2066  	// Type: The parameter type. Valid values are: - boolean: The value represents
  2067  	// a boolean, represented as 'true' or 'false' - integer: The value represents
  2068  	// a 64-bit signed integer value, in base 10 - list: A list of parameters
  2069  	// should be specified - map: A map of parameters should be specified -
  2070  	// template: The value represents any text; this can include variable
  2071  	// references (even variable references that might return non-string types) -
  2072  	// trigger_reference: The value represents a trigger, represented as the
  2073  	// trigger id - tag_reference: The value represents a tag, represented as the
  2074  	// tag name @mutable tagmanager.accounts.containers.workspaces.variables.create
  2075  	// @mutable tagmanager.accounts.containers.workspaces.variables.update @mutable
  2076  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2077  	// tagmanager.accounts.containers.workspaces.triggers.update @mutable
  2078  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2079  	// tagmanager.accounts.containers.workspaces.tags.update
  2080  	//
  2081  	// Possible values:
  2082  	//   "typeUnspecified"
  2083  	//   "template" - May include variable references (such as "{{myVariable}}").
  2084  	//   "integer"
  2085  	//   "boolean"
  2086  	//   "list"
  2087  	//   "map"
  2088  	//   "triggerReference"
  2089  	//   "tagReference"
  2090  	Type string `json:"type,omitempty"`
  2091  	// Value: A parameter's value (may contain variable references such as
  2092  	// "{{myVariable}}") as appropriate to the specified type. @mutable
  2093  	// tagmanager.accounts.containers.workspaces.variables.create @mutable
  2094  	// tagmanager.accounts.containers.workspaces.variables.update @mutable
  2095  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2096  	// tagmanager.accounts.containers.workspaces.triggers.update @mutable
  2097  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2098  	// tagmanager.accounts.containers.workspaces.tags.update
  2099  	Value string `json:"value,omitempty"`
  2100  	// ForceSendFields is a list of field names (e.g. "IsWeakReference") to
  2101  	// unconditionally include in API requests. By default, fields with empty or
  2102  	// default values are omitted from API requests. See
  2103  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2104  	// details.
  2105  	ForceSendFields []string `json:"-"`
  2106  	// NullFields is a list of field names (e.g. "IsWeakReference") to include in
  2107  	// API requests with the JSON null value. By default, fields with empty values
  2108  	// are omitted from API requests. See
  2109  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2110  	NullFields []string `json:"-"`
  2111  }
  2112  
  2113  func (s *Parameter) MarshalJSON() ([]byte, error) {
  2114  	type NoMethod Parameter
  2115  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2116  }
  2117  
  2118  // PublishContainerVersionResponse: Publish container version response.
  2119  type PublishContainerVersionResponse struct {
  2120  	// CompilerError: Compiler errors or not.
  2121  	CompilerError bool `json:"compilerError,omitempty"`
  2122  	// ContainerVersion: The container version created.
  2123  	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
  2124  
  2125  	// ServerResponse contains the HTTP response code and headers from the server.
  2126  	googleapi.ServerResponse `json:"-"`
  2127  	// ForceSendFields is a list of field names (e.g. "CompilerError") to
  2128  	// unconditionally include in API requests. By default, fields with empty or
  2129  	// default values are omitted from API requests. See
  2130  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2131  	// details.
  2132  	ForceSendFields []string `json:"-"`
  2133  	// NullFields is a list of field names (e.g. "CompilerError") to include in API
  2134  	// requests with the JSON null value. By default, fields with empty values are
  2135  	// omitted from API requests. See
  2136  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2137  	NullFields []string `json:"-"`
  2138  }
  2139  
  2140  func (s *PublishContainerVersionResponse) MarshalJSON() ([]byte, error) {
  2141  	type NoMethod PublishContainerVersionResponse
  2142  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2143  }
  2144  
  2145  // QuickPreviewResponse: Response to quick previewing a workspace.
  2146  type QuickPreviewResponse struct {
  2147  	// CompilerError: Were there compiler errors or not.
  2148  	CompilerError bool `json:"compilerError,omitempty"`
  2149  	// ContainerVersion: The quick previewed container version.
  2150  	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
  2151  	// SyncStatus: Whether quick previewing failed when syncing the workspace to
  2152  	// the latest container version.
  2153  	SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
  2154  
  2155  	// ServerResponse contains the HTTP response code and headers from the server.
  2156  	googleapi.ServerResponse `json:"-"`
  2157  	// ForceSendFields is a list of field names (e.g. "CompilerError") to
  2158  	// unconditionally include in API requests. By default, fields with empty or
  2159  	// default values are omitted from API requests. See
  2160  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2161  	// details.
  2162  	ForceSendFields []string `json:"-"`
  2163  	// NullFields is a list of field names (e.g. "CompilerError") to include in API
  2164  	// requests with the JSON null value. By default, fields with empty values are
  2165  	// omitted from API requests. See
  2166  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2167  	NullFields []string `json:"-"`
  2168  }
  2169  
  2170  func (s *QuickPreviewResponse) MarshalJSON() ([]byte, error) {
  2171  	type NoMethod QuickPreviewResponse
  2172  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2173  }
  2174  
  2175  // RevertBuiltInVariableResponse: The result of reverting a built-in variable
  2176  // in a workspace.
  2177  type RevertBuiltInVariableResponse struct {
  2178  	// Enabled: Whether the built-in variable is enabled after reversion.
  2179  	Enabled bool `json:"enabled,omitempty"`
  2180  
  2181  	// ServerResponse contains the HTTP response code and headers from the server.
  2182  	googleapi.ServerResponse `json:"-"`
  2183  	// ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally
  2184  	// include in API requests. By default, fields with empty or default values are
  2185  	// omitted from API requests. See
  2186  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2187  	// details.
  2188  	ForceSendFields []string `json:"-"`
  2189  	// NullFields is a list of field names (e.g. "Enabled") to include in API
  2190  	// requests with the JSON null value. By default, fields with empty values are
  2191  	// omitted from API requests. See
  2192  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2193  	NullFields []string `json:"-"`
  2194  }
  2195  
  2196  func (s *RevertBuiltInVariableResponse) MarshalJSON() ([]byte, error) {
  2197  	type NoMethod RevertBuiltInVariableResponse
  2198  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2199  }
  2200  
  2201  // RevertClientResponse: The result of reverting a client in a workspace.
  2202  type RevertClientResponse struct {
  2203  	// Client: Client as it appears in the latest container version since the last
  2204  	// workspace synchronization operation. If no client is present, that means the
  2205  	// client was deleted in the latest container version.
  2206  	Client *Client `json:"client,omitempty"`
  2207  
  2208  	// ServerResponse contains the HTTP response code and headers from the server.
  2209  	googleapi.ServerResponse `json:"-"`
  2210  	// ForceSendFields is a list of field names (e.g. "Client") to unconditionally
  2211  	// include in API requests. By default, fields with empty or default values are
  2212  	// omitted from API requests. See
  2213  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2214  	// details.
  2215  	ForceSendFields []string `json:"-"`
  2216  	// NullFields is a list of field names (e.g. "Client") to include in API
  2217  	// requests with the JSON null value. By default, fields with empty values are
  2218  	// omitted from API requests. See
  2219  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2220  	NullFields []string `json:"-"`
  2221  }
  2222  
  2223  func (s *RevertClientResponse) MarshalJSON() ([]byte, error) {
  2224  	type NoMethod RevertClientResponse
  2225  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2226  }
  2227  
  2228  // RevertFolderResponse: The result of reverting folder changes in a workspace.
  2229  type RevertFolderResponse struct {
  2230  	// Folder: Folder as it appears in the latest container version since the last
  2231  	// workspace synchronization operation. If no folder is present, that means the
  2232  	// folder was deleted in the latest container version.
  2233  	Folder *Folder `json:"folder,omitempty"`
  2234  
  2235  	// ServerResponse contains the HTTP response code and headers from the server.
  2236  	googleapi.ServerResponse `json:"-"`
  2237  	// ForceSendFields is a list of field names (e.g. "Folder") to unconditionally
  2238  	// include in API requests. By default, fields with empty or default values are
  2239  	// omitted from API requests. See
  2240  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2241  	// details.
  2242  	ForceSendFields []string `json:"-"`
  2243  	// NullFields is a list of field names (e.g. "Folder") to include in API
  2244  	// requests with the JSON null value. By default, fields with empty values are
  2245  	// omitted from API requests. See
  2246  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2247  	NullFields []string `json:"-"`
  2248  }
  2249  
  2250  func (s *RevertFolderResponse) MarshalJSON() ([]byte, error) {
  2251  	type NoMethod RevertFolderResponse
  2252  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2253  }
  2254  
  2255  // RevertTagResponse: The result of reverting a tag in a workspace.
  2256  type RevertTagResponse struct {
  2257  	// Tag: Tag as it appears in the latest container version since the last
  2258  	// workspace synchronization operation. If no tag is present, that means the
  2259  	// tag was deleted in the latest container version.
  2260  	Tag *Tag `json:"tag,omitempty"`
  2261  
  2262  	// ServerResponse contains the HTTP response code and headers from the server.
  2263  	googleapi.ServerResponse `json:"-"`
  2264  	// ForceSendFields is a list of field names (e.g. "Tag") to unconditionally
  2265  	// include in API requests. By default, fields with empty or default values are
  2266  	// omitted from API requests. See
  2267  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2268  	// details.
  2269  	ForceSendFields []string `json:"-"`
  2270  	// NullFields is a list of field names (e.g. "Tag") to include in API requests
  2271  	// with the JSON null value. By default, fields with empty values are omitted
  2272  	// from API requests. See
  2273  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2274  	NullFields []string `json:"-"`
  2275  }
  2276  
  2277  func (s *RevertTagResponse) MarshalJSON() ([]byte, error) {
  2278  	type NoMethod RevertTagResponse
  2279  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2280  }
  2281  
  2282  // RevertTemplateResponse: The result of reverting a template in a workspace.
  2283  type RevertTemplateResponse struct {
  2284  	// Template: Template as it appears in the latest container version since the
  2285  	// last workspace synchronization operation. If no template is present, that
  2286  	// means the template was deleted in the latest container version.
  2287  	Template *CustomTemplate `json:"template,omitempty"`
  2288  
  2289  	// ServerResponse contains the HTTP response code and headers from the server.
  2290  	googleapi.ServerResponse `json:"-"`
  2291  	// ForceSendFields is a list of field names (e.g. "Template") to
  2292  	// unconditionally include in API requests. By default, fields with empty or
  2293  	// default values are omitted from API requests. See
  2294  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2295  	// details.
  2296  	ForceSendFields []string `json:"-"`
  2297  	// NullFields is a list of field names (e.g. "Template") to include in API
  2298  	// requests with the JSON null value. By default, fields with empty values are
  2299  	// omitted from API requests. See
  2300  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2301  	NullFields []string `json:"-"`
  2302  }
  2303  
  2304  func (s *RevertTemplateResponse) MarshalJSON() ([]byte, error) {
  2305  	type NoMethod RevertTemplateResponse
  2306  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2307  }
  2308  
  2309  // RevertTransformationResponse: The result of reverting a transformation in a
  2310  // workspace.
  2311  type RevertTransformationResponse struct {
  2312  	// Transformation: Transformation as it appears in the latest container version
  2313  	// since the last workspace synchronization operation. If no transformation is
  2314  	// present, that means the transformation was deleted in the latest container
  2315  	// version.
  2316  	Transformation *Transformation `json:"transformation,omitempty"`
  2317  
  2318  	// ServerResponse contains the HTTP response code and headers from the server.
  2319  	googleapi.ServerResponse `json:"-"`
  2320  	// ForceSendFields is a list of field names (e.g. "Transformation") to
  2321  	// unconditionally include in API requests. By default, fields with empty or
  2322  	// default values are omitted from API requests. See
  2323  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2324  	// details.
  2325  	ForceSendFields []string `json:"-"`
  2326  	// NullFields is a list of field names (e.g. "Transformation") to include in
  2327  	// API requests with the JSON null value. By default, fields with empty values
  2328  	// are omitted from API requests. See
  2329  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2330  	NullFields []string `json:"-"`
  2331  }
  2332  
  2333  func (s *RevertTransformationResponse) MarshalJSON() ([]byte, error) {
  2334  	type NoMethod RevertTransformationResponse
  2335  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2336  }
  2337  
  2338  // RevertTriggerResponse: The result of reverting a trigger in a workspace.
  2339  type RevertTriggerResponse struct {
  2340  	// Trigger: Trigger as it appears in the latest container version since the
  2341  	// last workspace synchronization operation. If no trigger is present, that
  2342  	// means the trigger was deleted in the latest container version.
  2343  	Trigger *Trigger `json:"trigger,omitempty"`
  2344  
  2345  	// ServerResponse contains the HTTP response code and headers from the server.
  2346  	googleapi.ServerResponse `json:"-"`
  2347  	// ForceSendFields is a list of field names (e.g. "Trigger") to unconditionally
  2348  	// include in API requests. By default, fields with empty or default values are
  2349  	// omitted from API requests. See
  2350  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2351  	// details.
  2352  	ForceSendFields []string `json:"-"`
  2353  	// NullFields is a list of field names (e.g. "Trigger") to include in API
  2354  	// requests with the JSON null value. By default, fields with empty values are
  2355  	// omitted from API requests. See
  2356  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2357  	NullFields []string `json:"-"`
  2358  }
  2359  
  2360  func (s *RevertTriggerResponse) MarshalJSON() ([]byte, error) {
  2361  	type NoMethod RevertTriggerResponse
  2362  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2363  }
  2364  
  2365  // RevertVariableResponse: The result of reverting a variable in a workspace.
  2366  type RevertVariableResponse struct {
  2367  	// Variable: Variable as it appears in the latest container version since the
  2368  	// last workspace synchronization operation. If no variable is present, that
  2369  	// means the variable was deleted in the latest container version.
  2370  	Variable *Variable `json:"variable,omitempty"`
  2371  
  2372  	// ServerResponse contains the HTTP response code and headers from the server.
  2373  	googleapi.ServerResponse `json:"-"`
  2374  	// ForceSendFields is a list of field names (e.g. "Variable") to
  2375  	// unconditionally include in API requests. By default, fields with empty or
  2376  	// default values are omitted from API requests. See
  2377  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2378  	// details.
  2379  	ForceSendFields []string `json:"-"`
  2380  	// NullFields is a list of field names (e.g. "Variable") to include in API
  2381  	// requests with the JSON null value. By default, fields with empty values are
  2382  	// omitted from API requests. See
  2383  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2384  	NullFields []string `json:"-"`
  2385  }
  2386  
  2387  func (s *RevertVariableResponse) MarshalJSON() ([]byte, error) {
  2388  	type NoMethod RevertVariableResponse
  2389  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2390  }
  2391  
  2392  // RevertZoneResponse: The result of reverting a zone in a workspace.
  2393  type RevertZoneResponse struct {
  2394  	// Zone: Zone as it appears in the latest container version since the last
  2395  	// workspace synchronization operation. If no zone is present, that means the
  2396  	// zone was deleted in the latest container version.
  2397  	Zone *Zone `json:"zone,omitempty"`
  2398  
  2399  	// ServerResponse contains the HTTP response code and headers from the server.
  2400  	googleapi.ServerResponse `json:"-"`
  2401  	// ForceSendFields is a list of field names (e.g. "Zone") to unconditionally
  2402  	// include in API requests. By default, fields with empty or default values are
  2403  	// omitted from API requests. See
  2404  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2405  	// details.
  2406  	ForceSendFields []string `json:"-"`
  2407  	// NullFields is a list of field names (e.g. "Zone") to include in API requests
  2408  	// with the JSON null value. By default, fields with empty values are omitted
  2409  	// from API requests. See
  2410  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2411  	NullFields []string `json:"-"`
  2412  }
  2413  
  2414  func (s *RevertZoneResponse) MarshalJSON() ([]byte, error) {
  2415  	type NoMethod RevertZoneResponse
  2416  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2417  }
  2418  
  2419  // SetupTag: Represents a reference to atag that fires before another tag in
  2420  // order to set up dependencies.
  2421  type SetupTag struct {
  2422  	// StopOnSetupFailure: If true, fire the main tag if and only if the setup tag
  2423  	// fires successfully. If false, fire the main tag regardless of setup tag
  2424  	// firing status.
  2425  	StopOnSetupFailure bool `json:"stopOnSetupFailure,omitempty"`
  2426  	// TagName: The name of the setup tag.
  2427  	TagName string `json:"tagName,omitempty"`
  2428  	// ForceSendFields is a list of field names (e.g. "StopOnSetupFailure") to
  2429  	// unconditionally include in API requests. By default, fields with empty or
  2430  	// default values are omitted from API requests. See
  2431  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2432  	// details.
  2433  	ForceSendFields []string `json:"-"`
  2434  	// NullFields is a list of field names (e.g. "StopOnSetupFailure") to include
  2435  	// in API requests with the JSON null value. By default, fields with empty
  2436  	// values are omitted from API requests. See
  2437  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2438  	NullFields []string `json:"-"`
  2439  }
  2440  
  2441  func (s *SetupTag) MarshalJSON() ([]byte, error) {
  2442  	type NoMethod SetupTag
  2443  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2444  }
  2445  
  2446  // SyncStatus: The status of a workspace after synchronization.
  2447  type SyncStatus struct {
  2448  	// MergeConflict: Synchornization operation detected a merge conflict.
  2449  	MergeConflict bool `json:"mergeConflict,omitempty"`
  2450  	// SyncError: An error occurred during the synchronization operation.
  2451  	SyncError bool `json:"syncError,omitempty"`
  2452  	// ForceSendFields is a list of field names (e.g. "MergeConflict") to
  2453  	// unconditionally include in API requests. By default, fields with empty or
  2454  	// default values are omitted from API requests. See
  2455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2456  	// details.
  2457  	ForceSendFields []string `json:"-"`
  2458  	// NullFields is a list of field names (e.g. "MergeConflict") to include in API
  2459  	// requests with the JSON null value. By default, fields with empty values are
  2460  	// omitted from API requests. See
  2461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2462  	NullFields []string `json:"-"`
  2463  }
  2464  
  2465  func (s *SyncStatus) MarshalJSON() ([]byte, error) {
  2466  	type NoMethod SyncStatus
  2467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2468  }
  2469  
  2470  // SyncWorkspaceResponse: A response after synchronizing the workspace to the
  2471  // latest container version.
  2472  type SyncWorkspaceResponse struct {
  2473  	// MergeConflict: The merge conflict after sync. If this field is not empty,
  2474  	// the sync is still treated as successful. But a version cannot be created
  2475  	// until all conflicts are resolved.
  2476  	MergeConflict []*MergeConflict `json:"mergeConflict,omitempty"`
  2477  	// SyncStatus: Indicates whether synchronization caused a merge conflict or
  2478  	// sync error.
  2479  	SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
  2480  
  2481  	// ServerResponse contains the HTTP response code and headers from the server.
  2482  	googleapi.ServerResponse `json:"-"`
  2483  	// ForceSendFields is a list of field names (e.g. "MergeConflict") to
  2484  	// unconditionally include in API requests. By default, fields with empty or
  2485  	// default values are omitted from API requests. See
  2486  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2487  	// details.
  2488  	ForceSendFields []string `json:"-"`
  2489  	// NullFields is a list of field names (e.g. "MergeConflict") to include in API
  2490  	// requests with the JSON null value. By default, fields with empty values are
  2491  	// omitted from API requests. See
  2492  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2493  	NullFields []string `json:"-"`
  2494  }
  2495  
  2496  func (s *SyncWorkspaceResponse) MarshalJSON() ([]byte, error) {
  2497  	type NoMethod SyncWorkspaceResponse
  2498  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2499  }
  2500  
  2501  // Tag: Represents a Google Tag Manager Tag.
  2502  type Tag struct {
  2503  	// AccountId: GTM Account ID.
  2504  	AccountId string `json:"accountId,omitempty"`
  2505  	// BlockingRuleId: Blocking rule IDs. If any of the listed rules evaluate to
  2506  	// true, the tag will not fire. @mutable
  2507  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2508  	// tagmanager.accounts.containers.workspaces.tags.update
  2509  	BlockingRuleId []string `json:"blockingRuleId,omitempty"`
  2510  	// BlockingTriggerId: Blocking trigger IDs. If any of the listed triggers
  2511  	// evaluate to true, the tag will not fire. @mutable
  2512  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2513  	// tagmanager.accounts.containers.workspaces.tags.update
  2514  	BlockingTriggerId []string `json:"blockingTriggerId,omitempty"`
  2515  	// ConsentSettings: Consent settings of a tag. @mutable
  2516  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2517  	// tagmanager.accounts.containers.workspaces.tags.update
  2518  	ConsentSettings *TagConsentSetting `json:"consentSettings,omitempty"`
  2519  	// ContainerId: GTM Container ID.
  2520  	ContainerId string `json:"containerId,omitempty"`
  2521  	// Fingerprint: The fingerprint of the GTM Tag as computed at storage time.
  2522  	// This value is recomputed whenever the tag is modified.
  2523  	Fingerprint string `json:"fingerprint,omitempty"`
  2524  	// FiringRuleId: Firing rule IDs. A tag will fire when any of the listed rules
  2525  	// are true and all of its blockingRuleIds (if any specified) are false.
  2526  	// @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable
  2527  	// tagmanager.accounts.containers.workspaces.tags.update
  2528  	FiringRuleId []string `json:"firingRuleId,omitempty"`
  2529  	// FiringTriggerId: Firing trigger IDs. A tag will fire when any of the listed
  2530  	// triggers are true and all of its blockingTriggerIds (if any specified) are
  2531  	// false. @mutable tagmanager.accounts.containers.workspaces.tags.create
  2532  	// @mutable tagmanager.accounts.containers.workspaces.tags.update
  2533  	FiringTriggerId []string `json:"firingTriggerId,omitempty"`
  2534  	// LiveOnly: If set to true, this tag will only fire in the live environment
  2535  	// (e.g. not in preview or debug mode). @mutable
  2536  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2537  	// tagmanager.accounts.containers.workspaces.tags.update
  2538  	LiveOnly bool `json:"liveOnly,omitempty"`
  2539  	// MonitoringMetadata: A map of key-value pairs of tag metadata to be included
  2540  	// in the event data for tag monitoring. Notes: - This parameter must be type
  2541  	// MAP. - Each parameter in the map are type TEMPLATE, however cannot contain
  2542  	// variable references. @mutable
  2543  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2544  	// tagmanager.accounts.containers.workspaces.tags.update
  2545  	MonitoringMetadata *Parameter `json:"monitoringMetadata,omitempty"`
  2546  	// MonitoringMetadataTagNameKey: If non-empty, then the tag display name will
  2547  	// be included in the monitoring metadata map using the key specified. @mutable
  2548  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2549  	// tagmanager.accounts.containers.workspaces.tags.update
  2550  	MonitoringMetadataTagNameKey string `json:"monitoringMetadataTagNameKey,omitempty"`
  2551  	// Name: Tag display name. @mutable
  2552  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2553  	// tagmanager.accounts.containers.workspaces.tags.update
  2554  	Name string `json:"name,omitempty"`
  2555  	// Notes: User notes on how to apply this tag in the container. @mutable
  2556  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2557  	// tagmanager.accounts.containers.workspaces.tags.update
  2558  	Notes string `json:"notes,omitempty"`
  2559  	// Parameter: The tag's parameters. @mutable
  2560  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2561  	// tagmanager.accounts.containers.workspaces.tags.update
  2562  	Parameter []*Parameter `json:"parameter,omitempty"`
  2563  	// ParentFolderId: Parent folder id.
  2564  	ParentFolderId string `json:"parentFolderId,omitempty"`
  2565  	// Path: GTM Tag's API relative path.
  2566  	Path string `json:"path,omitempty"`
  2567  	// Paused: Indicates whether the tag is paused, which prevents the tag from
  2568  	// firing. @mutable tagmanager.accounts.containers.workspaces.tags.create
  2569  	// @mutable tagmanager.accounts.containers.workspaces.tags.update
  2570  	Paused bool `json:"paused,omitempty"`
  2571  	// Priority: User defined numeric priority of the tag. Tags are fired
  2572  	// asynchronously in order of priority. Tags with higher numeric value fire
  2573  	// first. A tag's priority can be a positive or negative value. The default
  2574  	// value is 0. @mutable tagmanager.accounts.containers.workspaces.tags.create
  2575  	// @mutable tagmanager.accounts.containers.workspaces.tags.update
  2576  	Priority *Parameter `json:"priority,omitempty"`
  2577  	// ScheduleEndMs: The end timestamp in milliseconds to schedule a tag. @mutable
  2578  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2579  	// tagmanager.accounts.containers.workspaces.tags.update
  2580  	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
  2581  	// ScheduleStartMs: The start timestamp in milliseconds to schedule a tag.
  2582  	// @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable
  2583  	// tagmanager.accounts.containers.workspaces.tags.update
  2584  	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
  2585  	// SetupTag: The list of setup tags. Currently we only allow one.
  2586  	SetupTag []*SetupTag `json:"setupTag,omitempty"`
  2587  	// TagFiringOption: Option to fire this tag.
  2588  	//
  2589  	// Possible values:
  2590  	//   "tagFiringOptionUnspecified"
  2591  	//   "unlimited" - Tag can be fired multiple times per event.
  2592  	//   "oncePerEvent" - Tag can only be fired per event but can be fired multiple
  2593  	// times per load (e.g., app load or page load).
  2594  	//   "oncePerLoad" - Tag can only be fired per load (e.g., app load or page
  2595  	// load).
  2596  	TagFiringOption string `json:"tagFiringOption,omitempty"`
  2597  	// TagId: The Tag ID uniquely identifies the GTM Tag.
  2598  	TagId string `json:"tagId,omitempty"`
  2599  	// TagManagerUrl: Auto generated link to the tag manager UI
  2600  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  2601  	// TeardownTag: The list of teardown tags. Currently we only allow one.
  2602  	TeardownTag []*TeardownTag `json:"teardownTag,omitempty"`
  2603  	// Type: GTM Tag Type. @mutable
  2604  	// tagmanager.accounts.containers.workspaces.tags.create @mutable
  2605  	// tagmanager.accounts.containers.workspaces.tags.update
  2606  	Type string `json:"type,omitempty"`
  2607  	// WorkspaceId: GTM Workspace ID.
  2608  	WorkspaceId string `json:"workspaceId,omitempty"`
  2609  
  2610  	// ServerResponse contains the HTTP response code and headers from the server.
  2611  	googleapi.ServerResponse `json:"-"`
  2612  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2613  	// unconditionally include in API requests. By default, fields with empty or
  2614  	// default values are omitted from API requests. See
  2615  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2616  	// details.
  2617  	ForceSendFields []string `json:"-"`
  2618  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  2619  	// requests with the JSON null value. By default, fields with empty values are
  2620  	// omitted from API requests. See
  2621  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2622  	NullFields []string `json:"-"`
  2623  }
  2624  
  2625  func (s *Tag) MarshalJSON() ([]byte, error) {
  2626  	type NoMethod Tag
  2627  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2628  }
  2629  
  2630  type TagConsentSetting struct {
  2631  	// ConsentStatus: The tag's consent status. If set to NEEDED, the runtime will
  2632  	// check that the consent types specified by the consent_type field have been
  2633  	// granted.
  2634  	//
  2635  	// Possible values:
  2636  	//   "notSet" - Default value where user has not specified any setting on it.
  2637  	//   "notNeeded" - Tag doesn't require any additional consent settings.
  2638  	//   "needed" - Tag requires additional consent settings.
  2639  	ConsentStatus string `json:"consentStatus,omitempty"`
  2640  	// ConsentType: The type of consents to check for during tag firing if in the
  2641  	// consent NEEDED state. This parameter must be of type LIST where each list
  2642  	// item is of type STRING.
  2643  	ConsentType *Parameter `json:"consentType,omitempty"`
  2644  	// ForceSendFields is a list of field names (e.g. "ConsentStatus") to
  2645  	// unconditionally include in API requests. By default, fields with empty or
  2646  	// default values are omitted from API requests. See
  2647  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2648  	// details.
  2649  	ForceSendFields []string `json:"-"`
  2650  	// NullFields is a list of field names (e.g. "ConsentStatus") to include in API
  2651  	// requests with the JSON null value. By default, fields with empty values are
  2652  	// omitted from API requests. See
  2653  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2654  	NullFields []string `json:"-"`
  2655  }
  2656  
  2657  func (s *TagConsentSetting) MarshalJSON() ([]byte, error) {
  2658  	type NoMethod TagConsentSetting
  2659  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2660  }
  2661  
  2662  // TeardownTag: Represents a tag that fires after another tag in order to tear
  2663  // down dependencies.
  2664  type TeardownTag struct {
  2665  	// StopTeardownOnFailure: If true, fire the teardown tag if and only if the
  2666  	// main tag fires successfully. If false, fire the teardown tag regardless of
  2667  	// main tag firing status.
  2668  	StopTeardownOnFailure bool `json:"stopTeardownOnFailure,omitempty"`
  2669  	// TagName: The name of the teardown tag.
  2670  	TagName string `json:"tagName,omitempty"`
  2671  	// ForceSendFields is a list of field names (e.g. "StopTeardownOnFailure") to
  2672  	// unconditionally include in API requests. By default, fields with empty or
  2673  	// default values are omitted from API requests. See
  2674  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2675  	// details.
  2676  	ForceSendFields []string `json:"-"`
  2677  	// NullFields is a list of field names (e.g. "StopTeardownOnFailure") to
  2678  	// include in API requests with the JSON null value. By default, fields with
  2679  	// empty values are omitted from API requests. See
  2680  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2681  	NullFields []string `json:"-"`
  2682  }
  2683  
  2684  func (s *TeardownTag) MarshalJSON() ([]byte, error) {
  2685  	type NoMethod TeardownTag
  2686  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2687  }
  2688  
  2689  // Transformation: Represents a Google Tag Manager Transformation.
  2690  type Transformation struct {
  2691  	// AccountId: GTM Account ID.
  2692  	AccountId string `json:"accountId,omitempty"`
  2693  	// ContainerId: GTM Container ID.
  2694  	ContainerId string `json:"containerId,omitempty"`
  2695  	// Fingerprint: The fingerprint of the GTM Transformation as computed at
  2696  	// storage time. This value is recomputed whenever the transformation is
  2697  	// modified.
  2698  	Fingerprint string `json:"fingerprint,omitempty"`
  2699  	// Name: Transformation display name. @mutable
  2700  	// tagmanager.accounts.containers.workspaces.transformations.create @mutable
  2701  	// tagmanager.accounts.containers.workspaces.transformations.update
  2702  	Name string `json:"name,omitempty"`
  2703  	// Notes: User notes on how to apply this transformation in the container.
  2704  	// @mutable tagmanager.accounts.containers.workspaces.transformations.create
  2705  	// @mutable tagmanager.accounts.containers.workspaces.transformations.update
  2706  	Notes string `json:"notes,omitempty"`
  2707  	// Parameter: The transformation's parameters. @mutable
  2708  	// tagmanager.accounts.containers.workspaces.transformations.create @mutable
  2709  	// tagmanager.accounts.containers.workspaces.transformations.update
  2710  	Parameter []*Parameter `json:"parameter,omitempty"`
  2711  	// ParentFolderId: Parent folder id.
  2712  	ParentFolderId string `json:"parentFolderId,omitempty"`
  2713  	// Path: GTM transformation's API relative path.
  2714  	Path string `json:"path,omitempty"`
  2715  	// TagManagerUrl: Auto generated link to the tag manager UI
  2716  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  2717  	// TransformationId: The Transformation ID uniquely identifies the GTM
  2718  	// transformation.
  2719  	TransformationId string `json:"transformationId,omitempty"`
  2720  	// Type: Transformation type. @mutable
  2721  	// tagmanager.accounts.containers.workspaces.transformations.create @mutable
  2722  	// tagmanager.accounts.containers.workspaces.transformations.update
  2723  	Type string `json:"type,omitempty"`
  2724  	// WorkspaceId: GTM Workspace ID.
  2725  	WorkspaceId string `json:"workspaceId,omitempty"`
  2726  
  2727  	// ServerResponse contains the HTTP response code and headers from the server.
  2728  	googleapi.ServerResponse `json:"-"`
  2729  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2730  	// unconditionally include in API requests. By default, fields with empty or
  2731  	// default values are omitted from API requests. See
  2732  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2733  	// details.
  2734  	ForceSendFields []string `json:"-"`
  2735  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  2736  	// requests with the JSON null value. By default, fields with empty values are
  2737  	// omitted from API requests. See
  2738  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2739  	NullFields []string `json:"-"`
  2740  }
  2741  
  2742  func (s *Transformation) MarshalJSON() ([]byte, error) {
  2743  	type NoMethod Transformation
  2744  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2745  }
  2746  
  2747  // Trigger: Represents a Google Tag Manager Trigger
  2748  type Trigger struct {
  2749  	// AccountId: GTM Account ID.
  2750  	AccountId string `json:"accountId,omitempty"`
  2751  	// AutoEventFilter: Used in the case of auto event tracking. @mutable
  2752  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2753  	// tagmanager.accounts.containers.workspaces.triggers.update
  2754  	AutoEventFilter []*Condition `json:"autoEventFilter,omitempty"`
  2755  	// CheckValidation: Whether or not we should only fire tags if the form submit
  2756  	// or link click event is not cancelled by some other event handler (e.g.
  2757  	// because of validation). Only valid for Form Submission and Link Click
  2758  	// triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create
  2759  	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
  2760  	CheckValidation *Parameter `json:"checkValidation,omitempty"`
  2761  	// ContainerId: GTM Container ID.
  2762  	ContainerId string `json:"containerId,omitempty"`
  2763  	// ContinuousTimeMinMilliseconds: A visibility trigger minimum continuous
  2764  	// visible time (in milliseconds). Only valid for AMP Visibility trigger.
  2765  	// @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2766  	// tagmanager.accounts.containers.workspaces.triggers.update
  2767  	ContinuousTimeMinMilliseconds *Parameter `json:"continuousTimeMinMilliseconds,omitempty"`
  2768  	// CustomEventFilter: Used in the case of custom event, which is fired iff all
  2769  	// Conditions are true. @mutable
  2770  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2771  	// tagmanager.accounts.containers.workspaces.triggers.update
  2772  	CustomEventFilter []*Condition `json:"customEventFilter,omitempty"`
  2773  	// EventName: Name of the GTM event that is fired. Only valid for Timer
  2774  	// triggers. @mutable tagmanager.accounts.containers.workspaces.triggers.create
  2775  	// @mutable tagmanager.accounts.containers.workspaces.triggers.update
  2776  	EventName *Parameter `json:"eventName,omitempty"`
  2777  	// Filter: The trigger will only fire iff all Conditions are true. @mutable
  2778  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2779  	// tagmanager.accounts.containers.workspaces.triggers.update
  2780  	Filter []*Condition `json:"filter,omitempty"`
  2781  	// Fingerprint: The fingerprint of the GTM Trigger as computed at storage time.
  2782  	// This value is recomputed whenever the trigger is modified.
  2783  	Fingerprint string `json:"fingerprint,omitempty"`
  2784  	// HorizontalScrollPercentageList: List of integer percentage values for scroll
  2785  	// triggers. The trigger will fire when each percentage is reached when the
  2786  	// view is scrolled horizontally. Only valid for AMP scroll triggers. @mutable
  2787  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2788  	// tagmanager.accounts.containers.workspaces.triggers.update
  2789  	HorizontalScrollPercentageList *Parameter `json:"horizontalScrollPercentageList,omitempty"`
  2790  	// Interval: Time between triggering recurring Timer Events (in milliseconds).
  2791  	// Only valid for Timer triggers. @mutable
  2792  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2793  	// tagmanager.accounts.containers.workspaces.triggers.update
  2794  	Interval *Parameter `json:"interval,omitempty"`
  2795  	// IntervalSeconds: Time between Timer Events to fire (in seconds). Only valid
  2796  	// for AMP Timer trigger. @mutable
  2797  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2798  	// tagmanager.accounts.containers.workspaces.triggers.update
  2799  	IntervalSeconds *Parameter `json:"intervalSeconds,omitempty"`
  2800  	// Limit: Limit of the number of GTM events this Timer Trigger will fire. If no
  2801  	// limit is set, we will continue to fire GTM events until the user leaves the
  2802  	// page. Only valid for Timer triggers. @mutable
  2803  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2804  	// tagmanager.accounts.containers.workspaces.triggers.update
  2805  	Limit *Parameter `json:"limit,omitempty"`
  2806  	// MaxTimerLengthSeconds: Max time to fire Timer Events (in seconds). Only
  2807  	// valid for AMP Timer trigger. @mutable
  2808  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2809  	// tagmanager.accounts.containers.workspaces.triggers.update
  2810  	MaxTimerLengthSeconds *Parameter `json:"maxTimerLengthSeconds,omitempty"`
  2811  	// Name: Trigger display name. @mutable
  2812  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2813  	// tagmanager.accounts.containers.workspaces.triggers.update
  2814  	Name string `json:"name,omitempty"`
  2815  	// Notes: User notes on how to apply this trigger in the container. @mutable
  2816  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2817  	// tagmanager.accounts.containers.workspaces.triggers.update
  2818  	Notes string `json:"notes,omitempty"`
  2819  	// Parameter: Additional parameters. @mutable
  2820  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2821  	// tagmanager.accounts.containers.workspaces.triggers.update
  2822  	Parameter []*Parameter `json:"parameter,omitempty"`
  2823  	// ParentFolderId: Parent folder id.
  2824  	ParentFolderId string `json:"parentFolderId,omitempty"`
  2825  	// Path: GTM Trigger's API relative path.
  2826  	Path string `json:"path,omitempty"`
  2827  	// Selector: A click trigger CSS selector (i.e. "a", "button" etc.). Only valid
  2828  	// for AMP Click trigger. @mutable
  2829  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2830  	// tagmanager.accounts.containers.workspaces.triggers.update
  2831  	Selector *Parameter `json:"selector,omitempty"`
  2832  	// TagManagerUrl: Auto generated link to the tag manager UI
  2833  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  2834  	// TotalTimeMinMilliseconds: A visibility trigger minimum total visible time
  2835  	// (in milliseconds). Only valid for AMP Visibility trigger. @mutable
  2836  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2837  	// tagmanager.accounts.containers.workspaces.triggers.update
  2838  	TotalTimeMinMilliseconds *Parameter `json:"totalTimeMinMilliseconds,omitempty"`
  2839  	// TriggerId: The Trigger ID uniquely identifies the GTM Trigger.
  2840  	TriggerId string `json:"triggerId,omitempty"`
  2841  	// Type: Defines the data layer event that causes this trigger. @mutable
  2842  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2843  	// tagmanager.accounts.containers.workspaces.triggers.update
  2844  	//
  2845  	// Possible values:
  2846  	//   "eventTypeUnspecified"
  2847  	//   "pageview"
  2848  	//   "domReady"
  2849  	//   "windowLoaded"
  2850  	//   "customEvent"
  2851  	//   "triggerGroup"
  2852  	//   "init"
  2853  	//   "consentInit"
  2854  	//   "serverPageview"
  2855  	//   "always"
  2856  	//   "firebaseAppException"
  2857  	//   "firebaseAppUpdate"
  2858  	//   "firebaseCampaign"
  2859  	//   "firebaseFirstOpen"
  2860  	//   "firebaseInAppPurchase"
  2861  	//   "firebaseNotificationDismiss"
  2862  	//   "firebaseNotificationForeground"
  2863  	//   "firebaseNotificationOpen"
  2864  	//   "firebaseNotificationReceive"
  2865  	//   "firebaseOsUpdate"
  2866  	//   "firebaseSessionStart"
  2867  	//   "firebaseUserEngagement"
  2868  	//   "formSubmission"
  2869  	//   "click"
  2870  	//   "linkClick"
  2871  	//   "jsError"
  2872  	//   "historyChange"
  2873  	//   "timer"
  2874  	//   "ampClick"
  2875  	//   "ampTimer"
  2876  	//   "ampScroll"
  2877  	//   "ampVisibility"
  2878  	//   "youTubeVideo"
  2879  	//   "scrollDepth"
  2880  	//   "elementVisibility"
  2881  	Type string `json:"type,omitempty"`
  2882  	// UniqueTriggerId: Globally unique id of the trigger that auto-generates this
  2883  	// (a Form Submit, Link Click or Timer listener) if any. Used to make
  2884  	// incompatible auto-events work together with trigger filtering based on
  2885  	// trigger ids. This value is populated during output generation since the tags
  2886  	// implied by triggers don't exist until then. Only valid for Form Submit, Link
  2887  	// Click and Timer triggers. @mutable
  2888  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2889  	// tagmanager.accounts.containers.workspaces.triggers.update
  2890  	UniqueTriggerId *Parameter `json:"uniqueTriggerId,omitempty"`
  2891  	// VerticalScrollPercentageList: List of integer percentage values for scroll
  2892  	// triggers. The trigger will fire when each percentage is reached when the
  2893  	// view is scrolled vertically. Only valid for AMP scroll triggers. @mutable
  2894  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2895  	// tagmanager.accounts.containers.workspaces.triggers.update
  2896  	VerticalScrollPercentageList *Parameter `json:"verticalScrollPercentageList,omitempty"`
  2897  	// VisibilitySelector: A visibility trigger CSS selector (i.e. "#id"). Only
  2898  	// valid for AMP Visibility trigger. @mutable
  2899  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2900  	// tagmanager.accounts.containers.workspaces.triggers.update
  2901  	VisibilitySelector *Parameter `json:"visibilitySelector,omitempty"`
  2902  	// VisiblePercentageMax: A visibility trigger maximum percent visibility. Only
  2903  	// valid for AMP Visibility trigger. @mutable
  2904  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2905  	// tagmanager.accounts.containers.workspaces.triggers.update
  2906  	VisiblePercentageMax *Parameter `json:"visiblePercentageMax,omitempty"`
  2907  	// VisiblePercentageMin: A visibility trigger minimum percent visibility. Only
  2908  	// valid for AMP Visibility trigger. @mutable
  2909  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2910  	// tagmanager.accounts.containers.workspaces.triggers.update
  2911  	VisiblePercentageMin *Parameter `json:"visiblePercentageMin,omitempty"`
  2912  	// WaitForTags: Whether or not we should delay the form submissions or link
  2913  	// opening until all of the tags have fired (by preventing the default action
  2914  	// and later simulating the default action). Only valid for Form Submission and
  2915  	// Link Click triggers. @mutable
  2916  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2917  	// tagmanager.accounts.containers.workspaces.triggers.update
  2918  	WaitForTags *Parameter `json:"waitForTags,omitempty"`
  2919  	// WaitForTagsTimeout: How long to wait (in milliseconds) for tags to fire when
  2920  	// 'waits_for_tags' above evaluates to true. Only valid for Form Submission and
  2921  	// Link Click triggers. @mutable
  2922  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  2923  	// tagmanager.accounts.containers.workspaces.triggers.update
  2924  	WaitForTagsTimeout *Parameter `json:"waitForTagsTimeout,omitempty"`
  2925  	// WorkspaceId: GTM Workspace ID.
  2926  	WorkspaceId string `json:"workspaceId,omitempty"`
  2927  
  2928  	// ServerResponse contains the HTTP response code and headers from the server.
  2929  	googleapi.ServerResponse `json:"-"`
  2930  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2931  	// unconditionally include in API requests. By default, fields with empty or
  2932  	// default values are omitted from API requests. See
  2933  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2934  	// details.
  2935  	ForceSendFields []string `json:"-"`
  2936  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  2937  	// requests with the JSON null value. By default, fields with empty values are
  2938  	// omitted from API requests. See
  2939  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2940  	NullFields []string `json:"-"`
  2941  }
  2942  
  2943  func (s *Trigger) MarshalJSON() ([]byte, error) {
  2944  	type NoMethod Trigger
  2945  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2946  }
  2947  
  2948  // UserPermission: Represents a user's permissions to an account and its
  2949  // container.
  2950  type UserPermission struct {
  2951  	// AccountAccess: GTM Account access permissions. @mutable
  2952  	// tagmanager.accounts.permissions.create @mutable
  2953  	// tagmanager.accounts.permissions.update
  2954  	AccountAccess *AccountAccess `json:"accountAccess,omitempty"`
  2955  	// AccountId: The Account ID uniquely identifies the GTM Account.
  2956  	AccountId string `json:"accountId,omitempty"`
  2957  	// ContainerAccess: GTM Container access permissions. @mutable
  2958  	// tagmanager.accounts.permissions.create @mutable
  2959  	// tagmanager.accounts.permissions.update
  2960  	ContainerAccess []*ContainerAccess `json:"containerAccess,omitempty"`
  2961  	// EmailAddress: User's email address. @mutable
  2962  	// tagmanager.accounts.permissions.create
  2963  	EmailAddress string `json:"emailAddress,omitempty"`
  2964  	// Path: GTM UserPermission's API relative path.
  2965  	Path string `json:"path,omitempty"`
  2966  
  2967  	// ServerResponse contains the HTTP response code and headers from the server.
  2968  	googleapi.ServerResponse `json:"-"`
  2969  	// ForceSendFields is a list of field names (e.g. "AccountAccess") to
  2970  	// unconditionally include in API requests. By default, fields with empty or
  2971  	// default values are omitted from API requests. See
  2972  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2973  	// details.
  2974  	ForceSendFields []string `json:"-"`
  2975  	// NullFields is a list of field names (e.g. "AccountAccess") to include in API
  2976  	// requests with the JSON null value. By default, fields with empty values are
  2977  	// omitted from API requests. See
  2978  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2979  	NullFields []string `json:"-"`
  2980  }
  2981  
  2982  func (s *UserPermission) MarshalJSON() ([]byte, error) {
  2983  	type NoMethod UserPermission
  2984  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2985  }
  2986  
  2987  // Variable: Represents a Google Tag Manager Variable.
  2988  type Variable struct {
  2989  	// AccountId: GTM Account ID.
  2990  	AccountId string `json:"accountId,omitempty"`
  2991  	// ContainerId: GTM Container ID.
  2992  	ContainerId string `json:"containerId,omitempty"`
  2993  	// DisablingTriggerId: For mobile containers only: A list of trigger IDs for
  2994  	// disabling conditional variables; the variable is enabled if one of the
  2995  	// enabling trigger is true while all the disabling trigger are false. Treated
  2996  	// as an unordered set. @mutable
  2997  	// tagmanager.accounts.containers.workspaces.variables.create @mutable
  2998  	// tagmanager.accounts.containers.workspaces.variables.update
  2999  	DisablingTriggerId []string `json:"disablingTriggerId,omitempty"`
  3000  	// EnablingTriggerId: For mobile containers only: A list of trigger IDs for
  3001  	// enabling conditional variables; the variable is enabled if one of the
  3002  	// enabling triggers is true while all the disabling triggers are false.
  3003  	// Treated as an unordered set. @mutable
  3004  	// tagmanager.accounts.containers.workspaces.variables.create @mutable
  3005  	// tagmanager.accounts.containers.workspaces.variables.update
  3006  	EnablingTriggerId []string `json:"enablingTriggerId,omitempty"`
  3007  	// Fingerprint: The fingerprint of the GTM Variable as computed at storage
  3008  	// time. This value is recomputed whenever the variable is modified.
  3009  	Fingerprint string `json:"fingerprint,omitempty"`
  3010  	// FormatValue: Option to convert a variable value to other value.
  3011  	FormatValue *VariableFormatValue `json:"formatValue,omitempty"`
  3012  	// Name: Variable display name. @mutable
  3013  	// tagmanager.accounts.containers.workspaces.variables.create @mutable
  3014  	// tagmanager.accounts.containers.workspaces.variables.update
  3015  	Name string `json:"name,omitempty"`
  3016  	// Notes: User notes on how to apply this variable in the container. @mutable
  3017  	// tagmanager.accounts.containers.workspaces.variables.create @mutable
  3018  	// tagmanager.accounts.containers.workspaces.variables.update
  3019  	Notes string `json:"notes,omitempty"`
  3020  	// Parameter: The variable's parameters. @mutable
  3021  	// tagmanager.accounts.containers.workspaces.variables.create @mutable
  3022  	// tagmanager.accounts.containers.workspaces.variables.update
  3023  	Parameter []*Parameter `json:"parameter,omitempty"`
  3024  	// ParentFolderId: Parent folder id.
  3025  	ParentFolderId string `json:"parentFolderId,omitempty"`
  3026  	// Path: GTM Variable's API relative path.
  3027  	Path string `json:"path,omitempty"`
  3028  	// ScheduleEndMs: The end timestamp in milliseconds to schedule a variable.
  3029  	// @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable
  3030  	// tagmanager.accounts.containers.workspaces.variables.update
  3031  	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
  3032  	// ScheduleStartMs: The start timestamp in milliseconds to schedule a variable.
  3033  	// @mutable tagmanager.accounts.containers.workspaces.variables.create @mutable
  3034  	// tagmanager.accounts.containers.workspaces.variables.update
  3035  	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
  3036  	// TagManagerUrl: Auto generated link to the tag manager UI
  3037  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  3038  	// Type: GTM Variable Type. @mutable
  3039  	// tagmanager.accounts.containers.workspaces.variables.create @mutable
  3040  	// tagmanager.accounts.containers.workspaces.variables.update
  3041  	Type string `json:"type,omitempty"`
  3042  	// VariableId: The Variable ID uniquely identifies the GTM Variable.
  3043  	VariableId string `json:"variableId,omitempty"`
  3044  	// WorkspaceId: GTM Workspace ID.
  3045  	WorkspaceId string `json:"workspaceId,omitempty"`
  3046  
  3047  	// ServerResponse contains the HTTP response code and headers from the server.
  3048  	googleapi.ServerResponse `json:"-"`
  3049  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  3050  	// unconditionally include in API requests. By default, fields with empty or
  3051  	// default values are omitted from API requests. See
  3052  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3053  	// details.
  3054  	ForceSendFields []string `json:"-"`
  3055  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  3056  	// requests with the JSON null value. By default, fields with empty values are
  3057  	// omitted from API requests. See
  3058  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3059  	NullFields []string `json:"-"`
  3060  }
  3061  
  3062  func (s *Variable) MarshalJSON() ([]byte, error) {
  3063  	type NoMethod Variable
  3064  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3065  }
  3066  
  3067  type VariableFormatValue struct {
  3068  	// CaseConversionType: The option to convert a string-type variable value to
  3069  	// either lowercase or uppercase.
  3070  	//
  3071  	// Possible values:
  3072  	//   "none"
  3073  	//   "lowercase" - The option to convert a variable value to lowercase.
  3074  	//   "uppercase" - The option to convert a variable value to uppercase.
  3075  	CaseConversionType string `json:"caseConversionType,omitempty"`
  3076  	// ConvertFalseToValue: The value to convert if a variable value is false.
  3077  	ConvertFalseToValue *Parameter `json:"convertFalseToValue,omitempty"`
  3078  	// ConvertNullToValue: The value to convert if a variable value is null.
  3079  	ConvertNullToValue *Parameter `json:"convertNullToValue,omitempty"`
  3080  	// ConvertTrueToValue: The value to convert if a variable value is true.
  3081  	ConvertTrueToValue *Parameter `json:"convertTrueToValue,omitempty"`
  3082  	// ConvertUndefinedToValue: The value to convert if a variable value is
  3083  	// undefined.
  3084  	ConvertUndefinedToValue *Parameter `json:"convertUndefinedToValue,omitempty"`
  3085  	// ForceSendFields is a list of field names (e.g. "CaseConversionType") to
  3086  	// unconditionally include in API requests. By default, fields with empty or
  3087  	// default values are omitted from API requests. See
  3088  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3089  	// details.
  3090  	ForceSendFields []string `json:"-"`
  3091  	// NullFields is a list of field names (e.g. "CaseConversionType") to include
  3092  	// in API requests with the JSON null value. By default, fields with empty
  3093  	// values are omitted from API requests. See
  3094  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3095  	NullFields []string `json:"-"`
  3096  }
  3097  
  3098  func (s *VariableFormatValue) MarshalJSON() ([]byte, error) {
  3099  	type NoMethod VariableFormatValue
  3100  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3101  }
  3102  
  3103  // Workspace: Represents a Google Tag Manager Container Workspace.
  3104  type Workspace struct {
  3105  	// AccountId: GTM Account ID.
  3106  	AccountId string `json:"accountId,omitempty"`
  3107  	// ContainerId: GTM Container ID.
  3108  	ContainerId string `json:"containerId,omitempty"`
  3109  	// Description: Workspace description. @mutable
  3110  	// tagmanager.accounts.containers.workspaces.create @mutable
  3111  	// tagmanager.accounts.containers.workspaces.update
  3112  	Description string `json:"description,omitempty"`
  3113  	// Fingerprint: The fingerprint of the GTM Workspace as computed at storage
  3114  	// time. This value is recomputed whenever the workspace is modified.
  3115  	Fingerprint string `json:"fingerprint,omitempty"`
  3116  	// Name: Workspace display name. @mutable
  3117  	// tagmanager.accounts.containers.workspaces.create @mutable
  3118  	// tagmanager.accounts.containers.workspaces.update
  3119  	Name string `json:"name,omitempty"`
  3120  	// Path: GTM Workspace's API relative path.
  3121  	Path string `json:"path,omitempty"`
  3122  	// TagManagerUrl: Auto generated link to the tag manager UI
  3123  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  3124  	// WorkspaceId: The Workspace ID uniquely identifies the GTM Workspace.
  3125  	WorkspaceId string `json:"workspaceId,omitempty"`
  3126  
  3127  	// ServerResponse contains the HTTP response code and headers from the server.
  3128  	googleapi.ServerResponse `json:"-"`
  3129  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  3130  	// unconditionally include in API requests. By default, fields with empty or
  3131  	// default values are omitted from API requests. See
  3132  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3133  	// details.
  3134  	ForceSendFields []string `json:"-"`
  3135  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  3136  	// requests with the JSON null value. By default, fields with empty values are
  3137  	// omitted from API requests. See
  3138  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3139  	NullFields []string `json:"-"`
  3140  }
  3141  
  3142  func (s *Workspace) MarshalJSON() ([]byte, error) {
  3143  	type NoMethod Workspace
  3144  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3145  }
  3146  
  3147  // Zone: Represents a Google Tag Manager Zone's contents.
  3148  type Zone struct {
  3149  	// AccountId: GTM Account ID.
  3150  	AccountId string `json:"accountId,omitempty"`
  3151  	// Boundary: This Zone's boundary.
  3152  	Boundary *ZoneBoundary `json:"boundary,omitempty"`
  3153  	// ChildContainer: Containers that are children of this Zone.
  3154  	ChildContainer []*ZoneChildContainer `json:"childContainer,omitempty"`
  3155  	// ContainerId: GTM Container ID.
  3156  	ContainerId string `json:"containerId,omitempty"`
  3157  	// Fingerprint: The fingerprint of the GTM Zone as computed at storage time.
  3158  	// This value is recomputed whenever the zone is modified.
  3159  	Fingerprint string `json:"fingerprint,omitempty"`
  3160  	// Name: Zone display name.
  3161  	Name string `json:"name,omitempty"`
  3162  	// Notes: User notes on how to apply this zone in the container.
  3163  	Notes string `json:"notes,omitempty"`
  3164  	// Path: GTM Zone's API relative path.
  3165  	Path string `json:"path,omitempty"`
  3166  	// TagManagerUrl: Auto generated link to the tag manager UI
  3167  	TagManagerUrl string `json:"tagManagerUrl,omitempty"`
  3168  	// TypeRestriction: This Zone's type restrictions.
  3169  	TypeRestriction *ZoneTypeRestriction `json:"typeRestriction,omitempty"`
  3170  	// WorkspaceId: GTM Workspace ID.
  3171  	WorkspaceId string `json:"workspaceId,omitempty"`
  3172  	// ZoneId: The Zone ID uniquely identifies the GTM Zone.
  3173  	ZoneId string `json:"zoneId,omitempty"`
  3174  
  3175  	// ServerResponse contains the HTTP response code and headers from the server.
  3176  	googleapi.ServerResponse `json:"-"`
  3177  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  3178  	// unconditionally include in API requests. By default, fields with empty or
  3179  	// default values are omitted from API requests. See
  3180  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3181  	// details.
  3182  	ForceSendFields []string `json:"-"`
  3183  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  3184  	// requests with the JSON null value. By default, fields with empty values are
  3185  	// omitted from API requests. See
  3186  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3187  	NullFields []string `json:"-"`
  3188  }
  3189  
  3190  func (s *Zone) MarshalJSON() ([]byte, error) {
  3191  	type NoMethod Zone
  3192  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3193  }
  3194  
  3195  // ZoneBoundary: Represents a Zone's boundaries.
  3196  type ZoneBoundary struct {
  3197  	// Condition: The conditions that, when conjoined, make up the boundary.
  3198  	Condition []*Condition `json:"condition,omitempty"`
  3199  	// CustomEvaluationTriggerId: Custom evaluation trigger IDs. A zone will
  3200  	// evaluate its boundary conditions when any of the listed triggers are true.
  3201  	CustomEvaluationTriggerId []string `json:"customEvaluationTriggerId,omitempty"`
  3202  	// ForceSendFields is a list of field names (e.g. "Condition") to
  3203  	// unconditionally include in API requests. By default, fields with empty or
  3204  	// default values are omitted from API requests. See
  3205  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3206  	// details.
  3207  	ForceSendFields []string `json:"-"`
  3208  	// NullFields is a list of field names (e.g. "Condition") to include in API
  3209  	// requests with the JSON null value. By default, fields with empty values are
  3210  	// omitted from API requests. See
  3211  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3212  	NullFields []string `json:"-"`
  3213  }
  3214  
  3215  func (s *ZoneBoundary) MarshalJSON() ([]byte, error) {
  3216  	type NoMethod ZoneBoundary
  3217  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3218  }
  3219  
  3220  // ZoneChildContainer: Represents a child container of a Zone.
  3221  type ZoneChildContainer struct {
  3222  	// Nickname: The zone's nickname for the child container.
  3223  	Nickname string `json:"nickname,omitempty"`
  3224  	// PublicId: The child container's public id.
  3225  	PublicId string `json:"publicId,omitempty"`
  3226  	// ForceSendFields is a list of field names (e.g. "Nickname") to
  3227  	// unconditionally include in API requests. By default, fields with empty or
  3228  	// default values are omitted from API requests. See
  3229  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3230  	// details.
  3231  	ForceSendFields []string `json:"-"`
  3232  	// NullFields is a list of field names (e.g. "Nickname") to include in API
  3233  	// requests with the JSON null value. By default, fields with empty values are
  3234  	// omitted from API requests. See
  3235  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3236  	NullFields []string `json:"-"`
  3237  }
  3238  
  3239  func (s *ZoneChildContainer) MarshalJSON() ([]byte, error) {
  3240  	type NoMethod ZoneChildContainer
  3241  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3242  }
  3243  
  3244  // ZoneTypeRestriction: Represents a Zone's type restrictions.
  3245  type ZoneTypeRestriction struct {
  3246  	// Enable: True if type restrictions have been enabled for this Zone.
  3247  	Enable bool `json:"enable,omitempty"`
  3248  	// WhitelistedTypeId: List of type public ids that have been whitelisted for
  3249  	// use in this Zone.
  3250  	WhitelistedTypeId []string `json:"whitelistedTypeId,omitempty"`
  3251  	// ForceSendFields is a list of field names (e.g. "Enable") to unconditionally
  3252  	// include in API requests. By default, fields with empty or default values are
  3253  	// omitted from API requests. See
  3254  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3255  	// details.
  3256  	ForceSendFields []string `json:"-"`
  3257  	// NullFields is a list of field names (e.g. "Enable") to include in API
  3258  	// requests with the JSON null value. By default, fields with empty values are
  3259  	// omitted from API requests. See
  3260  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3261  	NullFields []string `json:"-"`
  3262  }
  3263  
  3264  func (s *ZoneTypeRestriction) MarshalJSON() ([]byte, error) {
  3265  	type NoMethod ZoneTypeRestriction
  3266  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3267  }
  3268  
  3269  type AccountsGetCall struct {
  3270  	s            *Service
  3271  	path         string
  3272  	urlParams_   gensupport.URLParams
  3273  	ifNoneMatch_ string
  3274  	ctx_         context.Context
  3275  	header_      http.Header
  3276  }
  3277  
  3278  // Get: Gets a GTM Account.
  3279  //
  3280  // - path: GTM Account's API relative path. Example: accounts/{account_id}.
  3281  func (r *AccountsService) Get(path string) *AccountsGetCall {
  3282  	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3283  	c.path = path
  3284  	return c
  3285  }
  3286  
  3287  // Fields allows partial responses to be retrieved. See
  3288  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3289  // details.
  3290  func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
  3291  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3292  	return c
  3293  }
  3294  
  3295  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3296  // object's ETag matches the given value. This is useful for getting updates
  3297  // only after the object has changed since the last request.
  3298  func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
  3299  	c.ifNoneMatch_ = entityTag
  3300  	return c
  3301  }
  3302  
  3303  // Context sets the context to be used in this call's Do method.
  3304  func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
  3305  	c.ctx_ = ctx
  3306  	return c
  3307  }
  3308  
  3309  // Header returns a http.Header that can be modified by the caller to add
  3310  // headers to the request.
  3311  func (c *AccountsGetCall) Header() http.Header {
  3312  	if c.header_ == nil {
  3313  		c.header_ = make(http.Header)
  3314  	}
  3315  	return c.header_
  3316  }
  3317  
  3318  func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
  3319  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3320  	if c.ifNoneMatch_ != "" {
  3321  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3322  	}
  3323  	var body io.Reader = nil
  3324  	c.urlParams_.Set("alt", alt)
  3325  	c.urlParams_.Set("prettyPrint", "false")
  3326  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  3327  	urls += "?" + c.urlParams_.Encode()
  3328  	req, err := http.NewRequest("GET", urls, body)
  3329  	if err != nil {
  3330  		return nil, err
  3331  	}
  3332  	req.Header = reqHeaders
  3333  	googleapi.Expand(req.URL, map[string]string{
  3334  		"path": c.path,
  3335  	})
  3336  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3337  }
  3338  
  3339  // Do executes the "tagmanager.accounts.get" call.
  3340  // Any non-2xx status code is an error. Response headers are in either
  3341  // *Account.ServerResponse.Header or (if a response was returned at all) in
  3342  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3343  // whether the returned error was because http.StatusNotModified was returned.
  3344  func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
  3345  	gensupport.SetOptions(c.urlParams_, opts...)
  3346  	res, err := c.doRequest("json")
  3347  	if res != nil && res.StatusCode == http.StatusNotModified {
  3348  		if res.Body != nil {
  3349  			res.Body.Close()
  3350  		}
  3351  		return nil, gensupport.WrapError(&googleapi.Error{
  3352  			Code:   res.StatusCode,
  3353  			Header: res.Header,
  3354  		})
  3355  	}
  3356  	if err != nil {
  3357  		return nil, err
  3358  	}
  3359  	defer googleapi.CloseBody(res)
  3360  	if err := googleapi.CheckResponse(res); err != nil {
  3361  		return nil, gensupport.WrapError(err)
  3362  	}
  3363  	ret := &Account{
  3364  		ServerResponse: googleapi.ServerResponse{
  3365  			Header:         res.Header,
  3366  			HTTPStatusCode: res.StatusCode,
  3367  		},
  3368  	}
  3369  	target := &ret
  3370  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3371  		return nil, err
  3372  	}
  3373  	return ret, nil
  3374  }
  3375  
  3376  type AccountsListCall struct {
  3377  	s            *Service
  3378  	urlParams_   gensupport.URLParams
  3379  	ifNoneMatch_ string
  3380  	ctx_         context.Context
  3381  	header_      http.Header
  3382  }
  3383  
  3384  // List: Lists all GTM Accounts that a user has access to.
  3385  func (r *AccountsService) List() *AccountsListCall {
  3386  	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3387  	return c
  3388  }
  3389  
  3390  // IncludeGoogleTags sets the optional parameter "includeGoogleTags": Also
  3391  // retrieve accounts associated with Google Tag when true.
  3392  func (c *AccountsListCall) IncludeGoogleTags(includeGoogleTags bool) *AccountsListCall {
  3393  	c.urlParams_.Set("includeGoogleTags", fmt.Sprint(includeGoogleTags))
  3394  	return c
  3395  }
  3396  
  3397  // PageToken sets the optional parameter "pageToken": Continuation token for
  3398  // fetching the next page of results.
  3399  func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
  3400  	c.urlParams_.Set("pageToken", pageToken)
  3401  	return c
  3402  }
  3403  
  3404  // Fields allows partial responses to be retrieved. See
  3405  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3406  // details.
  3407  func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
  3408  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3409  	return c
  3410  }
  3411  
  3412  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3413  // object's ETag matches the given value. This is useful for getting updates
  3414  // only after the object has changed since the last request.
  3415  func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
  3416  	c.ifNoneMatch_ = entityTag
  3417  	return c
  3418  }
  3419  
  3420  // Context sets the context to be used in this call's Do method.
  3421  func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
  3422  	c.ctx_ = ctx
  3423  	return c
  3424  }
  3425  
  3426  // Header returns a http.Header that can be modified by the caller to add
  3427  // headers to the request.
  3428  func (c *AccountsListCall) Header() http.Header {
  3429  	if c.header_ == nil {
  3430  		c.header_ = make(http.Header)
  3431  	}
  3432  	return c.header_
  3433  }
  3434  
  3435  func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
  3436  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3437  	if c.ifNoneMatch_ != "" {
  3438  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3439  	}
  3440  	var body io.Reader = nil
  3441  	c.urlParams_.Set("alt", alt)
  3442  	c.urlParams_.Set("prettyPrint", "false")
  3443  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/accounts")
  3444  	urls += "?" + c.urlParams_.Encode()
  3445  	req, err := http.NewRequest("GET", urls, body)
  3446  	if err != nil {
  3447  		return nil, err
  3448  	}
  3449  	req.Header = reqHeaders
  3450  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3451  }
  3452  
  3453  // Do executes the "tagmanager.accounts.list" call.
  3454  // Any non-2xx status code is an error. Response headers are in either
  3455  // *ListAccountsResponse.ServerResponse.Header or (if a response was returned
  3456  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3457  // check whether the returned error was because http.StatusNotModified was
  3458  // returned.
  3459  func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*ListAccountsResponse, error) {
  3460  	gensupport.SetOptions(c.urlParams_, opts...)
  3461  	res, err := c.doRequest("json")
  3462  	if res != nil && res.StatusCode == http.StatusNotModified {
  3463  		if res.Body != nil {
  3464  			res.Body.Close()
  3465  		}
  3466  		return nil, gensupport.WrapError(&googleapi.Error{
  3467  			Code:   res.StatusCode,
  3468  			Header: res.Header,
  3469  		})
  3470  	}
  3471  	if err != nil {
  3472  		return nil, err
  3473  	}
  3474  	defer googleapi.CloseBody(res)
  3475  	if err := googleapi.CheckResponse(res); err != nil {
  3476  		return nil, gensupport.WrapError(err)
  3477  	}
  3478  	ret := &ListAccountsResponse{
  3479  		ServerResponse: googleapi.ServerResponse{
  3480  			Header:         res.Header,
  3481  			HTTPStatusCode: res.StatusCode,
  3482  		},
  3483  	}
  3484  	target := &ret
  3485  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3486  		return nil, err
  3487  	}
  3488  	return ret, nil
  3489  }
  3490  
  3491  // Pages invokes f for each page of results.
  3492  // A non-nil error returned from f will halt the iteration.
  3493  // The provided context supersedes any context provided to the Context method.
  3494  func (c *AccountsListCall) Pages(ctx context.Context, f func(*ListAccountsResponse) error) error {
  3495  	c.ctx_ = ctx
  3496  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  3497  	for {
  3498  		x, err := c.Do()
  3499  		if err != nil {
  3500  			return err
  3501  		}
  3502  		if err := f(x); err != nil {
  3503  			return err
  3504  		}
  3505  		if x.NextPageToken == "" {
  3506  			return nil
  3507  		}
  3508  		c.PageToken(x.NextPageToken)
  3509  	}
  3510  }
  3511  
  3512  type AccountsUpdateCall struct {
  3513  	s          *Service
  3514  	path       string
  3515  	account    *Account
  3516  	urlParams_ gensupport.URLParams
  3517  	ctx_       context.Context
  3518  	header_    http.Header
  3519  }
  3520  
  3521  // Update: Updates a GTM Account.
  3522  //
  3523  // - path: GTM Account's API relative path. Example: accounts/{account_id}.
  3524  func (r *AccountsService) Update(path string, account *Account) *AccountsUpdateCall {
  3525  	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3526  	c.path = path
  3527  	c.account = account
  3528  	return c
  3529  }
  3530  
  3531  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  3532  // fingerprint must match the fingerprint of the account in storage.
  3533  func (c *AccountsUpdateCall) Fingerprint(fingerprint string) *AccountsUpdateCall {
  3534  	c.urlParams_.Set("fingerprint", fingerprint)
  3535  	return c
  3536  }
  3537  
  3538  // Fields allows partial responses to be retrieved. See
  3539  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3540  // details.
  3541  func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
  3542  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3543  	return c
  3544  }
  3545  
  3546  // Context sets the context to be used in this call's Do method.
  3547  func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
  3548  	c.ctx_ = ctx
  3549  	return c
  3550  }
  3551  
  3552  // Header returns a http.Header that can be modified by the caller to add
  3553  // headers to the request.
  3554  func (c *AccountsUpdateCall) Header() http.Header {
  3555  	if c.header_ == nil {
  3556  		c.header_ = make(http.Header)
  3557  	}
  3558  	return c.header_
  3559  }
  3560  
  3561  func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
  3562  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3563  	var body io.Reader = nil
  3564  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
  3565  	if err != nil {
  3566  		return nil, err
  3567  	}
  3568  	c.urlParams_.Set("alt", alt)
  3569  	c.urlParams_.Set("prettyPrint", "false")
  3570  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  3571  	urls += "?" + c.urlParams_.Encode()
  3572  	req, err := http.NewRequest("PUT", urls, body)
  3573  	if err != nil {
  3574  		return nil, err
  3575  	}
  3576  	req.Header = reqHeaders
  3577  	googleapi.Expand(req.URL, map[string]string{
  3578  		"path": c.path,
  3579  	})
  3580  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3581  }
  3582  
  3583  // Do executes the "tagmanager.accounts.update" call.
  3584  // Any non-2xx status code is an error. Response headers are in either
  3585  // *Account.ServerResponse.Header or (if a response was returned at all) in
  3586  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3587  // whether the returned error was because http.StatusNotModified was returned.
  3588  func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
  3589  	gensupport.SetOptions(c.urlParams_, opts...)
  3590  	res, err := c.doRequest("json")
  3591  	if res != nil && res.StatusCode == http.StatusNotModified {
  3592  		if res.Body != nil {
  3593  			res.Body.Close()
  3594  		}
  3595  		return nil, gensupport.WrapError(&googleapi.Error{
  3596  			Code:   res.StatusCode,
  3597  			Header: res.Header,
  3598  		})
  3599  	}
  3600  	if err != nil {
  3601  		return nil, err
  3602  	}
  3603  	defer googleapi.CloseBody(res)
  3604  	if err := googleapi.CheckResponse(res); err != nil {
  3605  		return nil, gensupport.WrapError(err)
  3606  	}
  3607  	ret := &Account{
  3608  		ServerResponse: googleapi.ServerResponse{
  3609  			Header:         res.Header,
  3610  			HTTPStatusCode: res.StatusCode,
  3611  		},
  3612  	}
  3613  	target := &ret
  3614  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3615  		return nil, err
  3616  	}
  3617  	return ret, nil
  3618  }
  3619  
  3620  type AccountsContainersCombineCall struct {
  3621  	s          *Service
  3622  	path       string
  3623  	urlParams_ gensupport.URLParams
  3624  	ctx_       context.Context
  3625  	header_    http.Header
  3626  }
  3627  
  3628  // Combine: Combines Containers.
  3629  //
  3630  //   - path: GTM Container's API relative path. Example:
  3631  //     accounts/{account_id}/containers/{container_id}.
  3632  func (r *AccountsContainersService) Combine(path string) *AccountsContainersCombineCall {
  3633  	c := &AccountsContainersCombineCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3634  	c.path = path
  3635  	return c
  3636  }
  3637  
  3638  // AllowUserPermissionFeatureUpdate sets the optional parameter
  3639  // "allowUserPermissionFeatureUpdate": Must be set to true to allow
  3640  // features.user_permissions to change from false to true. If this operation
  3641  // causes an update but this bit is false, the operation will fail.
  3642  func (c *AccountsContainersCombineCall) AllowUserPermissionFeatureUpdate(allowUserPermissionFeatureUpdate bool) *AccountsContainersCombineCall {
  3643  	c.urlParams_.Set("allowUserPermissionFeatureUpdate", fmt.Sprint(allowUserPermissionFeatureUpdate))
  3644  	return c
  3645  }
  3646  
  3647  // ContainerId sets the optional parameter "containerId": ID of container that
  3648  // will be merged into the current container.
  3649  func (c *AccountsContainersCombineCall) ContainerId(containerId string) *AccountsContainersCombineCall {
  3650  	c.urlParams_.Set("containerId", containerId)
  3651  	return c
  3652  }
  3653  
  3654  // SettingSource sets the optional parameter "settingSource": Specify the
  3655  // source of config setting after combine
  3656  //
  3657  // Possible values:
  3658  //
  3659  //	"settingSourceUnspecified"
  3660  //	"current" - Keep the current container config setting after combine
  3661  //	"other" - Use config setting from the other tag after combine
  3662  func (c *AccountsContainersCombineCall) SettingSource(settingSource string) *AccountsContainersCombineCall {
  3663  	c.urlParams_.Set("settingSource", settingSource)
  3664  	return c
  3665  }
  3666  
  3667  // Fields allows partial responses to be retrieved. See
  3668  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3669  // details.
  3670  func (c *AccountsContainersCombineCall) Fields(s ...googleapi.Field) *AccountsContainersCombineCall {
  3671  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3672  	return c
  3673  }
  3674  
  3675  // Context sets the context to be used in this call's Do method.
  3676  func (c *AccountsContainersCombineCall) Context(ctx context.Context) *AccountsContainersCombineCall {
  3677  	c.ctx_ = ctx
  3678  	return c
  3679  }
  3680  
  3681  // Header returns a http.Header that can be modified by the caller to add
  3682  // headers to the request.
  3683  func (c *AccountsContainersCombineCall) Header() http.Header {
  3684  	if c.header_ == nil {
  3685  		c.header_ = make(http.Header)
  3686  	}
  3687  	return c.header_
  3688  }
  3689  
  3690  func (c *AccountsContainersCombineCall) doRequest(alt string) (*http.Response, error) {
  3691  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3692  	var body io.Reader = nil
  3693  	c.urlParams_.Set("alt", alt)
  3694  	c.urlParams_.Set("prettyPrint", "false")
  3695  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:combine")
  3696  	urls += "?" + c.urlParams_.Encode()
  3697  	req, err := http.NewRequest("POST", urls, body)
  3698  	if err != nil {
  3699  		return nil, err
  3700  	}
  3701  	req.Header = reqHeaders
  3702  	googleapi.Expand(req.URL, map[string]string{
  3703  		"path": c.path,
  3704  	})
  3705  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3706  }
  3707  
  3708  // Do executes the "tagmanager.accounts.containers.combine" call.
  3709  // Any non-2xx status code is an error. Response headers are in either
  3710  // *Container.ServerResponse.Header or (if a response was returned at all) in
  3711  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3712  // whether the returned error was because http.StatusNotModified was returned.
  3713  func (c *AccountsContainersCombineCall) Do(opts ...googleapi.CallOption) (*Container, error) {
  3714  	gensupport.SetOptions(c.urlParams_, opts...)
  3715  	res, err := c.doRequest("json")
  3716  	if res != nil && res.StatusCode == http.StatusNotModified {
  3717  		if res.Body != nil {
  3718  			res.Body.Close()
  3719  		}
  3720  		return nil, gensupport.WrapError(&googleapi.Error{
  3721  			Code:   res.StatusCode,
  3722  			Header: res.Header,
  3723  		})
  3724  	}
  3725  	if err != nil {
  3726  		return nil, err
  3727  	}
  3728  	defer googleapi.CloseBody(res)
  3729  	if err := googleapi.CheckResponse(res); err != nil {
  3730  		return nil, gensupport.WrapError(err)
  3731  	}
  3732  	ret := &Container{
  3733  		ServerResponse: googleapi.ServerResponse{
  3734  			Header:         res.Header,
  3735  			HTTPStatusCode: res.StatusCode,
  3736  		},
  3737  	}
  3738  	target := &ret
  3739  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3740  		return nil, err
  3741  	}
  3742  	return ret, nil
  3743  }
  3744  
  3745  type AccountsContainersCreateCall struct {
  3746  	s          *Service
  3747  	parent     string
  3748  	container  *Container
  3749  	urlParams_ gensupport.URLParams
  3750  	ctx_       context.Context
  3751  	header_    http.Header
  3752  }
  3753  
  3754  // Create: Creates a Container.
  3755  //
  3756  // - parent: GTM Account's API relative path. Example: accounts/{account_id}.
  3757  func (r *AccountsContainersService) Create(parent string, container *Container) *AccountsContainersCreateCall {
  3758  	c := &AccountsContainersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3759  	c.parent = parent
  3760  	c.container = container
  3761  	return c
  3762  }
  3763  
  3764  // Fields allows partial responses to be retrieved. See
  3765  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3766  // details.
  3767  func (c *AccountsContainersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersCreateCall {
  3768  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3769  	return c
  3770  }
  3771  
  3772  // Context sets the context to be used in this call's Do method.
  3773  func (c *AccountsContainersCreateCall) Context(ctx context.Context) *AccountsContainersCreateCall {
  3774  	c.ctx_ = ctx
  3775  	return c
  3776  }
  3777  
  3778  // Header returns a http.Header that can be modified by the caller to add
  3779  // headers to the request.
  3780  func (c *AccountsContainersCreateCall) Header() http.Header {
  3781  	if c.header_ == nil {
  3782  		c.header_ = make(http.Header)
  3783  	}
  3784  	return c.header_
  3785  }
  3786  
  3787  func (c *AccountsContainersCreateCall) doRequest(alt string) (*http.Response, error) {
  3788  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3789  	var body io.Reader = nil
  3790  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.container)
  3791  	if err != nil {
  3792  		return nil, err
  3793  	}
  3794  	c.urlParams_.Set("alt", alt)
  3795  	c.urlParams_.Set("prettyPrint", "false")
  3796  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/containers")
  3797  	urls += "?" + c.urlParams_.Encode()
  3798  	req, err := http.NewRequest("POST", urls, body)
  3799  	if err != nil {
  3800  		return nil, err
  3801  	}
  3802  	req.Header = reqHeaders
  3803  	googleapi.Expand(req.URL, map[string]string{
  3804  		"parent": c.parent,
  3805  	})
  3806  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3807  }
  3808  
  3809  // Do executes the "tagmanager.accounts.containers.create" call.
  3810  // Any non-2xx status code is an error. Response headers are in either
  3811  // *Container.ServerResponse.Header or (if a response was returned at all) in
  3812  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3813  // whether the returned error was because http.StatusNotModified was returned.
  3814  func (c *AccountsContainersCreateCall) Do(opts ...googleapi.CallOption) (*Container, error) {
  3815  	gensupport.SetOptions(c.urlParams_, opts...)
  3816  	res, err := c.doRequest("json")
  3817  	if res != nil && res.StatusCode == http.StatusNotModified {
  3818  		if res.Body != nil {
  3819  			res.Body.Close()
  3820  		}
  3821  		return nil, gensupport.WrapError(&googleapi.Error{
  3822  			Code:   res.StatusCode,
  3823  			Header: res.Header,
  3824  		})
  3825  	}
  3826  	if err != nil {
  3827  		return nil, err
  3828  	}
  3829  	defer googleapi.CloseBody(res)
  3830  	if err := googleapi.CheckResponse(res); err != nil {
  3831  		return nil, gensupport.WrapError(err)
  3832  	}
  3833  	ret := &Container{
  3834  		ServerResponse: googleapi.ServerResponse{
  3835  			Header:         res.Header,
  3836  			HTTPStatusCode: res.StatusCode,
  3837  		},
  3838  	}
  3839  	target := &ret
  3840  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3841  		return nil, err
  3842  	}
  3843  	return ret, nil
  3844  }
  3845  
  3846  type AccountsContainersDeleteCall struct {
  3847  	s          *Service
  3848  	path       string
  3849  	urlParams_ gensupport.URLParams
  3850  	ctx_       context.Context
  3851  	header_    http.Header
  3852  }
  3853  
  3854  // Delete: Deletes a Container.
  3855  //
  3856  //   - path: GTM Container's API relative path. Example:
  3857  //     accounts/{account_id}/containers/{container_id}.
  3858  func (r *AccountsContainersService) Delete(path string) *AccountsContainersDeleteCall {
  3859  	c := &AccountsContainersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3860  	c.path = path
  3861  	return c
  3862  }
  3863  
  3864  // Fields allows partial responses to be retrieved. See
  3865  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3866  // details.
  3867  func (c *AccountsContainersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersDeleteCall {
  3868  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3869  	return c
  3870  }
  3871  
  3872  // Context sets the context to be used in this call's Do method.
  3873  func (c *AccountsContainersDeleteCall) Context(ctx context.Context) *AccountsContainersDeleteCall {
  3874  	c.ctx_ = ctx
  3875  	return c
  3876  }
  3877  
  3878  // Header returns a http.Header that can be modified by the caller to add
  3879  // headers to the request.
  3880  func (c *AccountsContainersDeleteCall) Header() http.Header {
  3881  	if c.header_ == nil {
  3882  		c.header_ = make(http.Header)
  3883  	}
  3884  	return c.header_
  3885  }
  3886  
  3887  func (c *AccountsContainersDeleteCall) doRequest(alt string) (*http.Response, error) {
  3888  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3889  	var body io.Reader = nil
  3890  	c.urlParams_.Set("alt", alt)
  3891  	c.urlParams_.Set("prettyPrint", "false")
  3892  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  3893  	urls += "?" + c.urlParams_.Encode()
  3894  	req, err := http.NewRequest("DELETE", urls, body)
  3895  	if err != nil {
  3896  		return nil, err
  3897  	}
  3898  	req.Header = reqHeaders
  3899  	googleapi.Expand(req.URL, map[string]string{
  3900  		"path": c.path,
  3901  	})
  3902  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3903  }
  3904  
  3905  // Do executes the "tagmanager.accounts.containers.delete" call.
  3906  func (c *AccountsContainersDeleteCall) Do(opts ...googleapi.CallOption) error {
  3907  	gensupport.SetOptions(c.urlParams_, opts...)
  3908  	res, err := c.doRequest("json")
  3909  	if err != nil {
  3910  		return err
  3911  	}
  3912  	defer googleapi.CloseBody(res)
  3913  	if err := googleapi.CheckResponse(res); err != nil {
  3914  		return gensupport.WrapError(err)
  3915  	}
  3916  	return nil
  3917  }
  3918  
  3919  type AccountsContainersGetCall struct {
  3920  	s            *Service
  3921  	path         string
  3922  	urlParams_   gensupport.URLParams
  3923  	ifNoneMatch_ string
  3924  	ctx_         context.Context
  3925  	header_      http.Header
  3926  }
  3927  
  3928  // Get: Gets a Container.
  3929  //
  3930  //   - path: GTM Container's API relative path. Example:
  3931  //     accounts/{account_id}/containers/{container_id}.
  3932  func (r *AccountsContainersService) Get(path string) *AccountsContainersGetCall {
  3933  	c := &AccountsContainersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3934  	c.path = path
  3935  	return c
  3936  }
  3937  
  3938  // Fields allows partial responses to be retrieved. See
  3939  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3940  // details.
  3941  func (c *AccountsContainersGetCall) Fields(s ...googleapi.Field) *AccountsContainersGetCall {
  3942  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3943  	return c
  3944  }
  3945  
  3946  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3947  // object's ETag matches the given value. This is useful for getting updates
  3948  // only after the object has changed since the last request.
  3949  func (c *AccountsContainersGetCall) IfNoneMatch(entityTag string) *AccountsContainersGetCall {
  3950  	c.ifNoneMatch_ = entityTag
  3951  	return c
  3952  }
  3953  
  3954  // Context sets the context to be used in this call's Do method.
  3955  func (c *AccountsContainersGetCall) Context(ctx context.Context) *AccountsContainersGetCall {
  3956  	c.ctx_ = ctx
  3957  	return c
  3958  }
  3959  
  3960  // Header returns a http.Header that can be modified by the caller to add
  3961  // headers to the request.
  3962  func (c *AccountsContainersGetCall) Header() http.Header {
  3963  	if c.header_ == nil {
  3964  		c.header_ = make(http.Header)
  3965  	}
  3966  	return c.header_
  3967  }
  3968  
  3969  func (c *AccountsContainersGetCall) doRequest(alt string) (*http.Response, error) {
  3970  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3971  	if c.ifNoneMatch_ != "" {
  3972  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3973  	}
  3974  	var body io.Reader = nil
  3975  	c.urlParams_.Set("alt", alt)
  3976  	c.urlParams_.Set("prettyPrint", "false")
  3977  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  3978  	urls += "?" + c.urlParams_.Encode()
  3979  	req, err := http.NewRequest("GET", urls, body)
  3980  	if err != nil {
  3981  		return nil, err
  3982  	}
  3983  	req.Header = reqHeaders
  3984  	googleapi.Expand(req.URL, map[string]string{
  3985  		"path": c.path,
  3986  	})
  3987  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3988  }
  3989  
  3990  // Do executes the "tagmanager.accounts.containers.get" call.
  3991  // Any non-2xx status code is an error. Response headers are in either
  3992  // *Container.ServerResponse.Header or (if a response was returned at all) in
  3993  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3994  // whether the returned error was because http.StatusNotModified was returned.
  3995  func (c *AccountsContainersGetCall) Do(opts ...googleapi.CallOption) (*Container, error) {
  3996  	gensupport.SetOptions(c.urlParams_, opts...)
  3997  	res, err := c.doRequest("json")
  3998  	if res != nil && res.StatusCode == http.StatusNotModified {
  3999  		if res.Body != nil {
  4000  			res.Body.Close()
  4001  		}
  4002  		return nil, gensupport.WrapError(&googleapi.Error{
  4003  			Code:   res.StatusCode,
  4004  			Header: res.Header,
  4005  		})
  4006  	}
  4007  	if err != nil {
  4008  		return nil, err
  4009  	}
  4010  	defer googleapi.CloseBody(res)
  4011  	if err := googleapi.CheckResponse(res); err != nil {
  4012  		return nil, gensupport.WrapError(err)
  4013  	}
  4014  	ret := &Container{
  4015  		ServerResponse: googleapi.ServerResponse{
  4016  			Header:         res.Header,
  4017  			HTTPStatusCode: res.StatusCode,
  4018  		},
  4019  	}
  4020  	target := &ret
  4021  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4022  		return nil, err
  4023  	}
  4024  	return ret, nil
  4025  }
  4026  
  4027  type AccountsContainersListCall struct {
  4028  	s            *Service
  4029  	parent       string
  4030  	urlParams_   gensupport.URLParams
  4031  	ifNoneMatch_ string
  4032  	ctx_         context.Context
  4033  	header_      http.Header
  4034  }
  4035  
  4036  // List: Lists all Containers that belongs to a GTM Account.
  4037  //
  4038  // - parent: GTM Account's API relative path. Example: accounts/{account_id}.
  4039  func (r *AccountsContainersService) List(parent string) *AccountsContainersListCall {
  4040  	c := &AccountsContainersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4041  	c.parent = parent
  4042  	return c
  4043  }
  4044  
  4045  // PageToken sets the optional parameter "pageToken": Continuation token for
  4046  // fetching the next page of results.
  4047  func (c *AccountsContainersListCall) PageToken(pageToken string) *AccountsContainersListCall {
  4048  	c.urlParams_.Set("pageToken", pageToken)
  4049  	return c
  4050  }
  4051  
  4052  // Fields allows partial responses to be retrieved. See
  4053  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4054  // details.
  4055  func (c *AccountsContainersListCall) Fields(s ...googleapi.Field) *AccountsContainersListCall {
  4056  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4057  	return c
  4058  }
  4059  
  4060  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4061  // object's ETag matches the given value. This is useful for getting updates
  4062  // only after the object has changed since the last request.
  4063  func (c *AccountsContainersListCall) IfNoneMatch(entityTag string) *AccountsContainersListCall {
  4064  	c.ifNoneMatch_ = entityTag
  4065  	return c
  4066  }
  4067  
  4068  // Context sets the context to be used in this call's Do method.
  4069  func (c *AccountsContainersListCall) Context(ctx context.Context) *AccountsContainersListCall {
  4070  	c.ctx_ = ctx
  4071  	return c
  4072  }
  4073  
  4074  // Header returns a http.Header that can be modified by the caller to add
  4075  // headers to the request.
  4076  func (c *AccountsContainersListCall) Header() http.Header {
  4077  	if c.header_ == nil {
  4078  		c.header_ = make(http.Header)
  4079  	}
  4080  	return c.header_
  4081  }
  4082  
  4083  func (c *AccountsContainersListCall) doRequest(alt string) (*http.Response, error) {
  4084  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4085  	if c.ifNoneMatch_ != "" {
  4086  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4087  	}
  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/{+parent}/containers")
  4092  	urls += "?" + c.urlParams_.Encode()
  4093  	req, err := http.NewRequest("GET", urls, body)
  4094  	if err != nil {
  4095  		return nil, err
  4096  	}
  4097  	req.Header = reqHeaders
  4098  	googleapi.Expand(req.URL, map[string]string{
  4099  		"parent": c.parent,
  4100  	})
  4101  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4102  }
  4103  
  4104  // Do executes the "tagmanager.accounts.containers.list" call.
  4105  // Any non-2xx status code is an error. Response headers are in either
  4106  // *ListContainersResponse.ServerResponse.Header or (if a response was returned
  4107  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4108  // check whether the returned error was because http.StatusNotModified was
  4109  // returned.
  4110  func (c *AccountsContainersListCall) Do(opts ...googleapi.CallOption) (*ListContainersResponse, error) {
  4111  	gensupport.SetOptions(c.urlParams_, opts...)
  4112  	res, err := c.doRequest("json")
  4113  	if res != nil && res.StatusCode == http.StatusNotModified {
  4114  		if res.Body != nil {
  4115  			res.Body.Close()
  4116  		}
  4117  		return nil, gensupport.WrapError(&googleapi.Error{
  4118  			Code:   res.StatusCode,
  4119  			Header: res.Header,
  4120  		})
  4121  	}
  4122  	if err != nil {
  4123  		return nil, err
  4124  	}
  4125  	defer googleapi.CloseBody(res)
  4126  	if err := googleapi.CheckResponse(res); err != nil {
  4127  		return nil, gensupport.WrapError(err)
  4128  	}
  4129  	ret := &ListContainersResponse{
  4130  		ServerResponse: googleapi.ServerResponse{
  4131  			Header:         res.Header,
  4132  			HTTPStatusCode: res.StatusCode,
  4133  		},
  4134  	}
  4135  	target := &ret
  4136  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4137  		return nil, err
  4138  	}
  4139  	return ret, nil
  4140  }
  4141  
  4142  // Pages invokes f for each page of results.
  4143  // A non-nil error returned from f will halt the iteration.
  4144  // The provided context supersedes any context provided to the Context method.
  4145  func (c *AccountsContainersListCall) Pages(ctx context.Context, f func(*ListContainersResponse) error) error {
  4146  	c.ctx_ = ctx
  4147  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4148  	for {
  4149  		x, err := c.Do()
  4150  		if err != nil {
  4151  			return err
  4152  		}
  4153  		if err := f(x); err != nil {
  4154  			return err
  4155  		}
  4156  		if x.NextPageToken == "" {
  4157  			return nil
  4158  		}
  4159  		c.PageToken(x.NextPageToken)
  4160  	}
  4161  }
  4162  
  4163  type AccountsContainersLookupCall struct {
  4164  	s            *Service
  4165  	urlParams_   gensupport.URLParams
  4166  	ifNoneMatch_ string
  4167  	ctx_         context.Context
  4168  	header_      http.Header
  4169  }
  4170  
  4171  // Lookup: Looks up a Container by destination ID.
  4172  func (r *AccountsContainersService) Lookup() *AccountsContainersLookupCall {
  4173  	c := &AccountsContainersLookupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4174  	return c
  4175  }
  4176  
  4177  // DestinationId sets the optional parameter "destinationId": Destination ID
  4178  // linked to a GTM Container, e.g. AW-123456789. Example:
  4179  // accounts/containers:lookup?destination_id={destination_id}.
  4180  func (c *AccountsContainersLookupCall) DestinationId(destinationId string) *AccountsContainersLookupCall {
  4181  	c.urlParams_.Set("destinationId", destinationId)
  4182  	return c
  4183  }
  4184  
  4185  // Fields allows partial responses to be retrieved. See
  4186  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4187  // details.
  4188  func (c *AccountsContainersLookupCall) Fields(s ...googleapi.Field) *AccountsContainersLookupCall {
  4189  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4190  	return c
  4191  }
  4192  
  4193  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4194  // object's ETag matches the given value. This is useful for getting updates
  4195  // only after the object has changed since the last request.
  4196  func (c *AccountsContainersLookupCall) IfNoneMatch(entityTag string) *AccountsContainersLookupCall {
  4197  	c.ifNoneMatch_ = entityTag
  4198  	return c
  4199  }
  4200  
  4201  // Context sets the context to be used in this call's Do method.
  4202  func (c *AccountsContainersLookupCall) Context(ctx context.Context) *AccountsContainersLookupCall {
  4203  	c.ctx_ = ctx
  4204  	return c
  4205  }
  4206  
  4207  // Header returns a http.Header that can be modified by the caller to add
  4208  // headers to the request.
  4209  func (c *AccountsContainersLookupCall) Header() http.Header {
  4210  	if c.header_ == nil {
  4211  		c.header_ = make(http.Header)
  4212  	}
  4213  	return c.header_
  4214  }
  4215  
  4216  func (c *AccountsContainersLookupCall) doRequest(alt string) (*http.Response, error) {
  4217  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4218  	if c.ifNoneMatch_ != "" {
  4219  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4220  	}
  4221  	var body io.Reader = nil
  4222  	c.urlParams_.Set("alt", alt)
  4223  	c.urlParams_.Set("prettyPrint", "false")
  4224  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/accounts/containers:lookup")
  4225  	urls += "?" + c.urlParams_.Encode()
  4226  	req, err := http.NewRequest("GET", urls, body)
  4227  	if err != nil {
  4228  		return nil, err
  4229  	}
  4230  	req.Header = reqHeaders
  4231  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4232  }
  4233  
  4234  // Do executes the "tagmanager.accounts.containers.lookup" call.
  4235  // Any non-2xx status code is an error. Response headers are in either
  4236  // *Container.ServerResponse.Header or (if a response was returned at all) in
  4237  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4238  // whether the returned error was because http.StatusNotModified was returned.
  4239  func (c *AccountsContainersLookupCall) Do(opts ...googleapi.CallOption) (*Container, error) {
  4240  	gensupport.SetOptions(c.urlParams_, opts...)
  4241  	res, err := c.doRequest("json")
  4242  	if res != nil && res.StatusCode == http.StatusNotModified {
  4243  		if res.Body != nil {
  4244  			res.Body.Close()
  4245  		}
  4246  		return nil, gensupport.WrapError(&googleapi.Error{
  4247  			Code:   res.StatusCode,
  4248  			Header: res.Header,
  4249  		})
  4250  	}
  4251  	if err != nil {
  4252  		return nil, err
  4253  	}
  4254  	defer googleapi.CloseBody(res)
  4255  	if err := googleapi.CheckResponse(res); err != nil {
  4256  		return nil, gensupport.WrapError(err)
  4257  	}
  4258  	ret := &Container{
  4259  		ServerResponse: googleapi.ServerResponse{
  4260  			Header:         res.Header,
  4261  			HTTPStatusCode: res.StatusCode,
  4262  		},
  4263  	}
  4264  	target := &ret
  4265  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4266  		return nil, err
  4267  	}
  4268  	return ret, nil
  4269  }
  4270  
  4271  type AccountsContainersMoveTagIdCall struct {
  4272  	s          *Service
  4273  	path       string
  4274  	urlParams_ gensupport.URLParams
  4275  	ctx_       context.Context
  4276  	header_    http.Header
  4277  }
  4278  
  4279  // MoveTagId: Move Tag ID out of a Container.
  4280  //
  4281  //   - path: GTM Container's API relative path. Example:
  4282  //     accounts/{account_id}/containers/{container_id}.
  4283  func (r *AccountsContainersService) MoveTagId(path string) *AccountsContainersMoveTagIdCall {
  4284  	c := &AccountsContainersMoveTagIdCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4285  	c.path = path
  4286  	return c
  4287  }
  4288  
  4289  // AllowUserPermissionFeatureUpdate sets the optional parameter
  4290  // "allowUserPermissionFeatureUpdate": Must be set to true to allow
  4291  // features.user_permissions to change from false to true. If this operation
  4292  // causes an update but this bit is false, the operation will fail.
  4293  func (c *AccountsContainersMoveTagIdCall) AllowUserPermissionFeatureUpdate(allowUserPermissionFeatureUpdate bool) *AccountsContainersMoveTagIdCall {
  4294  	c.urlParams_.Set("allowUserPermissionFeatureUpdate", fmt.Sprint(allowUserPermissionFeatureUpdate))
  4295  	return c
  4296  }
  4297  
  4298  // CopySettings sets the optional parameter "copySettings": Whether or not to
  4299  // copy tag settings from this tag to the new tag.
  4300  func (c *AccountsContainersMoveTagIdCall) CopySettings(copySettings bool) *AccountsContainersMoveTagIdCall {
  4301  	c.urlParams_.Set("copySettings", fmt.Sprint(copySettings))
  4302  	return c
  4303  }
  4304  
  4305  // CopyTermsOfService sets the optional parameter "copyTermsOfService": Must be
  4306  // set to true to accept all terms of service agreements copied from the
  4307  // current tag to the newly created tag. If this bit is false, the operation
  4308  // will fail.
  4309  func (c *AccountsContainersMoveTagIdCall) CopyTermsOfService(copyTermsOfService bool) *AccountsContainersMoveTagIdCall {
  4310  	c.urlParams_.Set("copyTermsOfService", fmt.Sprint(copyTermsOfService))
  4311  	return c
  4312  }
  4313  
  4314  // CopyUsers sets the optional parameter "copyUsers": Whether or not to copy
  4315  // users from this tag to the new tag.
  4316  func (c *AccountsContainersMoveTagIdCall) CopyUsers(copyUsers bool) *AccountsContainersMoveTagIdCall {
  4317  	c.urlParams_.Set("copyUsers", fmt.Sprint(copyUsers))
  4318  	return c
  4319  }
  4320  
  4321  // TagId sets the optional parameter "tagId": Tag ID to be removed from the
  4322  // current Container.
  4323  func (c *AccountsContainersMoveTagIdCall) TagId(tagId string) *AccountsContainersMoveTagIdCall {
  4324  	c.urlParams_.Set("tagId", tagId)
  4325  	return c
  4326  }
  4327  
  4328  // TagName sets the optional parameter "tagName": The name for the newly
  4329  // created tag.
  4330  func (c *AccountsContainersMoveTagIdCall) TagName(tagName string) *AccountsContainersMoveTagIdCall {
  4331  	c.urlParams_.Set("tagName", tagName)
  4332  	return c
  4333  }
  4334  
  4335  // Fields allows partial responses to be retrieved. See
  4336  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4337  // details.
  4338  func (c *AccountsContainersMoveTagIdCall) Fields(s ...googleapi.Field) *AccountsContainersMoveTagIdCall {
  4339  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4340  	return c
  4341  }
  4342  
  4343  // Context sets the context to be used in this call's Do method.
  4344  func (c *AccountsContainersMoveTagIdCall) Context(ctx context.Context) *AccountsContainersMoveTagIdCall {
  4345  	c.ctx_ = ctx
  4346  	return c
  4347  }
  4348  
  4349  // Header returns a http.Header that can be modified by the caller to add
  4350  // headers to the request.
  4351  func (c *AccountsContainersMoveTagIdCall) Header() http.Header {
  4352  	if c.header_ == nil {
  4353  		c.header_ = make(http.Header)
  4354  	}
  4355  	return c.header_
  4356  }
  4357  
  4358  func (c *AccountsContainersMoveTagIdCall) doRequest(alt string) (*http.Response, error) {
  4359  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4360  	var body io.Reader = nil
  4361  	c.urlParams_.Set("alt", alt)
  4362  	c.urlParams_.Set("prettyPrint", "false")
  4363  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:move_tag_id")
  4364  	urls += "?" + c.urlParams_.Encode()
  4365  	req, err := http.NewRequest("POST", urls, body)
  4366  	if err != nil {
  4367  		return nil, err
  4368  	}
  4369  	req.Header = reqHeaders
  4370  	googleapi.Expand(req.URL, map[string]string{
  4371  		"path": c.path,
  4372  	})
  4373  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4374  }
  4375  
  4376  // Do executes the "tagmanager.accounts.containers.move_tag_id" call.
  4377  // Any non-2xx status code is an error. Response headers are in either
  4378  // *Container.ServerResponse.Header or (if a response was returned at all) in
  4379  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4380  // whether the returned error was because http.StatusNotModified was returned.
  4381  func (c *AccountsContainersMoveTagIdCall) Do(opts ...googleapi.CallOption) (*Container, error) {
  4382  	gensupport.SetOptions(c.urlParams_, opts...)
  4383  	res, err := c.doRequest("json")
  4384  	if res != nil && res.StatusCode == http.StatusNotModified {
  4385  		if res.Body != nil {
  4386  			res.Body.Close()
  4387  		}
  4388  		return nil, gensupport.WrapError(&googleapi.Error{
  4389  			Code:   res.StatusCode,
  4390  			Header: res.Header,
  4391  		})
  4392  	}
  4393  	if err != nil {
  4394  		return nil, err
  4395  	}
  4396  	defer googleapi.CloseBody(res)
  4397  	if err := googleapi.CheckResponse(res); err != nil {
  4398  		return nil, gensupport.WrapError(err)
  4399  	}
  4400  	ret := &Container{
  4401  		ServerResponse: googleapi.ServerResponse{
  4402  			Header:         res.Header,
  4403  			HTTPStatusCode: res.StatusCode,
  4404  		},
  4405  	}
  4406  	target := &ret
  4407  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4408  		return nil, err
  4409  	}
  4410  	return ret, nil
  4411  }
  4412  
  4413  type AccountsContainersSnippetCall struct {
  4414  	s            *Service
  4415  	path         string
  4416  	urlParams_   gensupport.URLParams
  4417  	ifNoneMatch_ string
  4418  	ctx_         context.Context
  4419  	header_      http.Header
  4420  }
  4421  
  4422  // Snippet: Gets the tagging snippet for a Container.
  4423  //
  4424  //   - path: Container snippet's API relative path. Example:
  4425  //     accounts/{account_id}/containers/{container_id}:snippet.
  4426  func (r *AccountsContainersService) Snippet(path string) *AccountsContainersSnippetCall {
  4427  	c := &AccountsContainersSnippetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4428  	c.path = path
  4429  	return c
  4430  }
  4431  
  4432  // Fields allows partial responses to be retrieved. See
  4433  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4434  // details.
  4435  func (c *AccountsContainersSnippetCall) Fields(s ...googleapi.Field) *AccountsContainersSnippetCall {
  4436  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4437  	return c
  4438  }
  4439  
  4440  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4441  // object's ETag matches the given value. This is useful for getting updates
  4442  // only after the object has changed since the last request.
  4443  func (c *AccountsContainersSnippetCall) IfNoneMatch(entityTag string) *AccountsContainersSnippetCall {
  4444  	c.ifNoneMatch_ = entityTag
  4445  	return c
  4446  }
  4447  
  4448  // Context sets the context to be used in this call's Do method.
  4449  func (c *AccountsContainersSnippetCall) Context(ctx context.Context) *AccountsContainersSnippetCall {
  4450  	c.ctx_ = ctx
  4451  	return c
  4452  }
  4453  
  4454  // Header returns a http.Header that can be modified by the caller to add
  4455  // headers to the request.
  4456  func (c *AccountsContainersSnippetCall) Header() http.Header {
  4457  	if c.header_ == nil {
  4458  		c.header_ = make(http.Header)
  4459  	}
  4460  	return c.header_
  4461  }
  4462  
  4463  func (c *AccountsContainersSnippetCall) doRequest(alt string) (*http.Response, error) {
  4464  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4465  	if c.ifNoneMatch_ != "" {
  4466  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4467  	}
  4468  	var body io.Reader = nil
  4469  	c.urlParams_.Set("alt", alt)
  4470  	c.urlParams_.Set("prettyPrint", "false")
  4471  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:snippet")
  4472  	urls += "?" + c.urlParams_.Encode()
  4473  	req, err := http.NewRequest("GET", urls, body)
  4474  	if err != nil {
  4475  		return nil, err
  4476  	}
  4477  	req.Header = reqHeaders
  4478  	googleapi.Expand(req.URL, map[string]string{
  4479  		"path": c.path,
  4480  	})
  4481  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4482  }
  4483  
  4484  // Do executes the "tagmanager.accounts.containers.snippet" call.
  4485  // Any non-2xx status code is an error. Response headers are in either
  4486  // *GetContainerSnippetResponse.ServerResponse.Header or (if a response was
  4487  // returned at all) in error.(*googleapi.Error).Header. Use
  4488  // googleapi.IsNotModified to check whether the returned error was because
  4489  // http.StatusNotModified was returned.
  4490  func (c *AccountsContainersSnippetCall) Do(opts ...googleapi.CallOption) (*GetContainerSnippetResponse, error) {
  4491  	gensupport.SetOptions(c.urlParams_, opts...)
  4492  	res, err := c.doRequest("json")
  4493  	if res != nil && res.StatusCode == http.StatusNotModified {
  4494  		if res.Body != nil {
  4495  			res.Body.Close()
  4496  		}
  4497  		return nil, gensupport.WrapError(&googleapi.Error{
  4498  			Code:   res.StatusCode,
  4499  			Header: res.Header,
  4500  		})
  4501  	}
  4502  	if err != nil {
  4503  		return nil, err
  4504  	}
  4505  	defer googleapi.CloseBody(res)
  4506  	if err := googleapi.CheckResponse(res); err != nil {
  4507  		return nil, gensupport.WrapError(err)
  4508  	}
  4509  	ret := &GetContainerSnippetResponse{
  4510  		ServerResponse: googleapi.ServerResponse{
  4511  			Header:         res.Header,
  4512  			HTTPStatusCode: res.StatusCode,
  4513  		},
  4514  	}
  4515  	target := &ret
  4516  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4517  		return nil, err
  4518  	}
  4519  	return ret, nil
  4520  }
  4521  
  4522  type AccountsContainersUpdateCall struct {
  4523  	s          *Service
  4524  	path       string
  4525  	container  *Container
  4526  	urlParams_ gensupport.URLParams
  4527  	ctx_       context.Context
  4528  	header_    http.Header
  4529  }
  4530  
  4531  // Update: Updates a Container.
  4532  //
  4533  //   - path: GTM Container's API relative path. Example:
  4534  //     accounts/{account_id}/containers/{container_id}.
  4535  func (r *AccountsContainersService) Update(path string, container *Container) *AccountsContainersUpdateCall {
  4536  	c := &AccountsContainersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4537  	c.path = path
  4538  	c.container = container
  4539  	return c
  4540  }
  4541  
  4542  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  4543  // fingerprint must match the fingerprint of the container in storage.
  4544  func (c *AccountsContainersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersUpdateCall {
  4545  	c.urlParams_.Set("fingerprint", fingerprint)
  4546  	return c
  4547  }
  4548  
  4549  // Fields allows partial responses to be retrieved. See
  4550  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4551  // details.
  4552  func (c *AccountsContainersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersUpdateCall {
  4553  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4554  	return c
  4555  }
  4556  
  4557  // Context sets the context to be used in this call's Do method.
  4558  func (c *AccountsContainersUpdateCall) Context(ctx context.Context) *AccountsContainersUpdateCall {
  4559  	c.ctx_ = ctx
  4560  	return c
  4561  }
  4562  
  4563  // Header returns a http.Header that can be modified by the caller to add
  4564  // headers to the request.
  4565  func (c *AccountsContainersUpdateCall) Header() http.Header {
  4566  	if c.header_ == nil {
  4567  		c.header_ = make(http.Header)
  4568  	}
  4569  	return c.header_
  4570  }
  4571  
  4572  func (c *AccountsContainersUpdateCall) doRequest(alt string) (*http.Response, error) {
  4573  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4574  	var body io.Reader = nil
  4575  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.container)
  4576  	if err != nil {
  4577  		return nil, err
  4578  	}
  4579  	c.urlParams_.Set("alt", alt)
  4580  	c.urlParams_.Set("prettyPrint", "false")
  4581  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  4582  	urls += "?" + c.urlParams_.Encode()
  4583  	req, err := http.NewRequest("PUT", urls, body)
  4584  	if err != nil {
  4585  		return nil, err
  4586  	}
  4587  	req.Header = reqHeaders
  4588  	googleapi.Expand(req.URL, map[string]string{
  4589  		"path": c.path,
  4590  	})
  4591  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4592  }
  4593  
  4594  // Do executes the "tagmanager.accounts.containers.update" call.
  4595  // Any non-2xx status code is an error. Response headers are in either
  4596  // *Container.ServerResponse.Header or (if a response was returned at all) in
  4597  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4598  // whether the returned error was because http.StatusNotModified was returned.
  4599  func (c *AccountsContainersUpdateCall) Do(opts ...googleapi.CallOption) (*Container, error) {
  4600  	gensupport.SetOptions(c.urlParams_, opts...)
  4601  	res, err := c.doRequest("json")
  4602  	if res != nil && res.StatusCode == http.StatusNotModified {
  4603  		if res.Body != nil {
  4604  			res.Body.Close()
  4605  		}
  4606  		return nil, gensupport.WrapError(&googleapi.Error{
  4607  			Code:   res.StatusCode,
  4608  			Header: res.Header,
  4609  		})
  4610  	}
  4611  	if err != nil {
  4612  		return nil, err
  4613  	}
  4614  	defer googleapi.CloseBody(res)
  4615  	if err := googleapi.CheckResponse(res); err != nil {
  4616  		return nil, gensupport.WrapError(err)
  4617  	}
  4618  	ret := &Container{
  4619  		ServerResponse: googleapi.ServerResponse{
  4620  			Header:         res.Header,
  4621  			HTTPStatusCode: res.StatusCode,
  4622  		},
  4623  	}
  4624  	target := &ret
  4625  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4626  		return nil, err
  4627  	}
  4628  	return ret, nil
  4629  }
  4630  
  4631  type AccountsContainersDestinationsGetCall struct {
  4632  	s            *Service
  4633  	path         string
  4634  	urlParams_   gensupport.URLParams
  4635  	ifNoneMatch_ string
  4636  	ctx_         context.Context
  4637  	header_      http.Header
  4638  }
  4639  
  4640  // Get: Gets a Destination.
  4641  //
  4642  //   - path: Google Tag Destination's API relative path. Example:
  4643  //     accounts/{account_id}/containers/{container_id}/destinations/{destination_l
  4644  //     ink_id}.
  4645  func (r *AccountsContainersDestinationsService) Get(path string) *AccountsContainersDestinationsGetCall {
  4646  	c := &AccountsContainersDestinationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4647  	c.path = path
  4648  	return c
  4649  }
  4650  
  4651  // Fields allows partial responses to be retrieved. See
  4652  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4653  // details.
  4654  func (c *AccountsContainersDestinationsGetCall) Fields(s ...googleapi.Field) *AccountsContainersDestinationsGetCall {
  4655  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4656  	return c
  4657  }
  4658  
  4659  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4660  // object's ETag matches the given value. This is useful for getting updates
  4661  // only after the object has changed since the last request.
  4662  func (c *AccountsContainersDestinationsGetCall) IfNoneMatch(entityTag string) *AccountsContainersDestinationsGetCall {
  4663  	c.ifNoneMatch_ = entityTag
  4664  	return c
  4665  }
  4666  
  4667  // Context sets the context to be used in this call's Do method.
  4668  func (c *AccountsContainersDestinationsGetCall) Context(ctx context.Context) *AccountsContainersDestinationsGetCall {
  4669  	c.ctx_ = ctx
  4670  	return c
  4671  }
  4672  
  4673  // Header returns a http.Header that can be modified by the caller to add
  4674  // headers to the request.
  4675  func (c *AccountsContainersDestinationsGetCall) Header() http.Header {
  4676  	if c.header_ == nil {
  4677  		c.header_ = make(http.Header)
  4678  	}
  4679  	return c.header_
  4680  }
  4681  
  4682  func (c *AccountsContainersDestinationsGetCall) doRequest(alt string) (*http.Response, error) {
  4683  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4684  	if c.ifNoneMatch_ != "" {
  4685  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4686  	}
  4687  	var body io.Reader = nil
  4688  	c.urlParams_.Set("alt", alt)
  4689  	c.urlParams_.Set("prettyPrint", "false")
  4690  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  4691  	urls += "?" + c.urlParams_.Encode()
  4692  	req, err := http.NewRequest("GET", urls, body)
  4693  	if err != nil {
  4694  		return nil, err
  4695  	}
  4696  	req.Header = reqHeaders
  4697  	googleapi.Expand(req.URL, map[string]string{
  4698  		"path": c.path,
  4699  	})
  4700  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4701  }
  4702  
  4703  // Do executes the "tagmanager.accounts.containers.destinations.get" call.
  4704  // Any non-2xx status code is an error. Response headers are in either
  4705  // *Destination.ServerResponse.Header or (if a response was returned at all) in
  4706  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4707  // whether the returned error was because http.StatusNotModified was returned.
  4708  func (c *AccountsContainersDestinationsGetCall) Do(opts ...googleapi.CallOption) (*Destination, error) {
  4709  	gensupport.SetOptions(c.urlParams_, opts...)
  4710  	res, err := c.doRequest("json")
  4711  	if res != nil && res.StatusCode == http.StatusNotModified {
  4712  		if res.Body != nil {
  4713  			res.Body.Close()
  4714  		}
  4715  		return nil, gensupport.WrapError(&googleapi.Error{
  4716  			Code:   res.StatusCode,
  4717  			Header: res.Header,
  4718  		})
  4719  	}
  4720  	if err != nil {
  4721  		return nil, err
  4722  	}
  4723  	defer googleapi.CloseBody(res)
  4724  	if err := googleapi.CheckResponse(res); err != nil {
  4725  		return nil, gensupport.WrapError(err)
  4726  	}
  4727  	ret := &Destination{
  4728  		ServerResponse: googleapi.ServerResponse{
  4729  			Header:         res.Header,
  4730  			HTTPStatusCode: res.StatusCode,
  4731  		},
  4732  	}
  4733  	target := &ret
  4734  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4735  		return nil, err
  4736  	}
  4737  	return ret, nil
  4738  }
  4739  
  4740  type AccountsContainersDestinationsLinkCall struct {
  4741  	s          *Service
  4742  	parent     string
  4743  	urlParams_ gensupport.URLParams
  4744  	ctx_       context.Context
  4745  	header_    http.Header
  4746  }
  4747  
  4748  // Link: Adds a Destination to this Container and removes it from the Container
  4749  // to which it is currently linked.
  4750  //
  4751  //   - parent: GTM parent Container's API relative path. Example:
  4752  //     accounts/{account_id}/containers/{container_id}.
  4753  func (r *AccountsContainersDestinationsService) Link(parent string) *AccountsContainersDestinationsLinkCall {
  4754  	c := &AccountsContainersDestinationsLinkCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4755  	c.parent = parent
  4756  	return c
  4757  }
  4758  
  4759  // AllowUserPermissionFeatureUpdate sets the optional parameter
  4760  // "allowUserPermissionFeatureUpdate": Must be set to true to allow
  4761  // features.user_permissions to change from false to true. If this operation
  4762  // causes an update but this bit is false, the operation will fail.
  4763  func (c *AccountsContainersDestinationsLinkCall) AllowUserPermissionFeatureUpdate(allowUserPermissionFeatureUpdate bool) *AccountsContainersDestinationsLinkCall {
  4764  	c.urlParams_.Set("allowUserPermissionFeatureUpdate", fmt.Sprint(allowUserPermissionFeatureUpdate))
  4765  	return c
  4766  }
  4767  
  4768  // DestinationId sets the optional parameter "destinationId": Destination ID to
  4769  // be linked to the current container.
  4770  func (c *AccountsContainersDestinationsLinkCall) DestinationId(destinationId string) *AccountsContainersDestinationsLinkCall {
  4771  	c.urlParams_.Set("destinationId", destinationId)
  4772  	return c
  4773  }
  4774  
  4775  // Fields allows partial responses to be retrieved. See
  4776  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4777  // details.
  4778  func (c *AccountsContainersDestinationsLinkCall) Fields(s ...googleapi.Field) *AccountsContainersDestinationsLinkCall {
  4779  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4780  	return c
  4781  }
  4782  
  4783  // Context sets the context to be used in this call's Do method.
  4784  func (c *AccountsContainersDestinationsLinkCall) Context(ctx context.Context) *AccountsContainersDestinationsLinkCall {
  4785  	c.ctx_ = ctx
  4786  	return c
  4787  }
  4788  
  4789  // Header returns a http.Header that can be modified by the caller to add
  4790  // headers to the request.
  4791  func (c *AccountsContainersDestinationsLinkCall) Header() http.Header {
  4792  	if c.header_ == nil {
  4793  		c.header_ = make(http.Header)
  4794  	}
  4795  	return c.header_
  4796  }
  4797  
  4798  func (c *AccountsContainersDestinationsLinkCall) doRequest(alt string) (*http.Response, error) {
  4799  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4800  	var body io.Reader = nil
  4801  	c.urlParams_.Set("alt", alt)
  4802  	c.urlParams_.Set("prettyPrint", "false")
  4803  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/destinations:link")
  4804  	urls += "?" + c.urlParams_.Encode()
  4805  	req, err := http.NewRequest("POST", urls, body)
  4806  	if err != nil {
  4807  		return nil, err
  4808  	}
  4809  	req.Header = reqHeaders
  4810  	googleapi.Expand(req.URL, map[string]string{
  4811  		"parent": c.parent,
  4812  	})
  4813  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4814  }
  4815  
  4816  // Do executes the "tagmanager.accounts.containers.destinations.link" call.
  4817  // Any non-2xx status code is an error. Response headers are in either
  4818  // *Destination.ServerResponse.Header or (if a response was returned at all) in
  4819  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4820  // whether the returned error was because http.StatusNotModified was returned.
  4821  func (c *AccountsContainersDestinationsLinkCall) Do(opts ...googleapi.CallOption) (*Destination, error) {
  4822  	gensupport.SetOptions(c.urlParams_, opts...)
  4823  	res, err := c.doRequest("json")
  4824  	if res != nil && res.StatusCode == http.StatusNotModified {
  4825  		if res.Body != nil {
  4826  			res.Body.Close()
  4827  		}
  4828  		return nil, gensupport.WrapError(&googleapi.Error{
  4829  			Code:   res.StatusCode,
  4830  			Header: res.Header,
  4831  		})
  4832  	}
  4833  	if err != nil {
  4834  		return nil, err
  4835  	}
  4836  	defer googleapi.CloseBody(res)
  4837  	if err := googleapi.CheckResponse(res); err != nil {
  4838  		return nil, gensupport.WrapError(err)
  4839  	}
  4840  	ret := &Destination{
  4841  		ServerResponse: googleapi.ServerResponse{
  4842  			Header:         res.Header,
  4843  			HTTPStatusCode: res.StatusCode,
  4844  		},
  4845  	}
  4846  	target := &ret
  4847  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4848  		return nil, err
  4849  	}
  4850  	return ret, nil
  4851  }
  4852  
  4853  type AccountsContainersDestinationsListCall struct {
  4854  	s            *Service
  4855  	parent       string
  4856  	urlParams_   gensupport.URLParams
  4857  	ifNoneMatch_ string
  4858  	ctx_         context.Context
  4859  	header_      http.Header
  4860  }
  4861  
  4862  // List: Lists all Destinations linked to a GTM Container.
  4863  //
  4864  //   - parent: GTM parent Container's API relative path. Example:
  4865  //     accounts/{account_id}/containers/{container_id}.
  4866  func (r *AccountsContainersDestinationsService) List(parent string) *AccountsContainersDestinationsListCall {
  4867  	c := &AccountsContainersDestinationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4868  	c.parent = parent
  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 for more
  4874  // details.
  4875  func (c *AccountsContainersDestinationsListCall) Fields(s ...googleapi.Field) *AccountsContainersDestinationsListCall {
  4876  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4877  	return c
  4878  }
  4879  
  4880  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4881  // object's ETag matches the given value. This is useful for getting updates
  4882  // only after the object has changed since the last request.
  4883  func (c *AccountsContainersDestinationsListCall) IfNoneMatch(entityTag string) *AccountsContainersDestinationsListCall {
  4884  	c.ifNoneMatch_ = entityTag
  4885  	return c
  4886  }
  4887  
  4888  // Context sets the context to be used in this call's Do method.
  4889  func (c *AccountsContainersDestinationsListCall) Context(ctx context.Context) *AccountsContainersDestinationsListCall {
  4890  	c.ctx_ = ctx
  4891  	return c
  4892  }
  4893  
  4894  // Header returns a http.Header that can be modified by the caller to add
  4895  // headers to the request.
  4896  func (c *AccountsContainersDestinationsListCall) Header() http.Header {
  4897  	if c.header_ == nil {
  4898  		c.header_ = make(http.Header)
  4899  	}
  4900  	return c.header_
  4901  }
  4902  
  4903  func (c *AccountsContainersDestinationsListCall) doRequest(alt string) (*http.Response, error) {
  4904  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4905  	if c.ifNoneMatch_ != "" {
  4906  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4907  	}
  4908  	var body io.Reader = nil
  4909  	c.urlParams_.Set("alt", alt)
  4910  	c.urlParams_.Set("prettyPrint", "false")
  4911  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/destinations")
  4912  	urls += "?" + c.urlParams_.Encode()
  4913  	req, err := http.NewRequest("GET", urls, body)
  4914  	if err != nil {
  4915  		return nil, err
  4916  	}
  4917  	req.Header = reqHeaders
  4918  	googleapi.Expand(req.URL, map[string]string{
  4919  		"parent": c.parent,
  4920  	})
  4921  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4922  }
  4923  
  4924  // Do executes the "tagmanager.accounts.containers.destinations.list" call.
  4925  // Any non-2xx status code is an error. Response headers are in either
  4926  // *ListDestinationsResponse.ServerResponse.Header or (if a response was
  4927  // returned at all) in error.(*googleapi.Error).Header. Use
  4928  // googleapi.IsNotModified to check whether the returned error was because
  4929  // http.StatusNotModified was returned.
  4930  func (c *AccountsContainersDestinationsListCall) Do(opts ...googleapi.CallOption) (*ListDestinationsResponse, error) {
  4931  	gensupport.SetOptions(c.urlParams_, opts...)
  4932  	res, err := c.doRequest("json")
  4933  	if res != nil && res.StatusCode == http.StatusNotModified {
  4934  		if res.Body != nil {
  4935  			res.Body.Close()
  4936  		}
  4937  		return nil, gensupport.WrapError(&googleapi.Error{
  4938  			Code:   res.StatusCode,
  4939  			Header: res.Header,
  4940  		})
  4941  	}
  4942  	if err != nil {
  4943  		return nil, err
  4944  	}
  4945  	defer googleapi.CloseBody(res)
  4946  	if err := googleapi.CheckResponse(res); err != nil {
  4947  		return nil, gensupport.WrapError(err)
  4948  	}
  4949  	ret := &ListDestinationsResponse{
  4950  		ServerResponse: googleapi.ServerResponse{
  4951  			Header:         res.Header,
  4952  			HTTPStatusCode: res.StatusCode,
  4953  		},
  4954  	}
  4955  	target := &ret
  4956  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4957  		return nil, err
  4958  	}
  4959  	return ret, nil
  4960  }
  4961  
  4962  type AccountsContainersEnvironmentsCreateCall struct {
  4963  	s           *Service
  4964  	parent      string
  4965  	environment *Environment
  4966  	urlParams_  gensupport.URLParams
  4967  	ctx_        context.Context
  4968  	header_     http.Header
  4969  }
  4970  
  4971  // Create: Creates a GTM Environment.
  4972  //
  4973  //   - parent: GTM Container's API relative path. Example:
  4974  //     accounts/{account_id}/containers/{container_id}.
  4975  func (r *AccountsContainersEnvironmentsService) Create(parent string, environment *Environment) *AccountsContainersEnvironmentsCreateCall {
  4976  	c := &AccountsContainersEnvironmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4977  	c.parent = parent
  4978  	c.environment = environment
  4979  	return c
  4980  }
  4981  
  4982  // Fields allows partial responses to be retrieved. See
  4983  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4984  // details.
  4985  func (c *AccountsContainersEnvironmentsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsCreateCall {
  4986  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4987  	return c
  4988  }
  4989  
  4990  // Context sets the context to be used in this call's Do method.
  4991  func (c *AccountsContainersEnvironmentsCreateCall) Context(ctx context.Context) *AccountsContainersEnvironmentsCreateCall {
  4992  	c.ctx_ = ctx
  4993  	return c
  4994  }
  4995  
  4996  // Header returns a http.Header that can be modified by the caller to add
  4997  // headers to the request.
  4998  func (c *AccountsContainersEnvironmentsCreateCall) Header() http.Header {
  4999  	if c.header_ == nil {
  5000  		c.header_ = make(http.Header)
  5001  	}
  5002  	return c.header_
  5003  }
  5004  
  5005  func (c *AccountsContainersEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
  5006  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5007  	var body io.Reader = nil
  5008  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
  5009  	if err != nil {
  5010  		return nil, err
  5011  	}
  5012  	c.urlParams_.Set("alt", alt)
  5013  	c.urlParams_.Set("prettyPrint", "false")
  5014  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/environments")
  5015  	urls += "?" + c.urlParams_.Encode()
  5016  	req, err := http.NewRequest("POST", urls, body)
  5017  	if err != nil {
  5018  		return nil, err
  5019  	}
  5020  	req.Header = reqHeaders
  5021  	googleapi.Expand(req.URL, map[string]string{
  5022  		"parent": c.parent,
  5023  	})
  5024  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5025  }
  5026  
  5027  // Do executes the "tagmanager.accounts.containers.environments.create" call.
  5028  // Any non-2xx status code is an error. Response headers are in either
  5029  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  5030  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5031  // whether the returned error was because http.StatusNotModified was returned.
  5032  func (c *AccountsContainersEnvironmentsCreateCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  5033  	gensupport.SetOptions(c.urlParams_, opts...)
  5034  	res, err := c.doRequest("json")
  5035  	if res != nil && res.StatusCode == http.StatusNotModified {
  5036  		if res.Body != nil {
  5037  			res.Body.Close()
  5038  		}
  5039  		return nil, gensupport.WrapError(&googleapi.Error{
  5040  			Code:   res.StatusCode,
  5041  			Header: res.Header,
  5042  		})
  5043  	}
  5044  	if err != nil {
  5045  		return nil, err
  5046  	}
  5047  	defer googleapi.CloseBody(res)
  5048  	if err := googleapi.CheckResponse(res); err != nil {
  5049  		return nil, gensupport.WrapError(err)
  5050  	}
  5051  	ret := &Environment{
  5052  		ServerResponse: googleapi.ServerResponse{
  5053  			Header:         res.Header,
  5054  			HTTPStatusCode: res.StatusCode,
  5055  		},
  5056  	}
  5057  	target := &ret
  5058  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5059  		return nil, err
  5060  	}
  5061  	return ret, nil
  5062  }
  5063  
  5064  type AccountsContainersEnvironmentsDeleteCall struct {
  5065  	s          *Service
  5066  	path       string
  5067  	urlParams_ gensupport.URLParams
  5068  	ctx_       context.Context
  5069  	header_    http.Header
  5070  }
  5071  
  5072  // Delete: Deletes a GTM Environment.
  5073  //
  5074  //   - path: GTM Environment's API relative path. Example:
  5075  //     accounts/{account_id}/containers/{container_id}/environments/{environment_i
  5076  //     d}.
  5077  func (r *AccountsContainersEnvironmentsService) Delete(path string) *AccountsContainersEnvironmentsDeleteCall {
  5078  	c := &AccountsContainersEnvironmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5079  	c.path = path
  5080  	return c
  5081  }
  5082  
  5083  // Fields allows partial responses to be retrieved. See
  5084  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5085  // details.
  5086  func (c *AccountsContainersEnvironmentsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsDeleteCall {
  5087  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5088  	return c
  5089  }
  5090  
  5091  // Context sets the context to be used in this call's Do method.
  5092  func (c *AccountsContainersEnvironmentsDeleteCall) Context(ctx context.Context) *AccountsContainersEnvironmentsDeleteCall {
  5093  	c.ctx_ = ctx
  5094  	return c
  5095  }
  5096  
  5097  // Header returns a http.Header that can be modified by the caller to add
  5098  // headers to the request.
  5099  func (c *AccountsContainersEnvironmentsDeleteCall) Header() http.Header {
  5100  	if c.header_ == nil {
  5101  		c.header_ = make(http.Header)
  5102  	}
  5103  	return c.header_
  5104  }
  5105  
  5106  func (c *AccountsContainersEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
  5107  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5108  	var body io.Reader = nil
  5109  	c.urlParams_.Set("alt", alt)
  5110  	c.urlParams_.Set("prettyPrint", "false")
  5111  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  5112  	urls += "?" + c.urlParams_.Encode()
  5113  	req, err := http.NewRequest("DELETE", urls, body)
  5114  	if err != nil {
  5115  		return nil, err
  5116  	}
  5117  	req.Header = reqHeaders
  5118  	googleapi.Expand(req.URL, map[string]string{
  5119  		"path": c.path,
  5120  	})
  5121  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5122  }
  5123  
  5124  // Do executes the "tagmanager.accounts.containers.environments.delete" call.
  5125  func (c *AccountsContainersEnvironmentsDeleteCall) Do(opts ...googleapi.CallOption) error {
  5126  	gensupport.SetOptions(c.urlParams_, opts...)
  5127  	res, err := c.doRequest("json")
  5128  	if err != nil {
  5129  		return err
  5130  	}
  5131  	defer googleapi.CloseBody(res)
  5132  	if err := googleapi.CheckResponse(res); err != nil {
  5133  		return gensupport.WrapError(err)
  5134  	}
  5135  	return nil
  5136  }
  5137  
  5138  type AccountsContainersEnvironmentsGetCall struct {
  5139  	s            *Service
  5140  	path         string
  5141  	urlParams_   gensupport.URLParams
  5142  	ifNoneMatch_ string
  5143  	ctx_         context.Context
  5144  	header_      http.Header
  5145  }
  5146  
  5147  // Get: Gets a GTM Environment.
  5148  //
  5149  //   - path: GTM Environment's API relative path. Example:
  5150  //     accounts/{account_id}/containers/{container_id}/environments/{environment_i
  5151  //     d}.
  5152  func (r *AccountsContainersEnvironmentsService) Get(path string) *AccountsContainersEnvironmentsGetCall {
  5153  	c := &AccountsContainersEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5154  	c.path = path
  5155  	return c
  5156  }
  5157  
  5158  // Fields allows partial responses to be retrieved. See
  5159  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5160  // details.
  5161  func (c *AccountsContainersEnvironmentsGetCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsGetCall {
  5162  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5163  	return c
  5164  }
  5165  
  5166  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5167  // object's ETag matches the given value. This is useful for getting updates
  5168  // only after the object has changed since the last request.
  5169  func (c *AccountsContainersEnvironmentsGetCall) IfNoneMatch(entityTag string) *AccountsContainersEnvironmentsGetCall {
  5170  	c.ifNoneMatch_ = entityTag
  5171  	return c
  5172  }
  5173  
  5174  // Context sets the context to be used in this call's Do method.
  5175  func (c *AccountsContainersEnvironmentsGetCall) Context(ctx context.Context) *AccountsContainersEnvironmentsGetCall {
  5176  	c.ctx_ = ctx
  5177  	return c
  5178  }
  5179  
  5180  // Header returns a http.Header that can be modified by the caller to add
  5181  // headers to the request.
  5182  func (c *AccountsContainersEnvironmentsGetCall) Header() http.Header {
  5183  	if c.header_ == nil {
  5184  		c.header_ = make(http.Header)
  5185  	}
  5186  	return c.header_
  5187  }
  5188  
  5189  func (c *AccountsContainersEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
  5190  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5191  	if c.ifNoneMatch_ != "" {
  5192  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5193  	}
  5194  	var body io.Reader = nil
  5195  	c.urlParams_.Set("alt", alt)
  5196  	c.urlParams_.Set("prettyPrint", "false")
  5197  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  5198  	urls += "?" + c.urlParams_.Encode()
  5199  	req, err := http.NewRequest("GET", urls, body)
  5200  	if err != nil {
  5201  		return nil, err
  5202  	}
  5203  	req.Header = reqHeaders
  5204  	googleapi.Expand(req.URL, map[string]string{
  5205  		"path": c.path,
  5206  	})
  5207  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5208  }
  5209  
  5210  // Do executes the "tagmanager.accounts.containers.environments.get" call.
  5211  // Any non-2xx status code is an error. Response headers are in either
  5212  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  5213  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5214  // whether the returned error was because http.StatusNotModified was returned.
  5215  func (c *AccountsContainersEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  5216  	gensupport.SetOptions(c.urlParams_, opts...)
  5217  	res, err := c.doRequest("json")
  5218  	if res != nil && res.StatusCode == http.StatusNotModified {
  5219  		if res.Body != nil {
  5220  			res.Body.Close()
  5221  		}
  5222  		return nil, gensupport.WrapError(&googleapi.Error{
  5223  			Code:   res.StatusCode,
  5224  			Header: res.Header,
  5225  		})
  5226  	}
  5227  	if err != nil {
  5228  		return nil, err
  5229  	}
  5230  	defer googleapi.CloseBody(res)
  5231  	if err := googleapi.CheckResponse(res); err != nil {
  5232  		return nil, gensupport.WrapError(err)
  5233  	}
  5234  	ret := &Environment{
  5235  		ServerResponse: googleapi.ServerResponse{
  5236  			Header:         res.Header,
  5237  			HTTPStatusCode: res.StatusCode,
  5238  		},
  5239  	}
  5240  	target := &ret
  5241  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5242  		return nil, err
  5243  	}
  5244  	return ret, nil
  5245  }
  5246  
  5247  type AccountsContainersEnvironmentsListCall struct {
  5248  	s            *Service
  5249  	parent       string
  5250  	urlParams_   gensupport.URLParams
  5251  	ifNoneMatch_ string
  5252  	ctx_         context.Context
  5253  	header_      http.Header
  5254  }
  5255  
  5256  // List: Lists all GTM Environments of a GTM Container.
  5257  //
  5258  //   - parent: GTM Container's API relative path. Example:
  5259  //     accounts/{account_id}/containers/{container_id}.
  5260  func (r *AccountsContainersEnvironmentsService) List(parent string) *AccountsContainersEnvironmentsListCall {
  5261  	c := &AccountsContainersEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5262  	c.parent = parent
  5263  	return c
  5264  }
  5265  
  5266  // PageToken sets the optional parameter "pageToken": Continuation token for
  5267  // fetching the next page of results.
  5268  func (c *AccountsContainersEnvironmentsListCall) PageToken(pageToken string) *AccountsContainersEnvironmentsListCall {
  5269  	c.urlParams_.Set("pageToken", pageToken)
  5270  	return c
  5271  }
  5272  
  5273  // Fields allows partial responses to be retrieved. See
  5274  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5275  // details.
  5276  func (c *AccountsContainersEnvironmentsListCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsListCall {
  5277  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5278  	return c
  5279  }
  5280  
  5281  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5282  // object's ETag matches the given value. This is useful for getting updates
  5283  // only after the object has changed since the last request.
  5284  func (c *AccountsContainersEnvironmentsListCall) IfNoneMatch(entityTag string) *AccountsContainersEnvironmentsListCall {
  5285  	c.ifNoneMatch_ = entityTag
  5286  	return c
  5287  }
  5288  
  5289  // Context sets the context to be used in this call's Do method.
  5290  func (c *AccountsContainersEnvironmentsListCall) Context(ctx context.Context) *AccountsContainersEnvironmentsListCall {
  5291  	c.ctx_ = ctx
  5292  	return c
  5293  }
  5294  
  5295  // Header returns a http.Header that can be modified by the caller to add
  5296  // headers to the request.
  5297  func (c *AccountsContainersEnvironmentsListCall) Header() http.Header {
  5298  	if c.header_ == nil {
  5299  		c.header_ = make(http.Header)
  5300  	}
  5301  	return c.header_
  5302  }
  5303  
  5304  func (c *AccountsContainersEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
  5305  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5306  	if c.ifNoneMatch_ != "" {
  5307  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5308  	}
  5309  	var body io.Reader = nil
  5310  	c.urlParams_.Set("alt", alt)
  5311  	c.urlParams_.Set("prettyPrint", "false")
  5312  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/environments")
  5313  	urls += "?" + c.urlParams_.Encode()
  5314  	req, err := http.NewRequest("GET", urls, body)
  5315  	if err != nil {
  5316  		return nil, err
  5317  	}
  5318  	req.Header = reqHeaders
  5319  	googleapi.Expand(req.URL, map[string]string{
  5320  		"parent": c.parent,
  5321  	})
  5322  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5323  }
  5324  
  5325  // Do executes the "tagmanager.accounts.containers.environments.list" call.
  5326  // Any non-2xx status code is an error. Response headers are in either
  5327  // *ListEnvironmentsResponse.ServerResponse.Header or (if a response was
  5328  // returned at all) in error.(*googleapi.Error).Header. Use
  5329  // googleapi.IsNotModified to check whether the returned error was because
  5330  // http.StatusNotModified was returned.
  5331  func (c *AccountsContainersEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*ListEnvironmentsResponse, error) {
  5332  	gensupport.SetOptions(c.urlParams_, opts...)
  5333  	res, err := c.doRequest("json")
  5334  	if res != nil && res.StatusCode == http.StatusNotModified {
  5335  		if res.Body != nil {
  5336  			res.Body.Close()
  5337  		}
  5338  		return nil, gensupport.WrapError(&googleapi.Error{
  5339  			Code:   res.StatusCode,
  5340  			Header: res.Header,
  5341  		})
  5342  	}
  5343  	if err != nil {
  5344  		return nil, err
  5345  	}
  5346  	defer googleapi.CloseBody(res)
  5347  	if err := googleapi.CheckResponse(res); err != nil {
  5348  		return nil, gensupport.WrapError(err)
  5349  	}
  5350  	ret := &ListEnvironmentsResponse{
  5351  		ServerResponse: googleapi.ServerResponse{
  5352  			Header:         res.Header,
  5353  			HTTPStatusCode: res.StatusCode,
  5354  		},
  5355  	}
  5356  	target := &ret
  5357  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5358  		return nil, err
  5359  	}
  5360  	return ret, nil
  5361  }
  5362  
  5363  // Pages invokes f for each page of results.
  5364  // A non-nil error returned from f will halt the iteration.
  5365  // The provided context supersedes any context provided to the Context method.
  5366  func (c *AccountsContainersEnvironmentsListCall) Pages(ctx context.Context, f func(*ListEnvironmentsResponse) error) error {
  5367  	c.ctx_ = ctx
  5368  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5369  	for {
  5370  		x, err := c.Do()
  5371  		if err != nil {
  5372  			return err
  5373  		}
  5374  		if err := f(x); err != nil {
  5375  			return err
  5376  		}
  5377  		if x.NextPageToken == "" {
  5378  			return nil
  5379  		}
  5380  		c.PageToken(x.NextPageToken)
  5381  	}
  5382  }
  5383  
  5384  type AccountsContainersEnvironmentsReauthorizeCall struct {
  5385  	s           *Service
  5386  	path        string
  5387  	environment *Environment
  5388  	urlParams_  gensupport.URLParams
  5389  	ctx_        context.Context
  5390  	header_     http.Header
  5391  }
  5392  
  5393  // Reauthorize: Re-generates the authorization code for a GTM Environment.
  5394  //
  5395  //   - path: GTM Environment's API relative path. Example:
  5396  //     accounts/{account_id}/containers/{container_id}/environments/{environment_i
  5397  //     d}.
  5398  func (r *AccountsContainersEnvironmentsService) Reauthorize(path string, environment *Environment) *AccountsContainersEnvironmentsReauthorizeCall {
  5399  	c := &AccountsContainersEnvironmentsReauthorizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5400  	c.path = path
  5401  	c.environment = environment
  5402  	return c
  5403  }
  5404  
  5405  // Fields allows partial responses to be retrieved. See
  5406  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5407  // details.
  5408  func (c *AccountsContainersEnvironmentsReauthorizeCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsReauthorizeCall {
  5409  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5410  	return c
  5411  }
  5412  
  5413  // Context sets the context to be used in this call's Do method.
  5414  func (c *AccountsContainersEnvironmentsReauthorizeCall) Context(ctx context.Context) *AccountsContainersEnvironmentsReauthorizeCall {
  5415  	c.ctx_ = ctx
  5416  	return c
  5417  }
  5418  
  5419  // Header returns a http.Header that can be modified by the caller to add
  5420  // headers to the request.
  5421  func (c *AccountsContainersEnvironmentsReauthorizeCall) Header() http.Header {
  5422  	if c.header_ == nil {
  5423  		c.header_ = make(http.Header)
  5424  	}
  5425  	return c.header_
  5426  }
  5427  
  5428  func (c *AccountsContainersEnvironmentsReauthorizeCall) doRequest(alt string) (*http.Response, error) {
  5429  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5430  	var body io.Reader = nil
  5431  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
  5432  	if err != nil {
  5433  		return nil, err
  5434  	}
  5435  	c.urlParams_.Set("alt", alt)
  5436  	c.urlParams_.Set("prettyPrint", "false")
  5437  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:reauthorize")
  5438  	urls += "?" + c.urlParams_.Encode()
  5439  	req, err := http.NewRequest("POST", urls, body)
  5440  	if err != nil {
  5441  		return nil, err
  5442  	}
  5443  	req.Header = reqHeaders
  5444  	googleapi.Expand(req.URL, map[string]string{
  5445  		"path": c.path,
  5446  	})
  5447  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5448  }
  5449  
  5450  // Do executes the "tagmanager.accounts.containers.environments.reauthorize" call.
  5451  // Any non-2xx status code is an error. Response headers are in either
  5452  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  5453  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5454  // whether the returned error was because http.StatusNotModified was returned.
  5455  func (c *AccountsContainersEnvironmentsReauthorizeCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  5456  	gensupport.SetOptions(c.urlParams_, opts...)
  5457  	res, err := c.doRequest("json")
  5458  	if res != nil && res.StatusCode == http.StatusNotModified {
  5459  		if res.Body != nil {
  5460  			res.Body.Close()
  5461  		}
  5462  		return nil, gensupport.WrapError(&googleapi.Error{
  5463  			Code:   res.StatusCode,
  5464  			Header: res.Header,
  5465  		})
  5466  	}
  5467  	if err != nil {
  5468  		return nil, err
  5469  	}
  5470  	defer googleapi.CloseBody(res)
  5471  	if err := googleapi.CheckResponse(res); err != nil {
  5472  		return nil, gensupport.WrapError(err)
  5473  	}
  5474  	ret := &Environment{
  5475  		ServerResponse: googleapi.ServerResponse{
  5476  			Header:         res.Header,
  5477  			HTTPStatusCode: res.StatusCode,
  5478  		},
  5479  	}
  5480  	target := &ret
  5481  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5482  		return nil, err
  5483  	}
  5484  	return ret, nil
  5485  }
  5486  
  5487  type AccountsContainersEnvironmentsUpdateCall struct {
  5488  	s           *Service
  5489  	path        string
  5490  	environment *Environment
  5491  	urlParams_  gensupport.URLParams
  5492  	ctx_        context.Context
  5493  	header_     http.Header
  5494  }
  5495  
  5496  // Update: Updates a GTM Environment.
  5497  //
  5498  //   - path: GTM Environment's API relative path. Example:
  5499  //     accounts/{account_id}/containers/{container_id}/environments/{environment_i
  5500  //     d}.
  5501  func (r *AccountsContainersEnvironmentsService) Update(path string, environment *Environment) *AccountsContainersEnvironmentsUpdateCall {
  5502  	c := &AccountsContainersEnvironmentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5503  	c.path = path
  5504  	c.environment = environment
  5505  	return c
  5506  }
  5507  
  5508  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  5509  // fingerprint must match the fingerprint of the environment in storage.
  5510  func (c *AccountsContainersEnvironmentsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersEnvironmentsUpdateCall {
  5511  	c.urlParams_.Set("fingerprint", fingerprint)
  5512  	return c
  5513  }
  5514  
  5515  // Fields allows partial responses to be retrieved. See
  5516  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5517  // details.
  5518  func (c *AccountsContainersEnvironmentsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsUpdateCall {
  5519  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5520  	return c
  5521  }
  5522  
  5523  // Context sets the context to be used in this call's Do method.
  5524  func (c *AccountsContainersEnvironmentsUpdateCall) Context(ctx context.Context) *AccountsContainersEnvironmentsUpdateCall {
  5525  	c.ctx_ = ctx
  5526  	return c
  5527  }
  5528  
  5529  // Header returns a http.Header that can be modified by the caller to add
  5530  // headers to the request.
  5531  func (c *AccountsContainersEnvironmentsUpdateCall) Header() http.Header {
  5532  	if c.header_ == nil {
  5533  		c.header_ = make(http.Header)
  5534  	}
  5535  	return c.header_
  5536  }
  5537  
  5538  func (c *AccountsContainersEnvironmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
  5539  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5540  	var body io.Reader = nil
  5541  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
  5542  	if err != nil {
  5543  		return nil, err
  5544  	}
  5545  	c.urlParams_.Set("alt", alt)
  5546  	c.urlParams_.Set("prettyPrint", "false")
  5547  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  5548  	urls += "?" + c.urlParams_.Encode()
  5549  	req, err := http.NewRequest("PUT", urls, body)
  5550  	if err != nil {
  5551  		return nil, err
  5552  	}
  5553  	req.Header = reqHeaders
  5554  	googleapi.Expand(req.URL, map[string]string{
  5555  		"path": c.path,
  5556  	})
  5557  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5558  }
  5559  
  5560  // Do executes the "tagmanager.accounts.containers.environments.update" call.
  5561  // Any non-2xx status code is an error. Response headers are in either
  5562  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  5563  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5564  // whether the returned error was because http.StatusNotModified was returned.
  5565  func (c *AccountsContainersEnvironmentsUpdateCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  5566  	gensupport.SetOptions(c.urlParams_, opts...)
  5567  	res, err := c.doRequest("json")
  5568  	if res != nil && res.StatusCode == http.StatusNotModified {
  5569  		if res.Body != nil {
  5570  			res.Body.Close()
  5571  		}
  5572  		return nil, gensupport.WrapError(&googleapi.Error{
  5573  			Code:   res.StatusCode,
  5574  			Header: res.Header,
  5575  		})
  5576  	}
  5577  	if err != nil {
  5578  		return nil, err
  5579  	}
  5580  	defer googleapi.CloseBody(res)
  5581  	if err := googleapi.CheckResponse(res); err != nil {
  5582  		return nil, gensupport.WrapError(err)
  5583  	}
  5584  	ret := &Environment{
  5585  		ServerResponse: googleapi.ServerResponse{
  5586  			Header:         res.Header,
  5587  			HTTPStatusCode: res.StatusCode,
  5588  		},
  5589  	}
  5590  	target := &ret
  5591  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5592  		return nil, err
  5593  	}
  5594  	return ret, nil
  5595  }
  5596  
  5597  type AccountsContainersVersionHeadersLatestCall struct {
  5598  	s            *Service
  5599  	parent       string
  5600  	urlParams_   gensupport.URLParams
  5601  	ifNoneMatch_ string
  5602  	ctx_         context.Context
  5603  	header_      http.Header
  5604  }
  5605  
  5606  // Latest: Gets the latest container version header
  5607  //
  5608  //   - parent: GTM Container's API relative path. Example:
  5609  //     accounts/{account_id}/containers/{container_id}.
  5610  func (r *AccountsContainersVersionHeadersService) Latest(parent string) *AccountsContainersVersionHeadersLatestCall {
  5611  	c := &AccountsContainersVersionHeadersLatestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5612  	c.parent = parent
  5613  	return c
  5614  }
  5615  
  5616  // Fields allows partial responses to be retrieved. See
  5617  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5618  // details.
  5619  func (c *AccountsContainersVersionHeadersLatestCall) Fields(s ...googleapi.Field) *AccountsContainersVersionHeadersLatestCall {
  5620  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5621  	return c
  5622  }
  5623  
  5624  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5625  // object's ETag matches the given value. This is useful for getting updates
  5626  // only after the object has changed since the last request.
  5627  func (c *AccountsContainersVersionHeadersLatestCall) IfNoneMatch(entityTag string) *AccountsContainersVersionHeadersLatestCall {
  5628  	c.ifNoneMatch_ = entityTag
  5629  	return c
  5630  }
  5631  
  5632  // Context sets the context to be used in this call's Do method.
  5633  func (c *AccountsContainersVersionHeadersLatestCall) Context(ctx context.Context) *AccountsContainersVersionHeadersLatestCall {
  5634  	c.ctx_ = ctx
  5635  	return c
  5636  }
  5637  
  5638  // Header returns a http.Header that can be modified by the caller to add
  5639  // headers to the request.
  5640  func (c *AccountsContainersVersionHeadersLatestCall) Header() http.Header {
  5641  	if c.header_ == nil {
  5642  		c.header_ = make(http.Header)
  5643  	}
  5644  	return c.header_
  5645  }
  5646  
  5647  func (c *AccountsContainersVersionHeadersLatestCall) doRequest(alt string) (*http.Response, error) {
  5648  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5649  	if c.ifNoneMatch_ != "" {
  5650  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5651  	}
  5652  	var body io.Reader = nil
  5653  	c.urlParams_.Set("alt", alt)
  5654  	c.urlParams_.Set("prettyPrint", "false")
  5655  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/version_headers:latest")
  5656  	urls += "?" + c.urlParams_.Encode()
  5657  	req, err := http.NewRequest("GET", urls, body)
  5658  	if err != nil {
  5659  		return nil, err
  5660  	}
  5661  	req.Header = reqHeaders
  5662  	googleapi.Expand(req.URL, map[string]string{
  5663  		"parent": c.parent,
  5664  	})
  5665  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5666  }
  5667  
  5668  // Do executes the "tagmanager.accounts.containers.version_headers.latest" call.
  5669  // Any non-2xx status code is an error. Response headers are in either
  5670  // *ContainerVersionHeader.ServerResponse.Header or (if a response was returned
  5671  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5672  // check whether the returned error was because http.StatusNotModified was
  5673  // returned.
  5674  func (c *AccountsContainersVersionHeadersLatestCall) Do(opts ...googleapi.CallOption) (*ContainerVersionHeader, error) {
  5675  	gensupport.SetOptions(c.urlParams_, opts...)
  5676  	res, err := c.doRequest("json")
  5677  	if res != nil && res.StatusCode == http.StatusNotModified {
  5678  		if res.Body != nil {
  5679  			res.Body.Close()
  5680  		}
  5681  		return nil, gensupport.WrapError(&googleapi.Error{
  5682  			Code:   res.StatusCode,
  5683  			Header: res.Header,
  5684  		})
  5685  	}
  5686  	if err != nil {
  5687  		return nil, err
  5688  	}
  5689  	defer googleapi.CloseBody(res)
  5690  	if err := googleapi.CheckResponse(res); err != nil {
  5691  		return nil, gensupport.WrapError(err)
  5692  	}
  5693  	ret := &ContainerVersionHeader{
  5694  		ServerResponse: googleapi.ServerResponse{
  5695  			Header:         res.Header,
  5696  			HTTPStatusCode: res.StatusCode,
  5697  		},
  5698  	}
  5699  	target := &ret
  5700  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5701  		return nil, err
  5702  	}
  5703  	return ret, nil
  5704  }
  5705  
  5706  type AccountsContainersVersionHeadersListCall struct {
  5707  	s            *Service
  5708  	parent       string
  5709  	urlParams_   gensupport.URLParams
  5710  	ifNoneMatch_ string
  5711  	ctx_         context.Context
  5712  	header_      http.Header
  5713  }
  5714  
  5715  // List: Lists all Container Versions of a GTM Container.
  5716  //
  5717  //   - parent: GTM Container's API relative path. Example:
  5718  //     accounts/{account_id}/containers/{container_id}.
  5719  func (r *AccountsContainersVersionHeadersService) List(parent string) *AccountsContainersVersionHeadersListCall {
  5720  	c := &AccountsContainersVersionHeadersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5721  	c.parent = parent
  5722  	return c
  5723  }
  5724  
  5725  // IncludeDeleted sets the optional parameter "includeDeleted": Also retrieve
  5726  // deleted (archived) versions when true.
  5727  func (c *AccountsContainersVersionHeadersListCall) IncludeDeleted(includeDeleted bool) *AccountsContainersVersionHeadersListCall {
  5728  	c.urlParams_.Set("includeDeleted", fmt.Sprint(includeDeleted))
  5729  	return c
  5730  }
  5731  
  5732  // PageToken sets the optional parameter "pageToken": Continuation token for
  5733  // fetching the next page of results.
  5734  func (c *AccountsContainersVersionHeadersListCall) PageToken(pageToken string) *AccountsContainersVersionHeadersListCall {
  5735  	c.urlParams_.Set("pageToken", pageToken)
  5736  	return c
  5737  }
  5738  
  5739  // Fields allows partial responses to be retrieved. See
  5740  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5741  // details.
  5742  func (c *AccountsContainersVersionHeadersListCall) Fields(s ...googleapi.Field) *AccountsContainersVersionHeadersListCall {
  5743  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5744  	return c
  5745  }
  5746  
  5747  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5748  // object's ETag matches the given value. This is useful for getting updates
  5749  // only after the object has changed since the last request.
  5750  func (c *AccountsContainersVersionHeadersListCall) IfNoneMatch(entityTag string) *AccountsContainersVersionHeadersListCall {
  5751  	c.ifNoneMatch_ = entityTag
  5752  	return c
  5753  }
  5754  
  5755  // Context sets the context to be used in this call's Do method.
  5756  func (c *AccountsContainersVersionHeadersListCall) Context(ctx context.Context) *AccountsContainersVersionHeadersListCall {
  5757  	c.ctx_ = ctx
  5758  	return c
  5759  }
  5760  
  5761  // Header returns a http.Header that can be modified by the caller to add
  5762  // headers to the request.
  5763  func (c *AccountsContainersVersionHeadersListCall) Header() http.Header {
  5764  	if c.header_ == nil {
  5765  		c.header_ = make(http.Header)
  5766  	}
  5767  	return c.header_
  5768  }
  5769  
  5770  func (c *AccountsContainersVersionHeadersListCall) doRequest(alt string) (*http.Response, error) {
  5771  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5772  	if c.ifNoneMatch_ != "" {
  5773  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5774  	}
  5775  	var body io.Reader = nil
  5776  	c.urlParams_.Set("alt", alt)
  5777  	c.urlParams_.Set("prettyPrint", "false")
  5778  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/version_headers")
  5779  	urls += "?" + c.urlParams_.Encode()
  5780  	req, err := http.NewRequest("GET", urls, body)
  5781  	if err != nil {
  5782  		return nil, err
  5783  	}
  5784  	req.Header = reqHeaders
  5785  	googleapi.Expand(req.URL, map[string]string{
  5786  		"parent": c.parent,
  5787  	})
  5788  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5789  }
  5790  
  5791  // Do executes the "tagmanager.accounts.containers.version_headers.list" call.
  5792  // Any non-2xx status code is an error. Response headers are in either
  5793  // *ListContainerVersionsResponse.ServerResponse.Header or (if a response was
  5794  // returned at all) in error.(*googleapi.Error).Header. Use
  5795  // googleapi.IsNotModified to check whether the returned error was because
  5796  // http.StatusNotModified was returned.
  5797  func (c *AccountsContainersVersionHeadersListCall) Do(opts ...googleapi.CallOption) (*ListContainerVersionsResponse, error) {
  5798  	gensupport.SetOptions(c.urlParams_, opts...)
  5799  	res, err := c.doRequest("json")
  5800  	if res != nil && res.StatusCode == http.StatusNotModified {
  5801  		if res.Body != nil {
  5802  			res.Body.Close()
  5803  		}
  5804  		return nil, gensupport.WrapError(&googleapi.Error{
  5805  			Code:   res.StatusCode,
  5806  			Header: res.Header,
  5807  		})
  5808  	}
  5809  	if err != nil {
  5810  		return nil, err
  5811  	}
  5812  	defer googleapi.CloseBody(res)
  5813  	if err := googleapi.CheckResponse(res); err != nil {
  5814  		return nil, gensupport.WrapError(err)
  5815  	}
  5816  	ret := &ListContainerVersionsResponse{
  5817  		ServerResponse: googleapi.ServerResponse{
  5818  			Header:         res.Header,
  5819  			HTTPStatusCode: res.StatusCode,
  5820  		},
  5821  	}
  5822  	target := &ret
  5823  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5824  		return nil, err
  5825  	}
  5826  	return ret, nil
  5827  }
  5828  
  5829  // Pages invokes f for each page of results.
  5830  // A non-nil error returned from f will halt the iteration.
  5831  // The provided context supersedes any context provided to the Context method.
  5832  func (c *AccountsContainersVersionHeadersListCall) Pages(ctx context.Context, f func(*ListContainerVersionsResponse) error) error {
  5833  	c.ctx_ = ctx
  5834  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5835  	for {
  5836  		x, err := c.Do()
  5837  		if err != nil {
  5838  			return err
  5839  		}
  5840  		if err := f(x); err != nil {
  5841  			return err
  5842  		}
  5843  		if x.NextPageToken == "" {
  5844  			return nil
  5845  		}
  5846  		c.PageToken(x.NextPageToken)
  5847  	}
  5848  }
  5849  
  5850  type AccountsContainersVersionsDeleteCall struct {
  5851  	s          *Service
  5852  	path       string
  5853  	urlParams_ gensupport.URLParams
  5854  	ctx_       context.Context
  5855  	header_    http.Header
  5856  }
  5857  
  5858  // Delete: Deletes a Container Version.
  5859  //
  5860  //   - path: GTM ContainerVersion's API relative path. Example:
  5861  //     accounts/{account_id}/containers/{container_id}/versions/{version_id}.
  5862  func (r *AccountsContainersVersionsService) Delete(path string) *AccountsContainersVersionsDeleteCall {
  5863  	c := &AccountsContainersVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5864  	c.path = path
  5865  	return c
  5866  }
  5867  
  5868  // Fields allows partial responses to be retrieved. See
  5869  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5870  // details.
  5871  func (c *AccountsContainersVersionsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsDeleteCall {
  5872  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5873  	return c
  5874  }
  5875  
  5876  // Context sets the context to be used in this call's Do method.
  5877  func (c *AccountsContainersVersionsDeleteCall) Context(ctx context.Context) *AccountsContainersVersionsDeleteCall {
  5878  	c.ctx_ = ctx
  5879  	return c
  5880  }
  5881  
  5882  // Header returns a http.Header that can be modified by the caller to add
  5883  // headers to the request.
  5884  func (c *AccountsContainersVersionsDeleteCall) Header() http.Header {
  5885  	if c.header_ == nil {
  5886  		c.header_ = make(http.Header)
  5887  	}
  5888  	return c.header_
  5889  }
  5890  
  5891  func (c *AccountsContainersVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
  5892  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5893  	var body io.Reader = nil
  5894  	c.urlParams_.Set("alt", alt)
  5895  	c.urlParams_.Set("prettyPrint", "false")
  5896  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  5897  	urls += "?" + c.urlParams_.Encode()
  5898  	req, err := http.NewRequest("DELETE", urls, body)
  5899  	if err != nil {
  5900  		return nil, err
  5901  	}
  5902  	req.Header = reqHeaders
  5903  	googleapi.Expand(req.URL, map[string]string{
  5904  		"path": c.path,
  5905  	})
  5906  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5907  }
  5908  
  5909  // Do executes the "tagmanager.accounts.containers.versions.delete" call.
  5910  func (c *AccountsContainersVersionsDeleteCall) Do(opts ...googleapi.CallOption) error {
  5911  	gensupport.SetOptions(c.urlParams_, opts...)
  5912  	res, err := c.doRequest("json")
  5913  	if err != nil {
  5914  		return err
  5915  	}
  5916  	defer googleapi.CloseBody(res)
  5917  	if err := googleapi.CheckResponse(res); err != nil {
  5918  		return gensupport.WrapError(err)
  5919  	}
  5920  	return nil
  5921  }
  5922  
  5923  type AccountsContainersVersionsGetCall struct {
  5924  	s            *Service
  5925  	path         string
  5926  	urlParams_   gensupport.URLParams
  5927  	ifNoneMatch_ string
  5928  	ctx_         context.Context
  5929  	header_      http.Header
  5930  }
  5931  
  5932  // Get: Gets a Container Version.
  5933  //
  5934  //   - path: GTM ContainerVersion's API relative path. Example:
  5935  //     accounts/{account_id}/containers/{container_id}/versions/{version_id}.
  5936  func (r *AccountsContainersVersionsService) Get(path string) *AccountsContainersVersionsGetCall {
  5937  	c := &AccountsContainersVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5938  	c.path = path
  5939  	return c
  5940  }
  5941  
  5942  // ContainerVersionId sets the optional parameter "containerVersionId": The GTM
  5943  // ContainerVersion ID. Specify published to retrieve the currently published
  5944  // version.
  5945  func (c *AccountsContainersVersionsGetCall) ContainerVersionId(containerVersionId string) *AccountsContainersVersionsGetCall {
  5946  	c.urlParams_.Set("containerVersionId", containerVersionId)
  5947  	return c
  5948  }
  5949  
  5950  // Fields allows partial responses to be retrieved. See
  5951  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5952  // details.
  5953  func (c *AccountsContainersVersionsGetCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsGetCall {
  5954  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5955  	return c
  5956  }
  5957  
  5958  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5959  // object's ETag matches the given value. This is useful for getting updates
  5960  // only after the object has changed since the last request.
  5961  func (c *AccountsContainersVersionsGetCall) IfNoneMatch(entityTag string) *AccountsContainersVersionsGetCall {
  5962  	c.ifNoneMatch_ = entityTag
  5963  	return c
  5964  }
  5965  
  5966  // Context sets the context to be used in this call's Do method.
  5967  func (c *AccountsContainersVersionsGetCall) Context(ctx context.Context) *AccountsContainersVersionsGetCall {
  5968  	c.ctx_ = ctx
  5969  	return c
  5970  }
  5971  
  5972  // Header returns a http.Header that can be modified by the caller to add
  5973  // headers to the request.
  5974  func (c *AccountsContainersVersionsGetCall) Header() http.Header {
  5975  	if c.header_ == nil {
  5976  		c.header_ = make(http.Header)
  5977  	}
  5978  	return c.header_
  5979  }
  5980  
  5981  func (c *AccountsContainersVersionsGetCall) doRequest(alt string) (*http.Response, error) {
  5982  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5983  	if c.ifNoneMatch_ != "" {
  5984  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5985  	}
  5986  	var body io.Reader = nil
  5987  	c.urlParams_.Set("alt", alt)
  5988  	c.urlParams_.Set("prettyPrint", "false")
  5989  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  5990  	urls += "?" + c.urlParams_.Encode()
  5991  	req, err := http.NewRequest("GET", urls, body)
  5992  	if err != nil {
  5993  		return nil, err
  5994  	}
  5995  	req.Header = reqHeaders
  5996  	googleapi.Expand(req.URL, map[string]string{
  5997  		"path": c.path,
  5998  	})
  5999  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6000  }
  6001  
  6002  // Do executes the "tagmanager.accounts.containers.versions.get" call.
  6003  // Any non-2xx status code is an error. Response headers are in either
  6004  // *ContainerVersion.ServerResponse.Header or (if a response was returned at
  6005  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6006  // check whether the returned error was because http.StatusNotModified was
  6007  // returned.
  6008  func (c *AccountsContainersVersionsGetCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
  6009  	gensupport.SetOptions(c.urlParams_, opts...)
  6010  	res, err := c.doRequest("json")
  6011  	if res != nil && res.StatusCode == http.StatusNotModified {
  6012  		if res.Body != nil {
  6013  			res.Body.Close()
  6014  		}
  6015  		return nil, gensupport.WrapError(&googleapi.Error{
  6016  			Code:   res.StatusCode,
  6017  			Header: res.Header,
  6018  		})
  6019  	}
  6020  	if err != nil {
  6021  		return nil, err
  6022  	}
  6023  	defer googleapi.CloseBody(res)
  6024  	if err := googleapi.CheckResponse(res); err != nil {
  6025  		return nil, gensupport.WrapError(err)
  6026  	}
  6027  	ret := &ContainerVersion{
  6028  		ServerResponse: googleapi.ServerResponse{
  6029  			Header:         res.Header,
  6030  			HTTPStatusCode: res.StatusCode,
  6031  		},
  6032  	}
  6033  	target := &ret
  6034  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6035  		return nil, err
  6036  	}
  6037  	return ret, nil
  6038  }
  6039  
  6040  type AccountsContainersVersionsLiveCall struct {
  6041  	s            *Service
  6042  	parent       string
  6043  	urlParams_   gensupport.URLParams
  6044  	ifNoneMatch_ string
  6045  	ctx_         context.Context
  6046  	header_      http.Header
  6047  }
  6048  
  6049  // Live: Gets the live (i.e. published) container version
  6050  //
  6051  //   - parent: GTM Container's API relative path. Example:
  6052  //     accounts/{account_id}/containers/{container_id}.
  6053  func (r *AccountsContainersVersionsService) Live(parent string) *AccountsContainersVersionsLiveCall {
  6054  	c := &AccountsContainersVersionsLiveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6055  	c.parent = parent
  6056  	return c
  6057  }
  6058  
  6059  // Fields allows partial responses to be retrieved. See
  6060  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6061  // details.
  6062  func (c *AccountsContainersVersionsLiveCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsLiveCall {
  6063  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6064  	return c
  6065  }
  6066  
  6067  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6068  // object's ETag matches the given value. This is useful for getting updates
  6069  // only after the object has changed since the last request.
  6070  func (c *AccountsContainersVersionsLiveCall) IfNoneMatch(entityTag string) *AccountsContainersVersionsLiveCall {
  6071  	c.ifNoneMatch_ = entityTag
  6072  	return c
  6073  }
  6074  
  6075  // Context sets the context to be used in this call's Do method.
  6076  func (c *AccountsContainersVersionsLiveCall) Context(ctx context.Context) *AccountsContainersVersionsLiveCall {
  6077  	c.ctx_ = ctx
  6078  	return c
  6079  }
  6080  
  6081  // Header returns a http.Header that can be modified by the caller to add
  6082  // headers to the request.
  6083  func (c *AccountsContainersVersionsLiveCall) Header() http.Header {
  6084  	if c.header_ == nil {
  6085  		c.header_ = make(http.Header)
  6086  	}
  6087  	return c.header_
  6088  }
  6089  
  6090  func (c *AccountsContainersVersionsLiveCall) doRequest(alt string) (*http.Response, error) {
  6091  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6092  	if c.ifNoneMatch_ != "" {
  6093  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6094  	}
  6095  	var body io.Reader = nil
  6096  	c.urlParams_.Set("alt", alt)
  6097  	c.urlParams_.Set("prettyPrint", "false")
  6098  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/versions:live")
  6099  	urls += "?" + c.urlParams_.Encode()
  6100  	req, err := http.NewRequest("GET", urls, body)
  6101  	if err != nil {
  6102  		return nil, err
  6103  	}
  6104  	req.Header = reqHeaders
  6105  	googleapi.Expand(req.URL, map[string]string{
  6106  		"parent": c.parent,
  6107  	})
  6108  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6109  }
  6110  
  6111  // Do executes the "tagmanager.accounts.containers.versions.live" call.
  6112  // Any non-2xx status code is an error. Response headers are in either
  6113  // *ContainerVersion.ServerResponse.Header or (if a response was returned at
  6114  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6115  // check whether the returned error was because http.StatusNotModified was
  6116  // returned.
  6117  func (c *AccountsContainersVersionsLiveCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
  6118  	gensupport.SetOptions(c.urlParams_, opts...)
  6119  	res, err := c.doRequest("json")
  6120  	if res != nil && res.StatusCode == http.StatusNotModified {
  6121  		if res.Body != nil {
  6122  			res.Body.Close()
  6123  		}
  6124  		return nil, gensupport.WrapError(&googleapi.Error{
  6125  			Code:   res.StatusCode,
  6126  			Header: res.Header,
  6127  		})
  6128  	}
  6129  	if err != nil {
  6130  		return nil, err
  6131  	}
  6132  	defer googleapi.CloseBody(res)
  6133  	if err := googleapi.CheckResponse(res); err != nil {
  6134  		return nil, gensupport.WrapError(err)
  6135  	}
  6136  	ret := &ContainerVersion{
  6137  		ServerResponse: googleapi.ServerResponse{
  6138  			Header:         res.Header,
  6139  			HTTPStatusCode: res.StatusCode,
  6140  		},
  6141  	}
  6142  	target := &ret
  6143  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6144  		return nil, err
  6145  	}
  6146  	return ret, nil
  6147  }
  6148  
  6149  type AccountsContainersVersionsPublishCall struct {
  6150  	s          *Service
  6151  	path       string
  6152  	urlParams_ gensupport.URLParams
  6153  	ctx_       context.Context
  6154  	header_    http.Header
  6155  }
  6156  
  6157  // Publish: Publishes a Container Version.
  6158  //
  6159  //   - path: GTM ContainerVersion's API relative path. Example:
  6160  //     accounts/{account_id}/containers/{container_id}/versions/{version_id}.
  6161  func (r *AccountsContainersVersionsService) Publish(path string) *AccountsContainersVersionsPublishCall {
  6162  	c := &AccountsContainersVersionsPublishCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6163  	c.path = path
  6164  	return c
  6165  }
  6166  
  6167  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  6168  // fingerprint must match the fingerprint of the container version in storage.
  6169  func (c *AccountsContainersVersionsPublishCall) Fingerprint(fingerprint string) *AccountsContainersVersionsPublishCall {
  6170  	c.urlParams_.Set("fingerprint", fingerprint)
  6171  	return c
  6172  }
  6173  
  6174  // Fields allows partial responses to be retrieved. See
  6175  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6176  // details.
  6177  func (c *AccountsContainersVersionsPublishCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsPublishCall {
  6178  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6179  	return c
  6180  }
  6181  
  6182  // Context sets the context to be used in this call's Do method.
  6183  func (c *AccountsContainersVersionsPublishCall) Context(ctx context.Context) *AccountsContainersVersionsPublishCall {
  6184  	c.ctx_ = ctx
  6185  	return c
  6186  }
  6187  
  6188  // Header returns a http.Header that can be modified by the caller to add
  6189  // headers to the request.
  6190  func (c *AccountsContainersVersionsPublishCall) Header() http.Header {
  6191  	if c.header_ == nil {
  6192  		c.header_ = make(http.Header)
  6193  	}
  6194  	return c.header_
  6195  }
  6196  
  6197  func (c *AccountsContainersVersionsPublishCall) doRequest(alt string) (*http.Response, error) {
  6198  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6199  	var body io.Reader = nil
  6200  	c.urlParams_.Set("alt", alt)
  6201  	c.urlParams_.Set("prettyPrint", "false")
  6202  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:publish")
  6203  	urls += "?" + c.urlParams_.Encode()
  6204  	req, err := http.NewRequest("POST", urls, body)
  6205  	if err != nil {
  6206  		return nil, err
  6207  	}
  6208  	req.Header = reqHeaders
  6209  	googleapi.Expand(req.URL, map[string]string{
  6210  		"path": c.path,
  6211  	})
  6212  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6213  }
  6214  
  6215  // Do executes the "tagmanager.accounts.containers.versions.publish" call.
  6216  // Any non-2xx status code is an error. Response headers are in either
  6217  // *PublishContainerVersionResponse.ServerResponse.Header or (if a response was
  6218  // returned at all) in error.(*googleapi.Error).Header. Use
  6219  // googleapi.IsNotModified to check whether the returned error was because
  6220  // http.StatusNotModified was returned.
  6221  func (c *AccountsContainersVersionsPublishCall) Do(opts ...googleapi.CallOption) (*PublishContainerVersionResponse, error) {
  6222  	gensupport.SetOptions(c.urlParams_, opts...)
  6223  	res, err := c.doRequest("json")
  6224  	if res != nil && res.StatusCode == http.StatusNotModified {
  6225  		if res.Body != nil {
  6226  			res.Body.Close()
  6227  		}
  6228  		return nil, gensupport.WrapError(&googleapi.Error{
  6229  			Code:   res.StatusCode,
  6230  			Header: res.Header,
  6231  		})
  6232  	}
  6233  	if err != nil {
  6234  		return nil, err
  6235  	}
  6236  	defer googleapi.CloseBody(res)
  6237  	if err := googleapi.CheckResponse(res); err != nil {
  6238  		return nil, gensupport.WrapError(err)
  6239  	}
  6240  	ret := &PublishContainerVersionResponse{
  6241  		ServerResponse: googleapi.ServerResponse{
  6242  			Header:         res.Header,
  6243  			HTTPStatusCode: res.StatusCode,
  6244  		},
  6245  	}
  6246  	target := &ret
  6247  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6248  		return nil, err
  6249  	}
  6250  	return ret, nil
  6251  }
  6252  
  6253  type AccountsContainersVersionsSetLatestCall struct {
  6254  	s          *Service
  6255  	path       string
  6256  	urlParams_ gensupport.URLParams
  6257  	ctx_       context.Context
  6258  	header_    http.Header
  6259  }
  6260  
  6261  // SetLatest: Sets the latest version used for synchronization of workspaces
  6262  // when detecting conflicts and errors.
  6263  //
  6264  //   - path: GTM ContainerVersion's API relative path. Example:
  6265  //     accounts/{account_id}/containers/{container_id}/versions/{version_id}.
  6266  func (r *AccountsContainersVersionsService) SetLatest(path string) *AccountsContainersVersionsSetLatestCall {
  6267  	c := &AccountsContainersVersionsSetLatestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6268  	c.path = path
  6269  	return c
  6270  }
  6271  
  6272  // Fields allows partial responses to be retrieved. See
  6273  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6274  // details.
  6275  func (c *AccountsContainersVersionsSetLatestCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsSetLatestCall {
  6276  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6277  	return c
  6278  }
  6279  
  6280  // Context sets the context to be used in this call's Do method.
  6281  func (c *AccountsContainersVersionsSetLatestCall) Context(ctx context.Context) *AccountsContainersVersionsSetLatestCall {
  6282  	c.ctx_ = ctx
  6283  	return c
  6284  }
  6285  
  6286  // Header returns a http.Header that can be modified by the caller to add
  6287  // headers to the request.
  6288  func (c *AccountsContainersVersionsSetLatestCall) Header() http.Header {
  6289  	if c.header_ == nil {
  6290  		c.header_ = make(http.Header)
  6291  	}
  6292  	return c.header_
  6293  }
  6294  
  6295  func (c *AccountsContainersVersionsSetLatestCall) doRequest(alt string) (*http.Response, error) {
  6296  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6297  	var body io.Reader = nil
  6298  	c.urlParams_.Set("alt", alt)
  6299  	c.urlParams_.Set("prettyPrint", "false")
  6300  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:set_latest")
  6301  	urls += "?" + c.urlParams_.Encode()
  6302  	req, err := http.NewRequest("POST", urls, body)
  6303  	if err != nil {
  6304  		return nil, err
  6305  	}
  6306  	req.Header = reqHeaders
  6307  	googleapi.Expand(req.URL, map[string]string{
  6308  		"path": c.path,
  6309  	})
  6310  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6311  }
  6312  
  6313  // Do executes the "tagmanager.accounts.containers.versions.set_latest" call.
  6314  // Any non-2xx status code is an error. Response headers are in either
  6315  // *ContainerVersion.ServerResponse.Header or (if a response was returned at
  6316  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6317  // check whether the returned error was because http.StatusNotModified was
  6318  // returned.
  6319  func (c *AccountsContainersVersionsSetLatestCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
  6320  	gensupport.SetOptions(c.urlParams_, opts...)
  6321  	res, err := c.doRequest("json")
  6322  	if res != nil && res.StatusCode == http.StatusNotModified {
  6323  		if res.Body != nil {
  6324  			res.Body.Close()
  6325  		}
  6326  		return nil, gensupport.WrapError(&googleapi.Error{
  6327  			Code:   res.StatusCode,
  6328  			Header: res.Header,
  6329  		})
  6330  	}
  6331  	if err != nil {
  6332  		return nil, err
  6333  	}
  6334  	defer googleapi.CloseBody(res)
  6335  	if err := googleapi.CheckResponse(res); err != nil {
  6336  		return nil, gensupport.WrapError(err)
  6337  	}
  6338  	ret := &ContainerVersion{
  6339  		ServerResponse: googleapi.ServerResponse{
  6340  			Header:         res.Header,
  6341  			HTTPStatusCode: res.StatusCode,
  6342  		},
  6343  	}
  6344  	target := &ret
  6345  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6346  		return nil, err
  6347  	}
  6348  	return ret, nil
  6349  }
  6350  
  6351  type AccountsContainersVersionsUndeleteCall struct {
  6352  	s          *Service
  6353  	path       string
  6354  	urlParams_ gensupport.URLParams
  6355  	ctx_       context.Context
  6356  	header_    http.Header
  6357  }
  6358  
  6359  // Undelete: Undeletes a Container Version.
  6360  //
  6361  //   - path: GTM ContainerVersion's API relative path. Example:
  6362  //     accounts/{account_id}/containers/{container_id}/versions/{version_id}.
  6363  func (r *AccountsContainersVersionsService) Undelete(path string) *AccountsContainersVersionsUndeleteCall {
  6364  	c := &AccountsContainersVersionsUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6365  	c.path = path
  6366  	return c
  6367  }
  6368  
  6369  // Fields allows partial responses to be retrieved. See
  6370  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6371  // details.
  6372  func (c *AccountsContainersVersionsUndeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsUndeleteCall {
  6373  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6374  	return c
  6375  }
  6376  
  6377  // Context sets the context to be used in this call's Do method.
  6378  func (c *AccountsContainersVersionsUndeleteCall) Context(ctx context.Context) *AccountsContainersVersionsUndeleteCall {
  6379  	c.ctx_ = ctx
  6380  	return c
  6381  }
  6382  
  6383  // Header returns a http.Header that can be modified by the caller to add
  6384  // headers to the request.
  6385  func (c *AccountsContainersVersionsUndeleteCall) Header() http.Header {
  6386  	if c.header_ == nil {
  6387  		c.header_ = make(http.Header)
  6388  	}
  6389  	return c.header_
  6390  }
  6391  
  6392  func (c *AccountsContainersVersionsUndeleteCall) doRequest(alt string) (*http.Response, error) {
  6393  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6394  	var body io.Reader = nil
  6395  	c.urlParams_.Set("alt", alt)
  6396  	c.urlParams_.Set("prettyPrint", "false")
  6397  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:undelete")
  6398  	urls += "?" + c.urlParams_.Encode()
  6399  	req, err := http.NewRequest("POST", urls, body)
  6400  	if err != nil {
  6401  		return nil, err
  6402  	}
  6403  	req.Header = reqHeaders
  6404  	googleapi.Expand(req.URL, map[string]string{
  6405  		"path": c.path,
  6406  	})
  6407  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6408  }
  6409  
  6410  // Do executes the "tagmanager.accounts.containers.versions.undelete" call.
  6411  // Any non-2xx status code is an error. Response headers are in either
  6412  // *ContainerVersion.ServerResponse.Header or (if a response was returned at
  6413  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6414  // check whether the returned error was because http.StatusNotModified was
  6415  // returned.
  6416  func (c *AccountsContainersVersionsUndeleteCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
  6417  	gensupport.SetOptions(c.urlParams_, opts...)
  6418  	res, err := c.doRequest("json")
  6419  	if res != nil && res.StatusCode == http.StatusNotModified {
  6420  		if res.Body != nil {
  6421  			res.Body.Close()
  6422  		}
  6423  		return nil, gensupport.WrapError(&googleapi.Error{
  6424  			Code:   res.StatusCode,
  6425  			Header: res.Header,
  6426  		})
  6427  	}
  6428  	if err != nil {
  6429  		return nil, err
  6430  	}
  6431  	defer googleapi.CloseBody(res)
  6432  	if err := googleapi.CheckResponse(res); err != nil {
  6433  		return nil, gensupport.WrapError(err)
  6434  	}
  6435  	ret := &ContainerVersion{
  6436  		ServerResponse: googleapi.ServerResponse{
  6437  			Header:         res.Header,
  6438  			HTTPStatusCode: res.StatusCode,
  6439  		},
  6440  	}
  6441  	target := &ret
  6442  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6443  		return nil, err
  6444  	}
  6445  	return ret, nil
  6446  }
  6447  
  6448  type AccountsContainersVersionsUpdateCall struct {
  6449  	s                *Service
  6450  	path             string
  6451  	containerversion *ContainerVersion
  6452  	urlParams_       gensupport.URLParams
  6453  	ctx_             context.Context
  6454  	header_          http.Header
  6455  }
  6456  
  6457  // Update: Updates a Container Version.
  6458  //
  6459  //   - path: GTM ContainerVersion's API relative path. Example:
  6460  //     accounts/{account_id}/containers/{container_id}/versions/{version_id}.
  6461  func (r *AccountsContainersVersionsService) Update(path string, containerversion *ContainerVersion) *AccountsContainersVersionsUpdateCall {
  6462  	c := &AccountsContainersVersionsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6463  	c.path = path
  6464  	c.containerversion = containerversion
  6465  	return c
  6466  }
  6467  
  6468  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  6469  // fingerprint must match the fingerprint of the container version in storage.
  6470  func (c *AccountsContainersVersionsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersVersionsUpdateCall {
  6471  	c.urlParams_.Set("fingerprint", fingerprint)
  6472  	return c
  6473  }
  6474  
  6475  // Fields allows partial responses to be retrieved. See
  6476  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6477  // details.
  6478  func (c *AccountsContainersVersionsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsUpdateCall {
  6479  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6480  	return c
  6481  }
  6482  
  6483  // Context sets the context to be used in this call's Do method.
  6484  func (c *AccountsContainersVersionsUpdateCall) Context(ctx context.Context) *AccountsContainersVersionsUpdateCall {
  6485  	c.ctx_ = ctx
  6486  	return c
  6487  }
  6488  
  6489  // Header returns a http.Header that can be modified by the caller to add
  6490  // headers to the request.
  6491  func (c *AccountsContainersVersionsUpdateCall) Header() http.Header {
  6492  	if c.header_ == nil {
  6493  		c.header_ = make(http.Header)
  6494  	}
  6495  	return c.header_
  6496  }
  6497  
  6498  func (c *AccountsContainersVersionsUpdateCall) doRequest(alt string) (*http.Response, error) {
  6499  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6500  	var body io.Reader = nil
  6501  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.containerversion)
  6502  	if err != nil {
  6503  		return nil, err
  6504  	}
  6505  	c.urlParams_.Set("alt", alt)
  6506  	c.urlParams_.Set("prettyPrint", "false")
  6507  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  6508  	urls += "?" + c.urlParams_.Encode()
  6509  	req, err := http.NewRequest("PUT", urls, body)
  6510  	if err != nil {
  6511  		return nil, err
  6512  	}
  6513  	req.Header = reqHeaders
  6514  	googleapi.Expand(req.URL, map[string]string{
  6515  		"path": c.path,
  6516  	})
  6517  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6518  }
  6519  
  6520  // Do executes the "tagmanager.accounts.containers.versions.update" call.
  6521  // Any non-2xx status code is an error. Response headers are in either
  6522  // *ContainerVersion.ServerResponse.Header or (if a response was returned at
  6523  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6524  // check whether the returned error was because http.StatusNotModified was
  6525  // returned.
  6526  func (c *AccountsContainersVersionsUpdateCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
  6527  	gensupport.SetOptions(c.urlParams_, opts...)
  6528  	res, err := c.doRequest("json")
  6529  	if res != nil && res.StatusCode == http.StatusNotModified {
  6530  		if res.Body != nil {
  6531  			res.Body.Close()
  6532  		}
  6533  		return nil, gensupport.WrapError(&googleapi.Error{
  6534  			Code:   res.StatusCode,
  6535  			Header: res.Header,
  6536  		})
  6537  	}
  6538  	if err != nil {
  6539  		return nil, err
  6540  	}
  6541  	defer googleapi.CloseBody(res)
  6542  	if err := googleapi.CheckResponse(res); err != nil {
  6543  		return nil, gensupport.WrapError(err)
  6544  	}
  6545  	ret := &ContainerVersion{
  6546  		ServerResponse: googleapi.ServerResponse{
  6547  			Header:         res.Header,
  6548  			HTTPStatusCode: res.StatusCode,
  6549  		},
  6550  	}
  6551  	target := &ret
  6552  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6553  		return nil, err
  6554  	}
  6555  	return ret, nil
  6556  }
  6557  
  6558  type AccountsContainersWorkspacesCreateCall struct {
  6559  	s          *Service
  6560  	parent     string
  6561  	workspace  *Workspace
  6562  	urlParams_ gensupport.URLParams
  6563  	ctx_       context.Context
  6564  	header_    http.Header
  6565  }
  6566  
  6567  // Create: Creates a Workspace.
  6568  //
  6569  //   - parent: GTM parent Container's API relative path. Example:
  6570  //     accounts/{account_id}/containers/{container_id}.
  6571  func (r *AccountsContainersWorkspacesService) Create(parent string, workspace *Workspace) *AccountsContainersWorkspacesCreateCall {
  6572  	c := &AccountsContainersWorkspacesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6573  	c.parent = parent
  6574  	c.workspace = workspace
  6575  	return c
  6576  }
  6577  
  6578  // Fields allows partial responses to be retrieved. See
  6579  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6580  // details.
  6581  func (c *AccountsContainersWorkspacesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesCreateCall {
  6582  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6583  	return c
  6584  }
  6585  
  6586  // Context sets the context to be used in this call's Do method.
  6587  func (c *AccountsContainersWorkspacesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesCreateCall {
  6588  	c.ctx_ = ctx
  6589  	return c
  6590  }
  6591  
  6592  // Header returns a http.Header that can be modified by the caller to add
  6593  // headers to the request.
  6594  func (c *AccountsContainersWorkspacesCreateCall) Header() http.Header {
  6595  	if c.header_ == nil {
  6596  		c.header_ = make(http.Header)
  6597  	}
  6598  	return c.header_
  6599  }
  6600  
  6601  func (c *AccountsContainersWorkspacesCreateCall) doRequest(alt string) (*http.Response, error) {
  6602  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6603  	var body io.Reader = nil
  6604  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workspace)
  6605  	if err != nil {
  6606  		return nil, err
  6607  	}
  6608  	c.urlParams_.Set("alt", alt)
  6609  	c.urlParams_.Set("prettyPrint", "false")
  6610  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/workspaces")
  6611  	urls += "?" + c.urlParams_.Encode()
  6612  	req, err := http.NewRequest("POST", urls, body)
  6613  	if err != nil {
  6614  		return nil, err
  6615  	}
  6616  	req.Header = reqHeaders
  6617  	googleapi.Expand(req.URL, map[string]string{
  6618  		"parent": c.parent,
  6619  	})
  6620  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6621  }
  6622  
  6623  // Do executes the "tagmanager.accounts.containers.workspaces.create" call.
  6624  // Any non-2xx status code is an error. Response headers are in either
  6625  // *Workspace.ServerResponse.Header or (if a response was returned at all) in
  6626  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6627  // whether the returned error was because http.StatusNotModified was returned.
  6628  func (c *AccountsContainersWorkspacesCreateCall) Do(opts ...googleapi.CallOption) (*Workspace, error) {
  6629  	gensupport.SetOptions(c.urlParams_, opts...)
  6630  	res, err := c.doRequest("json")
  6631  	if res != nil && res.StatusCode == http.StatusNotModified {
  6632  		if res.Body != nil {
  6633  			res.Body.Close()
  6634  		}
  6635  		return nil, gensupport.WrapError(&googleapi.Error{
  6636  			Code:   res.StatusCode,
  6637  			Header: res.Header,
  6638  		})
  6639  	}
  6640  	if err != nil {
  6641  		return nil, err
  6642  	}
  6643  	defer googleapi.CloseBody(res)
  6644  	if err := googleapi.CheckResponse(res); err != nil {
  6645  		return nil, gensupport.WrapError(err)
  6646  	}
  6647  	ret := &Workspace{
  6648  		ServerResponse: googleapi.ServerResponse{
  6649  			Header:         res.Header,
  6650  			HTTPStatusCode: res.StatusCode,
  6651  		},
  6652  	}
  6653  	target := &ret
  6654  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6655  		return nil, err
  6656  	}
  6657  	return ret, nil
  6658  }
  6659  
  6660  type AccountsContainersWorkspacesCreateVersionCall struct {
  6661  	s                                           *Service
  6662  	path                                        string
  6663  	createcontainerversionrequestversionoptions *CreateContainerVersionRequestVersionOptions
  6664  	urlParams_                                  gensupport.URLParams
  6665  	ctx_                                        context.Context
  6666  	header_                                     http.Header
  6667  }
  6668  
  6669  // CreateVersion: Creates a Container Version from the entities present in the
  6670  // workspace, deletes the workspace, and sets the base container version to the
  6671  // newly created version.
  6672  //
  6673  //   - path: GTM Workspace's API relative path. Example:
  6674  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  6675  func (r *AccountsContainersWorkspacesService) CreateVersion(path string, createcontainerversionrequestversionoptions *CreateContainerVersionRequestVersionOptions) *AccountsContainersWorkspacesCreateVersionCall {
  6676  	c := &AccountsContainersWorkspacesCreateVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6677  	c.path = path
  6678  	c.createcontainerversionrequestversionoptions = createcontainerversionrequestversionoptions
  6679  	return c
  6680  }
  6681  
  6682  // Fields allows partial responses to be retrieved. See
  6683  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6684  // details.
  6685  func (c *AccountsContainersWorkspacesCreateVersionCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesCreateVersionCall {
  6686  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6687  	return c
  6688  }
  6689  
  6690  // Context sets the context to be used in this call's Do method.
  6691  func (c *AccountsContainersWorkspacesCreateVersionCall) Context(ctx context.Context) *AccountsContainersWorkspacesCreateVersionCall {
  6692  	c.ctx_ = ctx
  6693  	return c
  6694  }
  6695  
  6696  // Header returns a http.Header that can be modified by the caller to add
  6697  // headers to the request.
  6698  func (c *AccountsContainersWorkspacesCreateVersionCall) Header() http.Header {
  6699  	if c.header_ == nil {
  6700  		c.header_ = make(http.Header)
  6701  	}
  6702  	return c.header_
  6703  }
  6704  
  6705  func (c *AccountsContainersWorkspacesCreateVersionCall) doRequest(alt string) (*http.Response, error) {
  6706  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6707  	var body io.Reader = nil
  6708  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createcontainerversionrequestversionoptions)
  6709  	if err != nil {
  6710  		return nil, err
  6711  	}
  6712  	c.urlParams_.Set("alt", alt)
  6713  	c.urlParams_.Set("prettyPrint", "false")
  6714  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:create_version")
  6715  	urls += "?" + c.urlParams_.Encode()
  6716  	req, err := http.NewRequest("POST", urls, body)
  6717  	if err != nil {
  6718  		return nil, err
  6719  	}
  6720  	req.Header = reqHeaders
  6721  	googleapi.Expand(req.URL, map[string]string{
  6722  		"path": c.path,
  6723  	})
  6724  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6725  }
  6726  
  6727  // Do executes the "tagmanager.accounts.containers.workspaces.create_version" call.
  6728  // Any non-2xx status code is an error. Response headers are in either
  6729  // *CreateContainerVersionResponse.ServerResponse.Header or (if a response was
  6730  // returned at all) in error.(*googleapi.Error).Header. Use
  6731  // googleapi.IsNotModified to check whether the returned error was because
  6732  // http.StatusNotModified was returned.
  6733  func (c *AccountsContainersWorkspacesCreateVersionCall) Do(opts ...googleapi.CallOption) (*CreateContainerVersionResponse, error) {
  6734  	gensupport.SetOptions(c.urlParams_, opts...)
  6735  	res, err := c.doRequest("json")
  6736  	if res != nil && res.StatusCode == http.StatusNotModified {
  6737  		if res.Body != nil {
  6738  			res.Body.Close()
  6739  		}
  6740  		return nil, gensupport.WrapError(&googleapi.Error{
  6741  			Code:   res.StatusCode,
  6742  			Header: res.Header,
  6743  		})
  6744  	}
  6745  	if err != nil {
  6746  		return nil, err
  6747  	}
  6748  	defer googleapi.CloseBody(res)
  6749  	if err := googleapi.CheckResponse(res); err != nil {
  6750  		return nil, gensupport.WrapError(err)
  6751  	}
  6752  	ret := &CreateContainerVersionResponse{
  6753  		ServerResponse: googleapi.ServerResponse{
  6754  			Header:         res.Header,
  6755  			HTTPStatusCode: res.StatusCode,
  6756  		},
  6757  	}
  6758  	target := &ret
  6759  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6760  		return nil, err
  6761  	}
  6762  	return ret, nil
  6763  }
  6764  
  6765  type AccountsContainersWorkspacesDeleteCall struct {
  6766  	s          *Service
  6767  	path       string
  6768  	urlParams_ gensupport.URLParams
  6769  	ctx_       context.Context
  6770  	header_    http.Header
  6771  }
  6772  
  6773  // Delete: Deletes a Workspace.
  6774  //
  6775  //   - path: GTM Workspace's API relative path. Example:
  6776  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  6777  func (r *AccountsContainersWorkspacesService) Delete(path string) *AccountsContainersWorkspacesDeleteCall {
  6778  	c := &AccountsContainersWorkspacesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6779  	c.path = path
  6780  	return c
  6781  }
  6782  
  6783  // Fields allows partial responses to be retrieved. See
  6784  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6785  // details.
  6786  func (c *AccountsContainersWorkspacesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesDeleteCall {
  6787  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6788  	return c
  6789  }
  6790  
  6791  // Context sets the context to be used in this call's Do method.
  6792  func (c *AccountsContainersWorkspacesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesDeleteCall {
  6793  	c.ctx_ = ctx
  6794  	return c
  6795  }
  6796  
  6797  // Header returns a http.Header that can be modified by the caller to add
  6798  // headers to the request.
  6799  func (c *AccountsContainersWorkspacesDeleteCall) Header() http.Header {
  6800  	if c.header_ == nil {
  6801  		c.header_ = make(http.Header)
  6802  	}
  6803  	return c.header_
  6804  }
  6805  
  6806  func (c *AccountsContainersWorkspacesDeleteCall) doRequest(alt string) (*http.Response, error) {
  6807  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6808  	var body io.Reader = nil
  6809  	c.urlParams_.Set("alt", alt)
  6810  	c.urlParams_.Set("prettyPrint", "false")
  6811  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  6812  	urls += "?" + c.urlParams_.Encode()
  6813  	req, err := http.NewRequest("DELETE", urls, body)
  6814  	if err != nil {
  6815  		return nil, err
  6816  	}
  6817  	req.Header = reqHeaders
  6818  	googleapi.Expand(req.URL, map[string]string{
  6819  		"path": c.path,
  6820  	})
  6821  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6822  }
  6823  
  6824  // Do executes the "tagmanager.accounts.containers.workspaces.delete" call.
  6825  func (c *AccountsContainersWorkspacesDeleteCall) Do(opts ...googleapi.CallOption) error {
  6826  	gensupport.SetOptions(c.urlParams_, opts...)
  6827  	res, err := c.doRequest("json")
  6828  	if err != nil {
  6829  		return err
  6830  	}
  6831  	defer googleapi.CloseBody(res)
  6832  	if err := googleapi.CheckResponse(res); err != nil {
  6833  		return gensupport.WrapError(err)
  6834  	}
  6835  	return nil
  6836  }
  6837  
  6838  type AccountsContainersWorkspacesGetCall struct {
  6839  	s            *Service
  6840  	path         string
  6841  	urlParams_   gensupport.URLParams
  6842  	ifNoneMatch_ string
  6843  	ctx_         context.Context
  6844  	header_      http.Header
  6845  }
  6846  
  6847  // Get: Gets a Workspace.
  6848  //
  6849  //   - path: GTM Workspace's API relative path. Example:
  6850  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  6851  func (r *AccountsContainersWorkspacesService) Get(path string) *AccountsContainersWorkspacesGetCall {
  6852  	c := &AccountsContainersWorkspacesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6853  	c.path = path
  6854  	return c
  6855  }
  6856  
  6857  // Fields allows partial responses to be retrieved. See
  6858  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6859  // details.
  6860  func (c *AccountsContainersWorkspacesGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesGetCall {
  6861  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6862  	return c
  6863  }
  6864  
  6865  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6866  // object's ETag matches the given value. This is useful for getting updates
  6867  // only after the object has changed since the last request.
  6868  func (c *AccountsContainersWorkspacesGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesGetCall {
  6869  	c.ifNoneMatch_ = entityTag
  6870  	return c
  6871  }
  6872  
  6873  // Context sets the context to be used in this call's Do method.
  6874  func (c *AccountsContainersWorkspacesGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesGetCall {
  6875  	c.ctx_ = ctx
  6876  	return c
  6877  }
  6878  
  6879  // Header returns a http.Header that can be modified by the caller to add
  6880  // headers to the request.
  6881  func (c *AccountsContainersWorkspacesGetCall) Header() http.Header {
  6882  	if c.header_ == nil {
  6883  		c.header_ = make(http.Header)
  6884  	}
  6885  	return c.header_
  6886  }
  6887  
  6888  func (c *AccountsContainersWorkspacesGetCall) doRequest(alt string) (*http.Response, error) {
  6889  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6890  	if c.ifNoneMatch_ != "" {
  6891  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6892  	}
  6893  	var body io.Reader = nil
  6894  	c.urlParams_.Set("alt", alt)
  6895  	c.urlParams_.Set("prettyPrint", "false")
  6896  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  6897  	urls += "?" + c.urlParams_.Encode()
  6898  	req, err := http.NewRequest("GET", urls, body)
  6899  	if err != nil {
  6900  		return nil, err
  6901  	}
  6902  	req.Header = reqHeaders
  6903  	googleapi.Expand(req.URL, map[string]string{
  6904  		"path": c.path,
  6905  	})
  6906  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6907  }
  6908  
  6909  // Do executes the "tagmanager.accounts.containers.workspaces.get" call.
  6910  // Any non-2xx status code is an error. Response headers are in either
  6911  // *Workspace.ServerResponse.Header or (if a response was returned at all) in
  6912  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6913  // whether the returned error was because http.StatusNotModified was returned.
  6914  func (c *AccountsContainersWorkspacesGetCall) Do(opts ...googleapi.CallOption) (*Workspace, error) {
  6915  	gensupport.SetOptions(c.urlParams_, opts...)
  6916  	res, err := c.doRequest("json")
  6917  	if res != nil && res.StatusCode == http.StatusNotModified {
  6918  		if res.Body != nil {
  6919  			res.Body.Close()
  6920  		}
  6921  		return nil, gensupport.WrapError(&googleapi.Error{
  6922  			Code:   res.StatusCode,
  6923  			Header: res.Header,
  6924  		})
  6925  	}
  6926  	if err != nil {
  6927  		return nil, err
  6928  	}
  6929  	defer googleapi.CloseBody(res)
  6930  	if err := googleapi.CheckResponse(res); err != nil {
  6931  		return nil, gensupport.WrapError(err)
  6932  	}
  6933  	ret := &Workspace{
  6934  		ServerResponse: googleapi.ServerResponse{
  6935  			Header:         res.Header,
  6936  			HTTPStatusCode: res.StatusCode,
  6937  		},
  6938  	}
  6939  	target := &ret
  6940  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6941  		return nil, err
  6942  	}
  6943  	return ret, nil
  6944  }
  6945  
  6946  type AccountsContainersWorkspacesGetStatusCall struct {
  6947  	s            *Service
  6948  	path         string
  6949  	urlParams_   gensupport.URLParams
  6950  	ifNoneMatch_ string
  6951  	ctx_         context.Context
  6952  	header_      http.Header
  6953  }
  6954  
  6955  // GetStatus: Finds conflicting and modified entities in the workspace.
  6956  //
  6957  //   - path: GTM Workspace's API relative path. Example:
  6958  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  6959  func (r *AccountsContainersWorkspacesService) GetStatus(path string) *AccountsContainersWorkspacesGetStatusCall {
  6960  	c := &AccountsContainersWorkspacesGetStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6961  	c.path = path
  6962  	return c
  6963  }
  6964  
  6965  // Fields allows partial responses to be retrieved. See
  6966  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6967  // details.
  6968  func (c *AccountsContainersWorkspacesGetStatusCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesGetStatusCall {
  6969  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6970  	return c
  6971  }
  6972  
  6973  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6974  // object's ETag matches the given value. This is useful for getting updates
  6975  // only after the object has changed since the last request.
  6976  func (c *AccountsContainersWorkspacesGetStatusCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesGetStatusCall {
  6977  	c.ifNoneMatch_ = entityTag
  6978  	return c
  6979  }
  6980  
  6981  // Context sets the context to be used in this call's Do method.
  6982  func (c *AccountsContainersWorkspacesGetStatusCall) Context(ctx context.Context) *AccountsContainersWorkspacesGetStatusCall {
  6983  	c.ctx_ = ctx
  6984  	return c
  6985  }
  6986  
  6987  // Header returns a http.Header that can be modified by the caller to add
  6988  // headers to the request.
  6989  func (c *AccountsContainersWorkspacesGetStatusCall) Header() http.Header {
  6990  	if c.header_ == nil {
  6991  		c.header_ = make(http.Header)
  6992  	}
  6993  	return c.header_
  6994  }
  6995  
  6996  func (c *AccountsContainersWorkspacesGetStatusCall) doRequest(alt string) (*http.Response, error) {
  6997  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6998  	if c.ifNoneMatch_ != "" {
  6999  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7000  	}
  7001  	var body io.Reader = nil
  7002  	c.urlParams_.Set("alt", alt)
  7003  	c.urlParams_.Set("prettyPrint", "false")
  7004  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}/status")
  7005  	urls += "?" + c.urlParams_.Encode()
  7006  	req, err := http.NewRequest("GET", urls, body)
  7007  	if err != nil {
  7008  		return nil, err
  7009  	}
  7010  	req.Header = reqHeaders
  7011  	googleapi.Expand(req.URL, map[string]string{
  7012  		"path": c.path,
  7013  	})
  7014  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7015  }
  7016  
  7017  // Do executes the "tagmanager.accounts.containers.workspaces.getStatus" call.
  7018  // Any non-2xx status code is an error. Response headers are in either
  7019  // *GetWorkspaceStatusResponse.ServerResponse.Header or (if a response was
  7020  // returned at all) in error.(*googleapi.Error).Header. Use
  7021  // googleapi.IsNotModified to check whether the returned error was because
  7022  // http.StatusNotModified was returned.
  7023  func (c *AccountsContainersWorkspacesGetStatusCall) Do(opts ...googleapi.CallOption) (*GetWorkspaceStatusResponse, error) {
  7024  	gensupport.SetOptions(c.urlParams_, opts...)
  7025  	res, err := c.doRequest("json")
  7026  	if res != nil && res.StatusCode == http.StatusNotModified {
  7027  		if res.Body != nil {
  7028  			res.Body.Close()
  7029  		}
  7030  		return nil, gensupport.WrapError(&googleapi.Error{
  7031  			Code:   res.StatusCode,
  7032  			Header: res.Header,
  7033  		})
  7034  	}
  7035  	if err != nil {
  7036  		return nil, err
  7037  	}
  7038  	defer googleapi.CloseBody(res)
  7039  	if err := googleapi.CheckResponse(res); err != nil {
  7040  		return nil, gensupport.WrapError(err)
  7041  	}
  7042  	ret := &GetWorkspaceStatusResponse{
  7043  		ServerResponse: googleapi.ServerResponse{
  7044  			Header:         res.Header,
  7045  			HTTPStatusCode: res.StatusCode,
  7046  		},
  7047  	}
  7048  	target := &ret
  7049  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7050  		return nil, err
  7051  	}
  7052  	return ret, nil
  7053  }
  7054  
  7055  type AccountsContainersWorkspacesListCall struct {
  7056  	s            *Service
  7057  	parent       string
  7058  	urlParams_   gensupport.URLParams
  7059  	ifNoneMatch_ string
  7060  	ctx_         context.Context
  7061  	header_      http.Header
  7062  }
  7063  
  7064  // List: Lists all Workspaces that belong to a GTM Container.
  7065  //
  7066  //   - parent: GTM parent Container's API relative path. Example:
  7067  //     accounts/{account_id}/containers/{container_id}.
  7068  func (r *AccountsContainersWorkspacesService) List(parent string) *AccountsContainersWorkspacesListCall {
  7069  	c := &AccountsContainersWorkspacesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7070  	c.parent = parent
  7071  	return c
  7072  }
  7073  
  7074  // PageToken sets the optional parameter "pageToken": Continuation token for
  7075  // fetching the next page of results.
  7076  func (c *AccountsContainersWorkspacesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesListCall {
  7077  	c.urlParams_.Set("pageToken", pageToken)
  7078  	return c
  7079  }
  7080  
  7081  // Fields allows partial responses to be retrieved. See
  7082  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7083  // details.
  7084  func (c *AccountsContainersWorkspacesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesListCall {
  7085  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7086  	return c
  7087  }
  7088  
  7089  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7090  // object's ETag matches the given value. This is useful for getting updates
  7091  // only after the object has changed since the last request.
  7092  func (c *AccountsContainersWorkspacesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesListCall {
  7093  	c.ifNoneMatch_ = entityTag
  7094  	return c
  7095  }
  7096  
  7097  // Context sets the context to be used in this call's Do method.
  7098  func (c *AccountsContainersWorkspacesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesListCall {
  7099  	c.ctx_ = ctx
  7100  	return c
  7101  }
  7102  
  7103  // Header returns a http.Header that can be modified by the caller to add
  7104  // headers to the request.
  7105  func (c *AccountsContainersWorkspacesListCall) Header() http.Header {
  7106  	if c.header_ == nil {
  7107  		c.header_ = make(http.Header)
  7108  	}
  7109  	return c.header_
  7110  }
  7111  
  7112  func (c *AccountsContainersWorkspacesListCall) doRequest(alt string) (*http.Response, error) {
  7113  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7114  	if c.ifNoneMatch_ != "" {
  7115  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7116  	}
  7117  	var body io.Reader = nil
  7118  	c.urlParams_.Set("alt", alt)
  7119  	c.urlParams_.Set("prettyPrint", "false")
  7120  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/workspaces")
  7121  	urls += "?" + c.urlParams_.Encode()
  7122  	req, err := http.NewRequest("GET", urls, body)
  7123  	if err != nil {
  7124  		return nil, err
  7125  	}
  7126  	req.Header = reqHeaders
  7127  	googleapi.Expand(req.URL, map[string]string{
  7128  		"parent": c.parent,
  7129  	})
  7130  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7131  }
  7132  
  7133  // Do executes the "tagmanager.accounts.containers.workspaces.list" call.
  7134  // Any non-2xx status code is an error. Response headers are in either
  7135  // *ListWorkspacesResponse.ServerResponse.Header or (if a response was returned
  7136  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7137  // check whether the returned error was because http.StatusNotModified was
  7138  // returned.
  7139  func (c *AccountsContainersWorkspacesListCall) Do(opts ...googleapi.CallOption) (*ListWorkspacesResponse, error) {
  7140  	gensupport.SetOptions(c.urlParams_, opts...)
  7141  	res, err := c.doRequest("json")
  7142  	if res != nil && res.StatusCode == http.StatusNotModified {
  7143  		if res.Body != nil {
  7144  			res.Body.Close()
  7145  		}
  7146  		return nil, gensupport.WrapError(&googleapi.Error{
  7147  			Code:   res.StatusCode,
  7148  			Header: res.Header,
  7149  		})
  7150  	}
  7151  	if err != nil {
  7152  		return nil, err
  7153  	}
  7154  	defer googleapi.CloseBody(res)
  7155  	if err := googleapi.CheckResponse(res); err != nil {
  7156  		return nil, gensupport.WrapError(err)
  7157  	}
  7158  	ret := &ListWorkspacesResponse{
  7159  		ServerResponse: googleapi.ServerResponse{
  7160  			Header:         res.Header,
  7161  			HTTPStatusCode: res.StatusCode,
  7162  		},
  7163  	}
  7164  	target := &ret
  7165  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7166  		return nil, err
  7167  	}
  7168  	return ret, nil
  7169  }
  7170  
  7171  // Pages invokes f for each page of results.
  7172  // A non-nil error returned from f will halt the iteration.
  7173  // The provided context supersedes any context provided to the Context method.
  7174  func (c *AccountsContainersWorkspacesListCall) Pages(ctx context.Context, f func(*ListWorkspacesResponse) error) error {
  7175  	c.ctx_ = ctx
  7176  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7177  	for {
  7178  		x, err := c.Do()
  7179  		if err != nil {
  7180  			return err
  7181  		}
  7182  		if err := f(x); err != nil {
  7183  			return err
  7184  		}
  7185  		if x.NextPageToken == "" {
  7186  			return nil
  7187  		}
  7188  		c.PageToken(x.NextPageToken)
  7189  	}
  7190  }
  7191  
  7192  type AccountsContainersWorkspacesQuickPreviewCall struct {
  7193  	s          *Service
  7194  	path       string
  7195  	urlParams_ gensupport.URLParams
  7196  	ctx_       context.Context
  7197  	header_    http.Header
  7198  }
  7199  
  7200  // QuickPreview: Quick previews a workspace by creating a fake container
  7201  // version from all entities in the provided workspace.
  7202  //
  7203  //   - path: GTM Workspace's API relative path. Example:
  7204  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  7205  func (r *AccountsContainersWorkspacesService) QuickPreview(path string) *AccountsContainersWorkspacesQuickPreviewCall {
  7206  	c := &AccountsContainersWorkspacesQuickPreviewCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7207  	c.path = path
  7208  	return c
  7209  }
  7210  
  7211  // Fields allows partial responses to be retrieved. See
  7212  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7213  // details.
  7214  func (c *AccountsContainersWorkspacesQuickPreviewCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesQuickPreviewCall {
  7215  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7216  	return c
  7217  }
  7218  
  7219  // Context sets the context to be used in this call's Do method.
  7220  func (c *AccountsContainersWorkspacesQuickPreviewCall) Context(ctx context.Context) *AccountsContainersWorkspacesQuickPreviewCall {
  7221  	c.ctx_ = ctx
  7222  	return c
  7223  }
  7224  
  7225  // Header returns a http.Header that can be modified by the caller to add
  7226  // headers to the request.
  7227  func (c *AccountsContainersWorkspacesQuickPreviewCall) Header() http.Header {
  7228  	if c.header_ == nil {
  7229  		c.header_ = make(http.Header)
  7230  	}
  7231  	return c.header_
  7232  }
  7233  
  7234  func (c *AccountsContainersWorkspacesQuickPreviewCall) doRequest(alt string) (*http.Response, error) {
  7235  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7236  	var body io.Reader = nil
  7237  	c.urlParams_.Set("alt", alt)
  7238  	c.urlParams_.Set("prettyPrint", "false")
  7239  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:quick_preview")
  7240  	urls += "?" + c.urlParams_.Encode()
  7241  	req, err := http.NewRequest("POST", urls, body)
  7242  	if err != nil {
  7243  		return nil, err
  7244  	}
  7245  	req.Header = reqHeaders
  7246  	googleapi.Expand(req.URL, map[string]string{
  7247  		"path": c.path,
  7248  	})
  7249  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7250  }
  7251  
  7252  // Do executes the "tagmanager.accounts.containers.workspaces.quick_preview" call.
  7253  // Any non-2xx status code is an error. Response headers are in either
  7254  // *QuickPreviewResponse.ServerResponse.Header or (if a response was returned
  7255  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7256  // check whether the returned error was because http.StatusNotModified was
  7257  // returned.
  7258  func (c *AccountsContainersWorkspacesQuickPreviewCall) Do(opts ...googleapi.CallOption) (*QuickPreviewResponse, error) {
  7259  	gensupport.SetOptions(c.urlParams_, opts...)
  7260  	res, err := c.doRequest("json")
  7261  	if res != nil && res.StatusCode == http.StatusNotModified {
  7262  		if res.Body != nil {
  7263  			res.Body.Close()
  7264  		}
  7265  		return nil, gensupport.WrapError(&googleapi.Error{
  7266  			Code:   res.StatusCode,
  7267  			Header: res.Header,
  7268  		})
  7269  	}
  7270  	if err != nil {
  7271  		return nil, err
  7272  	}
  7273  	defer googleapi.CloseBody(res)
  7274  	if err := googleapi.CheckResponse(res); err != nil {
  7275  		return nil, gensupport.WrapError(err)
  7276  	}
  7277  	ret := &QuickPreviewResponse{
  7278  		ServerResponse: googleapi.ServerResponse{
  7279  			Header:         res.Header,
  7280  			HTTPStatusCode: res.StatusCode,
  7281  		},
  7282  	}
  7283  	target := &ret
  7284  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7285  		return nil, err
  7286  	}
  7287  	return ret, nil
  7288  }
  7289  
  7290  type AccountsContainersWorkspacesResolveConflictCall struct {
  7291  	s          *Service
  7292  	path       string
  7293  	entity     *Entity
  7294  	urlParams_ gensupport.URLParams
  7295  	ctx_       context.Context
  7296  	header_    http.Header
  7297  }
  7298  
  7299  // ResolveConflict: Resolves a merge conflict for a workspace entity by
  7300  // updating it to the resolved entity passed in the request.
  7301  //
  7302  //   - path: GTM Workspace's API relative path. Example:
  7303  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  7304  func (r *AccountsContainersWorkspacesService) ResolveConflict(path string, entity *Entity) *AccountsContainersWorkspacesResolveConflictCall {
  7305  	c := &AccountsContainersWorkspacesResolveConflictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7306  	c.path = path
  7307  	c.entity = entity
  7308  	return c
  7309  }
  7310  
  7311  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  7312  // fingerprint must match the fingerprint of the entity_in_workspace in the
  7313  // merge conflict.
  7314  func (c *AccountsContainersWorkspacesResolveConflictCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesResolveConflictCall {
  7315  	c.urlParams_.Set("fingerprint", fingerprint)
  7316  	return c
  7317  }
  7318  
  7319  // Fields allows partial responses to be retrieved. See
  7320  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7321  // details.
  7322  func (c *AccountsContainersWorkspacesResolveConflictCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesResolveConflictCall {
  7323  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7324  	return c
  7325  }
  7326  
  7327  // Context sets the context to be used in this call's Do method.
  7328  func (c *AccountsContainersWorkspacesResolveConflictCall) Context(ctx context.Context) *AccountsContainersWorkspacesResolveConflictCall {
  7329  	c.ctx_ = ctx
  7330  	return c
  7331  }
  7332  
  7333  // Header returns a http.Header that can be modified by the caller to add
  7334  // headers to the request.
  7335  func (c *AccountsContainersWorkspacesResolveConflictCall) Header() http.Header {
  7336  	if c.header_ == nil {
  7337  		c.header_ = make(http.Header)
  7338  	}
  7339  	return c.header_
  7340  }
  7341  
  7342  func (c *AccountsContainersWorkspacesResolveConflictCall) doRequest(alt string) (*http.Response, error) {
  7343  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7344  	var body io.Reader = nil
  7345  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.entity)
  7346  	if err != nil {
  7347  		return nil, err
  7348  	}
  7349  	c.urlParams_.Set("alt", alt)
  7350  	c.urlParams_.Set("prettyPrint", "false")
  7351  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:resolve_conflict")
  7352  	urls += "?" + c.urlParams_.Encode()
  7353  	req, err := http.NewRequest("POST", 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.resolve_conflict" call.
  7365  func (c *AccountsContainersWorkspacesResolveConflictCall) Do(opts ...googleapi.CallOption) error {
  7366  	gensupport.SetOptions(c.urlParams_, opts...)
  7367  	res, err := c.doRequest("json")
  7368  	if err != nil {
  7369  		return err
  7370  	}
  7371  	defer googleapi.CloseBody(res)
  7372  	if err := googleapi.CheckResponse(res); err != nil {
  7373  		return gensupport.WrapError(err)
  7374  	}
  7375  	return nil
  7376  }
  7377  
  7378  type AccountsContainersWorkspacesSyncCall struct {
  7379  	s          *Service
  7380  	path       string
  7381  	urlParams_ gensupport.URLParams
  7382  	ctx_       context.Context
  7383  	header_    http.Header
  7384  }
  7385  
  7386  // Sync: Syncs a workspace to the latest container version by updating all
  7387  // unmodified workspace entities and displaying conflicts for modified
  7388  // entities.
  7389  //
  7390  //   - path: GTM Workspace's API relative path. Example:
  7391  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  7392  func (r *AccountsContainersWorkspacesService) Sync(path string) *AccountsContainersWorkspacesSyncCall {
  7393  	c := &AccountsContainersWorkspacesSyncCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7394  	c.path = path
  7395  	return c
  7396  }
  7397  
  7398  // Fields allows partial responses to be retrieved. See
  7399  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7400  // details.
  7401  func (c *AccountsContainersWorkspacesSyncCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesSyncCall {
  7402  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7403  	return c
  7404  }
  7405  
  7406  // Context sets the context to be used in this call's Do method.
  7407  func (c *AccountsContainersWorkspacesSyncCall) Context(ctx context.Context) *AccountsContainersWorkspacesSyncCall {
  7408  	c.ctx_ = ctx
  7409  	return c
  7410  }
  7411  
  7412  // Header returns a http.Header that can be modified by the caller to add
  7413  // headers to the request.
  7414  func (c *AccountsContainersWorkspacesSyncCall) Header() http.Header {
  7415  	if c.header_ == nil {
  7416  		c.header_ = make(http.Header)
  7417  	}
  7418  	return c.header_
  7419  }
  7420  
  7421  func (c *AccountsContainersWorkspacesSyncCall) doRequest(alt string) (*http.Response, error) {
  7422  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7423  	var body io.Reader = nil
  7424  	c.urlParams_.Set("alt", alt)
  7425  	c.urlParams_.Set("prettyPrint", "false")
  7426  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:sync")
  7427  	urls += "?" + c.urlParams_.Encode()
  7428  	req, err := http.NewRequest("POST", urls, body)
  7429  	if err != nil {
  7430  		return nil, err
  7431  	}
  7432  	req.Header = reqHeaders
  7433  	googleapi.Expand(req.URL, map[string]string{
  7434  		"path": c.path,
  7435  	})
  7436  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7437  }
  7438  
  7439  // Do executes the "tagmanager.accounts.containers.workspaces.sync" call.
  7440  // Any non-2xx status code is an error. Response headers are in either
  7441  // *SyncWorkspaceResponse.ServerResponse.Header or (if a response was returned
  7442  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7443  // check whether the returned error was because http.StatusNotModified was
  7444  // returned.
  7445  func (c *AccountsContainersWorkspacesSyncCall) Do(opts ...googleapi.CallOption) (*SyncWorkspaceResponse, error) {
  7446  	gensupport.SetOptions(c.urlParams_, opts...)
  7447  	res, err := c.doRequest("json")
  7448  	if res != nil && res.StatusCode == http.StatusNotModified {
  7449  		if res.Body != nil {
  7450  			res.Body.Close()
  7451  		}
  7452  		return nil, gensupport.WrapError(&googleapi.Error{
  7453  			Code:   res.StatusCode,
  7454  			Header: res.Header,
  7455  		})
  7456  	}
  7457  	if err != nil {
  7458  		return nil, err
  7459  	}
  7460  	defer googleapi.CloseBody(res)
  7461  	if err := googleapi.CheckResponse(res); err != nil {
  7462  		return nil, gensupport.WrapError(err)
  7463  	}
  7464  	ret := &SyncWorkspaceResponse{
  7465  		ServerResponse: googleapi.ServerResponse{
  7466  			Header:         res.Header,
  7467  			HTTPStatusCode: res.StatusCode,
  7468  		},
  7469  	}
  7470  	target := &ret
  7471  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7472  		return nil, err
  7473  	}
  7474  	return ret, nil
  7475  }
  7476  
  7477  type AccountsContainersWorkspacesUpdateCall struct {
  7478  	s          *Service
  7479  	path       string
  7480  	workspace  *Workspace
  7481  	urlParams_ gensupport.URLParams
  7482  	ctx_       context.Context
  7483  	header_    http.Header
  7484  }
  7485  
  7486  // Update: Updates a Workspace.
  7487  //
  7488  //   - path: GTM Workspace's API relative path. Example:
  7489  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  7490  func (r *AccountsContainersWorkspacesService) Update(path string, workspace *Workspace) *AccountsContainersWorkspacesUpdateCall {
  7491  	c := &AccountsContainersWorkspacesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7492  	c.path = path
  7493  	c.workspace = workspace
  7494  	return c
  7495  }
  7496  
  7497  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  7498  // fingerprint must match the fingerprint of the workspace in storage.
  7499  func (c *AccountsContainersWorkspacesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesUpdateCall {
  7500  	c.urlParams_.Set("fingerprint", fingerprint)
  7501  	return c
  7502  }
  7503  
  7504  // Fields allows partial responses to be retrieved. See
  7505  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7506  // details.
  7507  func (c *AccountsContainersWorkspacesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesUpdateCall {
  7508  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7509  	return c
  7510  }
  7511  
  7512  // Context sets the context to be used in this call's Do method.
  7513  func (c *AccountsContainersWorkspacesUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesUpdateCall {
  7514  	c.ctx_ = ctx
  7515  	return c
  7516  }
  7517  
  7518  // Header returns a http.Header that can be modified by the caller to add
  7519  // headers to the request.
  7520  func (c *AccountsContainersWorkspacesUpdateCall) Header() http.Header {
  7521  	if c.header_ == nil {
  7522  		c.header_ = make(http.Header)
  7523  	}
  7524  	return c.header_
  7525  }
  7526  
  7527  func (c *AccountsContainersWorkspacesUpdateCall) doRequest(alt string) (*http.Response, error) {
  7528  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7529  	var body io.Reader = nil
  7530  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.workspace)
  7531  	if err != nil {
  7532  		return nil, err
  7533  	}
  7534  	c.urlParams_.Set("alt", alt)
  7535  	c.urlParams_.Set("prettyPrint", "false")
  7536  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  7537  	urls += "?" + c.urlParams_.Encode()
  7538  	req, err := http.NewRequest("PUT", urls, body)
  7539  	if err != nil {
  7540  		return nil, err
  7541  	}
  7542  	req.Header = reqHeaders
  7543  	googleapi.Expand(req.URL, map[string]string{
  7544  		"path": c.path,
  7545  	})
  7546  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7547  }
  7548  
  7549  // Do executes the "tagmanager.accounts.containers.workspaces.update" call.
  7550  // Any non-2xx status code is an error. Response headers are in either
  7551  // *Workspace.ServerResponse.Header or (if a response was returned at all) in
  7552  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7553  // whether the returned error was because http.StatusNotModified was returned.
  7554  func (c *AccountsContainersWorkspacesUpdateCall) Do(opts ...googleapi.CallOption) (*Workspace, error) {
  7555  	gensupport.SetOptions(c.urlParams_, opts...)
  7556  	res, err := c.doRequest("json")
  7557  	if res != nil && res.StatusCode == http.StatusNotModified {
  7558  		if res.Body != nil {
  7559  			res.Body.Close()
  7560  		}
  7561  		return nil, gensupport.WrapError(&googleapi.Error{
  7562  			Code:   res.StatusCode,
  7563  			Header: res.Header,
  7564  		})
  7565  	}
  7566  	if err != nil {
  7567  		return nil, err
  7568  	}
  7569  	defer googleapi.CloseBody(res)
  7570  	if err := googleapi.CheckResponse(res); err != nil {
  7571  		return nil, gensupport.WrapError(err)
  7572  	}
  7573  	ret := &Workspace{
  7574  		ServerResponse: googleapi.ServerResponse{
  7575  			Header:         res.Header,
  7576  			HTTPStatusCode: res.StatusCode,
  7577  		},
  7578  	}
  7579  	target := &ret
  7580  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7581  		return nil, err
  7582  	}
  7583  	return ret, nil
  7584  }
  7585  
  7586  type AccountsContainersWorkspacesBuiltInVariablesCreateCall struct {
  7587  	s          *Service
  7588  	parent     string
  7589  	urlParams_ gensupport.URLParams
  7590  	ctx_       context.Context
  7591  	header_    http.Header
  7592  }
  7593  
  7594  // Create: Creates one or more GTM Built-In Variables.
  7595  //
  7596  //   - parent: GTM Workspace's API relative path. Example:
  7597  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  7598  func (r *AccountsContainersWorkspacesBuiltInVariablesService) Create(parent string) *AccountsContainersWorkspacesBuiltInVariablesCreateCall {
  7599  	c := &AccountsContainersWorkspacesBuiltInVariablesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7600  	c.parent = parent
  7601  	return c
  7602  }
  7603  
  7604  // Type sets the optional parameter "type": The types of built-in variables to
  7605  // enable.
  7606  //
  7607  // Possible values:
  7608  //
  7609  //	"builtInVariableTypeUnspecified"
  7610  //	"pageUrl"
  7611  //	"pageHostname"
  7612  //	"pagePath"
  7613  //	"referrer"
  7614  //	"event" - For web or mobile.
  7615  //	"clickElement"
  7616  //	"clickClasses"
  7617  //	"clickId"
  7618  //	"clickTarget"
  7619  //	"clickUrl"
  7620  //	"clickText"
  7621  //	"firstPartyServingUrl"
  7622  //	"formElement"
  7623  //	"formClasses"
  7624  //	"formId"
  7625  //	"formTarget"
  7626  //	"formUrl"
  7627  //	"formText"
  7628  //	"errorMessage"
  7629  //	"errorUrl"
  7630  //	"errorLine"
  7631  //	"newHistoryUrl"
  7632  //	"oldHistoryUrl"
  7633  //	"newHistoryFragment"
  7634  //	"oldHistoryFragment"
  7635  //	"newHistoryState"
  7636  //	"oldHistoryState"
  7637  //	"historySource"
  7638  //	"containerVersion" - For web or mobile.
  7639  //	"debugMode"
  7640  //	"randomNumber" - For web or mobile.
  7641  //	"containerId" - For web or mobile.
  7642  //	"appId"
  7643  //	"appName"
  7644  //	"appVersionCode"
  7645  //	"appVersionName"
  7646  //	"language"
  7647  //	"osVersion"
  7648  //	"platform"
  7649  //	"sdkVersion"
  7650  //	"deviceName"
  7651  //	"resolution"
  7652  //	"advertiserId"
  7653  //	"advertisingTrackingEnabled"
  7654  //	"htmlId"
  7655  //	"environmentName"
  7656  //	"ampBrowserLanguage"
  7657  //	"ampCanonicalPath"
  7658  //	"ampCanonicalUrl"
  7659  //	"ampCanonicalHost"
  7660  //	"ampReferrer"
  7661  //	"ampTitle"
  7662  //	"ampClientId"
  7663  //	"ampClientTimezone"
  7664  //	"ampClientTimestamp"
  7665  //	"ampClientScreenWidth"
  7666  //	"ampClientScreenHeight"
  7667  //	"ampClientScrollX"
  7668  //	"ampClientScrollY"
  7669  //	"ampClientMaxScrollX"
  7670  //	"ampClientMaxScrollY"
  7671  //	"ampTotalEngagedTime"
  7672  //	"ampPageViewId"
  7673  //	"ampPageLoadTime"
  7674  //	"ampPageDownloadTime"
  7675  //	"ampGtmEvent"
  7676  //	"eventName"
  7677  //	"firebaseEventParameterCampaign"
  7678  //	"firebaseEventParameterCampaignAclid"
  7679  //	"firebaseEventParameterCampaignAnid"
  7680  //	"firebaseEventParameterCampaignClickTimestamp"
  7681  //	"firebaseEventParameterCampaignContent"
  7682  //	"firebaseEventParameterCampaignCp1"
  7683  //	"firebaseEventParameterCampaignGclid"
  7684  //	"firebaseEventParameterCampaignSource"
  7685  //	"firebaseEventParameterCampaignTerm"
  7686  //	"firebaseEventParameterCurrency"
  7687  //	"firebaseEventParameterDynamicLinkAcceptTime"
  7688  //	"firebaseEventParameterDynamicLinkLinkid"
  7689  //	"firebaseEventParameterNotificationMessageDeviceTime"
  7690  //	"firebaseEventParameterNotificationMessageId"
  7691  //	"firebaseEventParameterNotificationMessageName"
  7692  //	"firebaseEventParameterNotificationMessageTime"
  7693  //	"firebaseEventParameterNotificationTopic"
  7694  //	"firebaseEventParameterPreviousAppVersion"
  7695  //	"firebaseEventParameterPreviousOsVersion"
  7696  //	"firebaseEventParameterPrice"
  7697  //	"firebaseEventParameterProductId"
  7698  //	"firebaseEventParameterQuantity"
  7699  //	"firebaseEventParameterValue"
  7700  //	"videoProvider"
  7701  //	"videoUrl"
  7702  //	"videoTitle"
  7703  //	"videoDuration"
  7704  //	"videoPercent"
  7705  //	"videoVisible"
  7706  //	"videoStatus"
  7707  //	"videoCurrentTime"
  7708  //	"scrollDepthThreshold"
  7709  //	"scrollDepthUnits"
  7710  //	"scrollDepthDirection"
  7711  //	"elementVisibilityRatio"
  7712  //	"elementVisibilityTime"
  7713  //	"elementVisibilityFirstTime"
  7714  //	"elementVisibilityRecentTime"
  7715  //	"requestPath"
  7716  //	"requestMethod"
  7717  //	"clientName"
  7718  //	"queryString"
  7719  //	"serverPageLocationUrl"
  7720  //	"serverPageLocationPath"
  7721  //	"serverPageLocationHostname"
  7722  //	"visitorRegion"
  7723  func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Type(type_ ...string) *AccountsContainersWorkspacesBuiltInVariablesCreateCall {
  7724  	c.urlParams_.SetMulti("type", append([]string{}, type_...))
  7725  	return c
  7726  }
  7727  
  7728  // Fields allows partial responses to be retrieved. See
  7729  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7730  // details.
  7731  func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesBuiltInVariablesCreateCall {
  7732  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7733  	return c
  7734  }
  7735  
  7736  // Context sets the context to be used in this call's Do method.
  7737  func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesBuiltInVariablesCreateCall {
  7738  	c.ctx_ = ctx
  7739  	return c
  7740  }
  7741  
  7742  // Header returns a http.Header that can be modified by the caller to add
  7743  // headers to the request.
  7744  func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Header() http.Header {
  7745  	if c.header_ == nil {
  7746  		c.header_ = make(http.Header)
  7747  	}
  7748  	return c.header_
  7749  }
  7750  
  7751  func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) doRequest(alt string) (*http.Response, error) {
  7752  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7753  	var body io.Reader = nil
  7754  	c.urlParams_.Set("alt", alt)
  7755  	c.urlParams_.Set("prettyPrint", "false")
  7756  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/built_in_variables")
  7757  	urls += "?" + c.urlParams_.Encode()
  7758  	req, err := http.NewRequest("POST", urls, body)
  7759  	if err != nil {
  7760  		return nil, err
  7761  	}
  7762  	req.Header = reqHeaders
  7763  	googleapi.Expand(req.URL, map[string]string{
  7764  		"parent": c.parent,
  7765  	})
  7766  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7767  }
  7768  
  7769  // Do executes the "tagmanager.accounts.containers.workspaces.built_in_variables.create" call.
  7770  // Any non-2xx status code is an error. Response headers are in either
  7771  // *CreateBuiltInVariableResponse.ServerResponse.Header or (if a response was
  7772  // returned at all) in error.(*googleapi.Error).Header. Use
  7773  // googleapi.IsNotModified to check whether the returned error was because
  7774  // http.StatusNotModified was returned.
  7775  func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Do(opts ...googleapi.CallOption) (*CreateBuiltInVariableResponse, error) {
  7776  	gensupport.SetOptions(c.urlParams_, opts...)
  7777  	res, err := c.doRequest("json")
  7778  	if res != nil && res.StatusCode == http.StatusNotModified {
  7779  		if res.Body != nil {
  7780  			res.Body.Close()
  7781  		}
  7782  		return nil, gensupport.WrapError(&googleapi.Error{
  7783  			Code:   res.StatusCode,
  7784  			Header: res.Header,
  7785  		})
  7786  	}
  7787  	if err != nil {
  7788  		return nil, err
  7789  	}
  7790  	defer googleapi.CloseBody(res)
  7791  	if err := googleapi.CheckResponse(res); err != nil {
  7792  		return nil, gensupport.WrapError(err)
  7793  	}
  7794  	ret := &CreateBuiltInVariableResponse{
  7795  		ServerResponse: googleapi.ServerResponse{
  7796  			Header:         res.Header,
  7797  			HTTPStatusCode: res.StatusCode,
  7798  		},
  7799  	}
  7800  	target := &ret
  7801  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7802  		return nil, err
  7803  	}
  7804  	return ret, nil
  7805  }
  7806  
  7807  type AccountsContainersWorkspacesBuiltInVariablesDeleteCall struct {
  7808  	s          *Service
  7809  	path       string
  7810  	urlParams_ gensupport.URLParams
  7811  	ctx_       context.Context
  7812  	header_    http.Header
  7813  }
  7814  
  7815  // Delete: Deletes one or more GTM Built-In Variables.
  7816  //
  7817  //   - path: GTM BuiltInVariable's API relative path. Example:
  7818  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/b
  7819  //     uilt_in_variables.
  7820  func (r *AccountsContainersWorkspacesBuiltInVariablesService) Delete(path string) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall {
  7821  	c := &AccountsContainersWorkspacesBuiltInVariablesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7822  	c.path = path
  7823  	return c
  7824  }
  7825  
  7826  // Type sets the optional parameter "type": The types of built-in variables to
  7827  // delete.
  7828  //
  7829  // Possible values:
  7830  //
  7831  //	"builtInVariableTypeUnspecified"
  7832  //	"pageUrl"
  7833  //	"pageHostname"
  7834  //	"pagePath"
  7835  //	"referrer"
  7836  //	"event" - For web or mobile.
  7837  //	"clickElement"
  7838  //	"clickClasses"
  7839  //	"clickId"
  7840  //	"clickTarget"
  7841  //	"clickUrl"
  7842  //	"clickText"
  7843  //	"firstPartyServingUrl"
  7844  //	"formElement"
  7845  //	"formClasses"
  7846  //	"formId"
  7847  //	"formTarget"
  7848  //	"formUrl"
  7849  //	"formText"
  7850  //	"errorMessage"
  7851  //	"errorUrl"
  7852  //	"errorLine"
  7853  //	"newHistoryUrl"
  7854  //	"oldHistoryUrl"
  7855  //	"newHistoryFragment"
  7856  //	"oldHistoryFragment"
  7857  //	"newHistoryState"
  7858  //	"oldHistoryState"
  7859  //	"historySource"
  7860  //	"containerVersion" - For web or mobile.
  7861  //	"debugMode"
  7862  //	"randomNumber" - For web or mobile.
  7863  //	"containerId" - For web or mobile.
  7864  //	"appId"
  7865  //	"appName"
  7866  //	"appVersionCode"
  7867  //	"appVersionName"
  7868  //	"language"
  7869  //	"osVersion"
  7870  //	"platform"
  7871  //	"sdkVersion"
  7872  //	"deviceName"
  7873  //	"resolution"
  7874  //	"advertiserId"
  7875  //	"advertisingTrackingEnabled"
  7876  //	"htmlId"
  7877  //	"environmentName"
  7878  //	"ampBrowserLanguage"
  7879  //	"ampCanonicalPath"
  7880  //	"ampCanonicalUrl"
  7881  //	"ampCanonicalHost"
  7882  //	"ampReferrer"
  7883  //	"ampTitle"
  7884  //	"ampClientId"
  7885  //	"ampClientTimezone"
  7886  //	"ampClientTimestamp"
  7887  //	"ampClientScreenWidth"
  7888  //	"ampClientScreenHeight"
  7889  //	"ampClientScrollX"
  7890  //	"ampClientScrollY"
  7891  //	"ampClientMaxScrollX"
  7892  //	"ampClientMaxScrollY"
  7893  //	"ampTotalEngagedTime"
  7894  //	"ampPageViewId"
  7895  //	"ampPageLoadTime"
  7896  //	"ampPageDownloadTime"
  7897  //	"ampGtmEvent"
  7898  //	"eventName"
  7899  //	"firebaseEventParameterCampaign"
  7900  //	"firebaseEventParameterCampaignAclid"
  7901  //	"firebaseEventParameterCampaignAnid"
  7902  //	"firebaseEventParameterCampaignClickTimestamp"
  7903  //	"firebaseEventParameterCampaignContent"
  7904  //	"firebaseEventParameterCampaignCp1"
  7905  //	"firebaseEventParameterCampaignGclid"
  7906  //	"firebaseEventParameterCampaignSource"
  7907  //	"firebaseEventParameterCampaignTerm"
  7908  //	"firebaseEventParameterCurrency"
  7909  //	"firebaseEventParameterDynamicLinkAcceptTime"
  7910  //	"firebaseEventParameterDynamicLinkLinkid"
  7911  //	"firebaseEventParameterNotificationMessageDeviceTime"
  7912  //	"firebaseEventParameterNotificationMessageId"
  7913  //	"firebaseEventParameterNotificationMessageName"
  7914  //	"firebaseEventParameterNotificationMessageTime"
  7915  //	"firebaseEventParameterNotificationTopic"
  7916  //	"firebaseEventParameterPreviousAppVersion"
  7917  //	"firebaseEventParameterPreviousOsVersion"
  7918  //	"firebaseEventParameterPrice"
  7919  //	"firebaseEventParameterProductId"
  7920  //	"firebaseEventParameterQuantity"
  7921  //	"firebaseEventParameterValue"
  7922  //	"videoProvider"
  7923  //	"videoUrl"
  7924  //	"videoTitle"
  7925  //	"videoDuration"
  7926  //	"videoPercent"
  7927  //	"videoVisible"
  7928  //	"videoStatus"
  7929  //	"videoCurrentTime"
  7930  //	"scrollDepthThreshold"
  7931  //	"scrollDepthUnits"
  7932  //	"scrollDepthDirection"
  7933  //	"elementVisibilityRatio"
  7934  //	"elementVisibilityTime"
  7935  //	"elementVisibilityFirstTime"
  7936  //	"elementVisibilityRecentTime"
  7937  //	"requestPath"
  7938  //	"requestMethod"
  7939  //	"clientName"
  7940  //	"queryString"
  7941  //	"serverPageLocationUrl"
  7942  //	"serverPageLocationPath"
  7943  //	"serverPageLocationHostname"
  7944  //	"visitorRegion"
  7945  func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Type(type_ ...string) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall {
  7946  	c.urlParams_.SetMulti("type", append([]string{}, type_...))
  7947  	return c
  7948  }
  7949  
  7950  // Fields allows partial responses to be retrieved. See
  7951  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7952  // details.
  7953  func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall {
  7954  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7955  	return c
  7956  }
  7957  
  7958  // Context sets the context to be used in this call's Do method.
  7959  func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall {
  7960  	c.ctx_ = ctx
  7961  	return c
  7962  }
  7963  
  7964  // Header returns a http.Header that can be modified by the caller to add
  7965  // headers to the request.
  7966  func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Header() http.Header {
  7967  	if c.header_ == nil {
  7968  		c.header_ = make(http.Header)
  7969  	}
  7970  	return c.header_
  7971  }
  7972  
  7973  func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
  7974  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7975  	var body io.Reader = nil
  7976  	c.urlParams_.Set("alt", alt)
  7977  	c.urlParams_.Set("prettyPrint", "false")
  7978  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  7979  	urls += "?" + c.urlParams_.Encode()
  7980  	req, err := http.NewRequest("DELETE", urls, body)
  7981  	if err != nil {
  7982  		return nil, err
  7983  	}
  7984  	req.Header = reqHeaders
  7985  	googleapi.Expand(req.URL, map[string]string{
  7986  		"path": c.path,
  7987  	})
  7988  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7989  }
  7990  
  7991  // Do executes the "tagmanager.accounts.containers.workspaces.built_in_variables.delete" call.
  7992  func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Do(opts ...googleapi.CallOption) error {
  7993  	gensupport.SetOptions(c.urlParams_, opts...)
  7994  	res, err := c.doRequest("json")
  7995  	if err != nil {
  7996  		return err
  7997  	}
  7998  	defer googleapi.CloseBody(res)
  7999  	if err := googleapi.CheckResponse(res); err != nil {
  8000  		return gensupport.WrapError(err)
  8001  	}
  8002  	return nil
  8003  }
  8004  
  8005  type AccountsContainersWorkspacesBuiltInVariablesListCall struct {
  8006  	s            *Service
  8007  	parent       string
  8008  	urlParams_   gensupport.URLParams
  8009  	ifNoneMatch_ string
  8010  	ctx_         context.Context
  8011  	header_      http.Header
  8012  }
  8013  
  8014  // List: Lists all the enabled Built-In Variables of a GTM Container.
  8015  //
  8016  //   - parent: GTM Workspace's API relative path. Example:
  8017  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  8018  func (r *AccountsContainersWorkspacesBuiltInVariablesService) List(parent string) *AccountsContainersWorkspacesBuiltInVariablesListCall {
  8019  	c := &AccountsContainersWorkspacesBuiltInVariablesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8020  	c.parent = parent
  8021  	return c
  8022  }
  8023  
  8024  // PageToken sets the optional parameter "pageToken": Continuation token for
  8025  // fetching the next page of results.
  8026  func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesBuiltInVariablesListCall {
  8027  	c.urlParams_.Set("pageToken", pageToken)
  8028  	return c
  8029  }
  8030  
  8031  // Fields allows partial responses to be retrieved. See
  8032  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8033  // details.
  8034  func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesBuiltInVariablesListCall {
  8035  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8036  	return c
  8037  }
  8038  
  8039  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8040  // object's ETag matches the given value. This is useful for getting updates
  8041  // only after the object has changed since the last request.
  8042  func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesBuiltInVariablesListCall {
  8043  	c.ifNoneMatch_ = entityTag
  8044  	return c
  8045  }
  8046  
  8047  // Context sets the context to be used in this call's Do method.
  8048  func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesBuiltInVariablesListCall {
  8049  	c.ctx_ = ctx
  8050  	return c
  8051  }
  8052  
  8053  // Header returns a http.Header that can be modified by the caller to add
  8054  // headers to the request.
  8055  func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Header() http.Header {
  8056  	if c.header_ == nil {
  8057  		c.header_ = make(http.Header)
  8058  	}
  8059  	return c.header_
  8060  }
  8061  
  8062  func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) doRequest(alt string) (*http.Response, error) {
  8063  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8064  	if c.ifNoneMatch_ != "" {
  8065  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8066  	}
  8067  	var body io.Reader = nil
  8068  	c.urlParams_.Set("alt", alt)
  8069  	c.urlParams_.Set("prettyPrint", "false")
  8070  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/built_in_variables")
  8071  	urls += "?" + c.urlParams_.Encode()
  8072  	req, err := http.NewRequest("GET", urls, body)
  8073  	if err != nil {
  8074  		return nil, err
  8075  	}
  8076  	req.Header = reqHeaders
  8077  	googleapi.Expand(req.URL, map[string]string{
  8078  		"parent": c.parent,
  8079  	})
  8080  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8081  }
  8082  
  8083  // Do executes the "tagmanager.accounts.containers.workspaces.built_in_variables.list" call.
  8084  // Any non-2xx status code is an error. Response headers are in either
  8085  // *ListEnabledBuiltInVariablesResponse.ServerResponse.Header or (if a response
  8086  // was returned at all) in error.(*googleapi.Error).Header. Use
  8087  // googleapi.IsNotModified to check whether the returned error was because
  8088  // http.StatusNotModified was returned.
  8089  func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Do(opts ...googleapi.CallOption) (*ListEnabledBuiltInVariablesResponse, error) {
  8090  	gensupport.SetOptions(c.urlParams_, opts...)
  8091  	res, err := c.doRequest("json")
  8092  	if res != nil && res.StatusCode == http.StatusNotModified {
  8093  		if res.Body != nil {
  8094  			res.Body.Close()
  8095  		}
  8096  		return nil, gensupport.WrapError(&googleapi.Error{
  8097  			Code:   res.StatusCode,
  8098  			Header: res.Header,
  8099  		})
  8100  	}
  8101  	if err != nil {
  8102  		return nil, err
  8103  	}
  8104  	defer googleapi.CloseBody(res)
  8105  	if err := googleapi.CheckResponse(res); err != nil {
  8106  		return nil, gensupport.WrapError(err)
  8107  	}
  8108  	ret := &ListEnabledBuiltInVariablesResponse{
  8109  		ServerResponse: googleapi.ServerResponse{
  8110  			Header:         res.Header,
  8111  			HTTPStatusCode: res.StatusCode,
  8112  		},
  8113  	}
  8114  	target := &ret
  8115  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8116  		return nil, err
  8117  	}
  8118  	return ret, nil
  8119  }
  8120  
  8121  // Pages invokes f for each page of results.
  8122  // A non-nil error returned from f will halt the iteration.
  8123  // The provided context supersedes any context provided to the Context method.
  8124  func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) Pages(ctx context.Context, f func(*ListEnabledBuiltInVariablesResponse) error) error {
  8125  	c.ctx_ = ctx
  8126  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8127  	for {
  8128  		x, err := c.Do()
  8129  		if err != nil {
  8130  			return err
  8131  		}
  8132  		if err := f(x); err != nil {
  8133  			return err
  8134  		}
  8135  		if x.NextPageToken == "" {
  8136  			return nil
  8137  		}
  8138  		c.PageToken(x.NextPageToken)
  8139  	}
  8140  }
  8141  
  8142  type AccountsContainersWorkspacesBuiltInVariablesRevertCall struct {
  8143  	s          *Service
  8144  	path       string
  8145  	urlParams_ gensupport.URLParams
  8146  	ctx_       context.Context
  8147  	header_    http.Header
  8148  }
  8149  
  8150  // Revert: Reverts changes to a GTM Built-In Variables in a GTM Workspace.
  8151  //
  8152  //   - path: GTM BuiltInVariable's API relative path. Example:
  8153  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/b
  8154  //     uilt_in_variables.
  8155  func (r *AccountsContainersWorkspacesBuiltInVariablesService) Revert(path string) *AccountsContainersWorkspacesBuiltInVariablesRevertCall {
  8156  	c := &AccountsContainersWorkspacesBuiltInVariablesRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8157  	c.path = path
  8158  	return c
  8159  }
  8160  
  8161  // Type sets the optional parameter "type": The type of built-in variable to
  8162  // revert.
  8163  //
  8164  // Possible values:
  8165  //
  8166  //	"builtInVariableTypeUnspecified"
  8167  //	"pageUrl"
  8168  //	"pageHostname"
  8169  //	"pagePath"
  8170  //	"referrer"
  8171  //	"event" - For web or mobile.
  8172  //	"clickElement"
  8173  //	"clickClasses"
  8174  //	"clickId"
  8175  //	"clickTarget"
  8176  //	"clickUrl"
  8177  //	"clickText"
  8178  //	"firstPartyServingUrl"
  8179  //	"formElement"
  8180  //	"formClasses"
  8181  //	"formId"
  8182  //	"formTarget"
  8183  //	"formUrl"
  8184  //	"formText"
  8185  //	"errorMessage"
  8186  //	"errorUrl"
  8187  //	"errorLine"
  8188  //	"newHistoryUrl"
  8189  //	"oldHistoryUrl"
  8190  //	"newHistoryFragment"
  8191  //	"oldHistoryFragment"
  8192  //	"newHistoryState"
  8193  //	"oldHistoryState"
  8194  //	"historySource"
  8195  //	"containerVersion" - For web or mobile.
  8196  //	"debugMode"
  8197  //	"randomNumber" - For web or mobile.
  8198  //	"containerId" - For web or mobile.
  8199  //	"appId"
  8200  //	"appName"
  8201  //	"appVersionCode"
  8202  //	"appVersionName"
  8203  //	"language"
  8204  //	"osVersion"
  8205  //	"platform"
  8206  //	"sdkVersion"
  8207  //	"deviceName"
  8208  //	"resolution"
  8209  //	"advertiserId"
  8210  //	"advertisingTrackingEnabled"
  8211  //	"htmlId"
  8212  //	"environmentName"
  8213  //	"ampBrowserLanguage"
  8214  //	"ampCanonicalPath"
  8215  //	"ampCanonicalUrl"
  8216  //	"ampCanonicalHost"
  8217  //	"ampReferrer"
  8218  //	"ampTitle"
  8219  //	"ampClientId"
  8220  //	"ampClientTimezone"
  8221  //	"ampClientTimestamp"
  8222  //	"ampClientScreenWidth"
  8223  //	"ampClientScreenHeight"
  8224  //	"ampClientScrollX"
  8225  //	"ampClientScrollY"
  8226  //	"ampClientMaxScrollX"
  8227  //	"ampClientMaxScrollY"
  8228  //	"ampTotalEngagedTime"
  8229  //	"ampPageViewId"
  8230  //	"ampPageLoadTime"
  8231  //	"ampPageDownloadTime"
  8232  //	"ampGtmEvent"
  8233  //	"eventName"
  8234  //	"firebaseEventParameterCampaign"
  8235  //	"firebaseEventParameterCampaignAclid"
  8236  //	"firebaseEventParameterCampaignAnid"
  8237  //	"firebaseEventParameterCampaignClickTimestamp"
  8238  //	"firebaseEventParameterCampaignContent"
  8239  //	"firebaseEventParameterCampaignCp1"
  8240  //	"firebaseEventParameterCampaignGclid"
  8241  //	"firebaseEventParameterCampaignSource"
  8242  //	"firebaseEventParameterCampaignTerm"
  8243  //	"firebaseEventParameterCurrency"
  8244  //	"firebaseEventParameterDynamicLinkAcceptTime"
  8245  //	"firebaseEventParameterDynamicLinkLinkid"
  8246  //	"firebaseEventParameterNotificationMessageDeviceTime"
  8247  //	"firebaseEventParameterNotificationMessageId"
  8248  //	"firebaseEventParameterNotificationMessageName"
  8249  //	"firebaseEventParameterNotificationMessageTime"
  8250  //	"firebaseEventParameterNotificationTopic"
  8251  //	"firebaseEventParameterPreviousAppVersion"
  8252  //	"firebaseEventParameterPreviousOsVersion"
  8253  //	"firebaseEventParameterPrice"
  8254  //	"firebaseEventParameterProductId"
  8255  //	"firebaseEventParameterQuantity"
  8256  //	"firebaseEventParameterValue"
  8257  //	"videoProvider"
  8258  //	"videoUrl"
  8259  //	"videoTitle"
  8260  //	"videoDuration"
  8261  //	"videoPercent"
  8262  //	"videoVisible"
  8263  //	"videoStatus"
  8264  //	"videoCurrentTime"
  8265  //	"scrollDepthThreshold"
  8266  //	"scrollDepthUnits"
  8267  //	"scrollDepthDirection"
  8268  //	"elementVisibilityRatio"
  8269  //	"elementVisibilityTime"
  8270  //	"elementVisibilityFirstTime"
  8271  //	"elementVisibilityRecentTime"
  8272  //	"requestPath"
  8273  //	"requestMethod"
  8274  //	"clientName"
  8275  //	"queryString"
  8276  //	"serverPageLocationUrl"
  8277  //	"serverPageLocationPath"
  8278  //	"serverPageLocationHostname"
  8279  //	"visitorRegion"
  8280  func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Type(type_ string) *AccountsContainersWorkspacesBuiltInVariablesRevertCall {
  8281  	c.urlParams_.Set("type", type_)
  8282  	return c
  8283  }
  8284  
  8285  // Fields allows partial responses to be retrieved. See
  8286  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8287  // details.
  8288  func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesBuiltInVariablesRevertCall {
  8289  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8290  	return c
  8291  }
  8292  
  8293  // Context sets the context to be used in this call's Do method.
  8294  func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesBuiltInVariablesRevertCall {
  8295  	c.ctx_ = ctx
  8296  	return c
  8297  }
  8298  
  8299  // Header returns a http.Header that can be modified by the caller to add
  8300  // headers to the request.
  8301  func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Header() http.Header {
  8302  	if c.header_ == nil {
  8303  		c.header_ = make(http.Header)
  8304  	}
  8305  	return c.header_
  8306  }
  8307  
  8308  func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) doRequest(alt string) (*http.Response, error) {
  8309  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8310  	var body io.Reader = nil
  8311  	c.urlParams_.Set("alt", alt)
  8312  	c.urlParams_.Set("prettyPrint", "false")
  8313  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}/built_in_variables:revert")
  8314  	urls += "?" + c.urlParams_.Encode()
  8315  	req, err := http.NewRequest("POST", urls, body)
  8316  	if err != nil {
  8317  		return nil, err
  8318  	}
  8319  	req.Header = reqHeaders
  8320  	googleapi.Expand(req.URL, map[string]string{
  8321  		"path": c.path,
  8322  	})
  8323  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8324  }
  8325  
  8326  // Do executes the "tagmanager.accounts.containers.workspaces.built_in_variables.revert" call.
  8327  // Any non-2xx status code is an error. Response headers are in either
  8328  // *RevertBuiltInVariableResponse.ServerResponse.Header or (if a response was
  8329  // returned at all) in error.(*googleapi.Error).Header. Use
  8330  // googleapi.IsNotModified to check whether the returned error was because
  8331  // http.StatusNotModified was returned.
  8332  func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Do(opts ...googleapi.CallOption) (*RevertBuiltInVariableResponse, error) {
  8333  	gensupport.SetOptions(c.urlParams_, opts...)
  8334  	res, err := c.doRequest("json")
  8335  	if res != nil && res.StatusCode == http.StatusNotModified {
  8336  		if res.Body != nil {
  8337  			res.Body.Close()
  8338  		}
  8339  		return nil, gensupport.WrapError(&googleapi.Error{
  8340  			Code:   res.StatusCode,
  8341  			Header: res.Header,
  8342  		})
  8343  	}
  8344  	if err != nil {
  8345  		return nil, err
  8346  	}
  8347  	defer googleapi.CloseBody(res)
  8348  	if err := googleapi.CheckResponse(res); err != nil {
  8349  		return nil, gensupport.WrapError(err)
  8350  	}
  8351  	ret := &RevertBuiltInVariableResponse{
  8352  		ServerResponse: googleapi.ServerResponse{
  8353  			Header:         res.Header,
  8354  			HTTPStatusCode: res.StatusCode,
  8355  		},
  8356  	}
  8357  	target := &ret
  8358  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8359  		return nil, err
  8360  	}
  8361  	return ret, nil
  8362  }
  8363  
  8364  type AccountsContainersWorkspacesClientsCreateCall struct {
  8365  	s          *Service
  8366  	parent     string
  8367  	client     *Client
  8368  	urlParams_ gensupport.URLParams
  8369  	ctx_       context.Context
  8370  	header_    http.Header
  8371  }
  8372  
  8373  // Create: Creates a GTM Client.
  8374  //
  8375  //   - parent: GTM Workspace's API relative path. Example:
  8376  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  8377  func (r *AccountsContainersWorkspacesClientsService) Create(parent string, client *Client) *AccountsContainersWorkspacesClientsCreateCall {
  8378  	c := &AccountsContainersWorkspacesClientsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8379  	c.parent = parent
  8380  	c.client = client
  8381  	return c
  8382  }
  8383  
  8384  // Fields allows partial responses to be retrieved. See
  8385  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8386  // details.
  8387  func (c *AccountsContainersWorkspacesClientsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesClientsCreateCall {
  8388  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8389  	return c
  8390  }
  8391  
  8392  // Context sets the context to be used in this call's Do method.
  8393  func (c *AccountsContainersWorkspacesClientsCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesClientsCreateCall {
  8394  	c.ctx_ = ctx
  8395  	return c
  8396  }
  8397  
  8398  // Header returns a http.Header that can be modified by the caller to add
  8399  // headers to the request.
  8400  func (c *AccountsContainersWorkspacesClientsCreateCall) Header() http.Header {
  8401  	if c.header_ == nil {
  8402  		c.header_ = make(http.Header)
  8403  	}
  8404  	return c.header_
  8405  }
  8406  
  8407  func (c *AccountsContainersWorkspacesClientsCreateCall) doRequest(alt string) (*http.Response, error) {
  8408  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8409  	var body io.Reader = nil
  8410  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.client)
  8411  	if err != nil {
  8412  		return nil, err
  8413  	}
  8414  	c.urlParams_.Set("alt", alt)
  8415  	c.urlParams_.Set("prettyPrint", "false")
  8416  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/clients")
  8417  	urls += "?" + c.urlParams_.Encode()
  8418  	req, err := http.NewRequest("POST", urls, body)
  8419  	if err != nil {
  8420  		return nil, err
  8421  	}
  8422  	req.Header = reqHeaders
  8423  	googleapi.Expand(req.URL, map[string]string{
  8424  		"parent": c.parent,
  8425  	})
  8426  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8427  }
  8428  
  8429  // Do executes the "tagmanager.accounts.containers.workspaces.clients.create" call.
  8430  // Any non-2xx status code is an error. Response headers are in either
  8431  // *Client.ServerResponse.Header or (if a response was returned at all) in
  8432  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8433  // whether the returned error was because http.StatusNotModified was returned.
  8434  func (c *AccountsContainersWorkspacesClientsCreateCall) Do(opts ...googleapi.CallOption) (*Client, error) {
  8435  	gensupport.SetOptions(c.urlParams_, opts...)
  8436  	res, err := c.doRequest("json")
  8437  	if res != nil && res.StatusCode == http.StatusNotModified {
  8438  		if res.Body != nil {
  8439  			res.Body.Close()
  8440  		}
  8441  		return nil, gensupport.WrapError(&googleapi.Error{
  8442  			Code:   res.StatusCode,
  8443  			Header: res.Header,
  8444  		})
  8445  	}
  8446  	if err != nil {
  8447  		return nil, err
  8448  	}
  8449  	defer googleapi.CloseBody(res)
  8450  	if err := googleapi.CheckResponse(res); err != nil {
  8451  		return nil, gensupport.WrapError(err)
  8452  	}
  8453  	ret := &Client{
  8454  		ServerResponse: googleapi.ServerResponse{
  8455  			Header:         res.Header,
  8456  			HTTPStatusCode: res.StatusCode,
  8457  		},
  8458  	}
  8459  	target := &ret
  8460  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8461  		return nil, err
  8462  	}
  8463  	return ret, nil
  8464  }
  8465  
  8466  type AccountsContainersWorkspacesClientsDeleteCall struct {
  8467  	s          *Service
  8468  	path       string
  8469  	urlParams_ gensupport.URLParams
  8470  	ctx_       context.Context
  8471  	header_    http.Header
  8472  }
  8473  
  8474  // Delete: Deletes a GTM Client.
  8475  //
  8476  //   - path: GTM Client's API relative path. Example:
  8477  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/c
  8478  //     lients/{client_id}.
  8479  func (r *AccountsContainersWorkspacesClientsService) Delete(path string) *AccountsContainersWorkspacesClientsDeleteCall {
  8480  	c := &AccountsContainersWorkspacesClientsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8481  	c.path = path
  8482  	return c
  8483  }
  8484  
  8485  // Fields allows partial responses to be retrieved. See
  8486  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8487  // details.
  8488  func (c *AccountsContainersWorkspacesClientsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesClientsDeleteCall {
  8489  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8490  	return c
  8491  }
  8492  
  8493  // Context sets the context to be used in this call's Do method.
  8494  func (c *AccountsContainersWorkspacesClientsDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesClientsDeleteCall {
  8495  	c.ctx_ = ctx
  8496  	return c
  8497  }
  8498  
  8499  // Header returns a http.Header that can be modified by the caller to add
  8500  // headers to the request.
  8501  func (c *AccountsContainersWorkspacesClientsDeleteCall) Header() http.Header {
  8502  	if c.header_ == nil {
  8503  		c.header_ = make(http.Header)
  8504  	}
  8505  	return c.header_
  8506  }
  8507  
  8508  func (c *AccountsContainersWorkspacesClientsDeleteCall) doRequest(alt string) (*http.Response, error) {
  8509  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8510  	var body io.Reader = nil
  8511  	c.urlParams_.Set("alt", alt)
  8512  	c.urlParams_.Set("prettyPrint", "false")
  8513  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  8514  	urls += "?" + c.urlParams_.Encode()
  8515  	req, err := http.NewRequest("DELETE", urls, body)
  8516  	if err != nil {
  8517  		return nil, err
  8518  	}
  8519  	req.Header = reqHeaders
  8520  	googleapi.Expand(req.URL, map[string]string{
  8521  		"path": c.path,
  8522  	})
  8523  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8524  }
  8525  
  8526  // Do executes the "tagmanager.accounts.containers.workspaces.clients.delete" call.
  8527  func (c *AccountsContainersWorkspacesClientsDeleteCall) Do(opts ...googleapi.CallOption) error {
  8528  	gensupport.SetOptions(c.urlParams_, opts...)
  8529  	res, err := c.doRequest("json")
  8530  	if err != nil {
  8531  		return err
  8532  	}
  8533  	defer googleapi.CloseBody(res)
  8534  	if err := googleapi.CheckResponse(res); err != nil {
  8535  		return gensupport.WrapError(err)
  8536  	}
  8537  	return nil
  8538  }
  8539  
  8540  type AccountsContainersWorkspacesClientsGetCall struct {
  8541  	s            *Service
  8542  	path         string
  8543  	urlParams_   gensupport.URLParams
  8544  	ifNoneMatch_ string
  8545  	ctx_         context.Context
  8546  	header_      http.Header
  8547  }
  8548  
  8549  // Get: Gets a GTM Client.
  8550  //
  8551  //   - path: GTM Client's API relative path. Example:
  8552  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/c
  8553  //     lients/{client_id}.
  8554  func (r *AccountsContainersWorkspacesClientsService) Get(path string) *AccountsContainersWorkspacesClientsGetCall {
  8555  	c := &AccountsContainersWorkspacesClientsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8556  	c.path = path
  8557  	return c
  8558  }
  8559  
  8560  // Fields allows partial responses to be retrieved. See
  8561  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8562  // details.
  8563  func (c *AccountsContainersWorkspacesClientsGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesClientsGetCall {
  8564  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8565  	return c
  8566  }
  8567  
  8568  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8569  // object's ETag matches the given value. This is useful for getting updates
  8570  // only after the object has changed since the last request.
  8571  func (c *AccountsContainersWorkspacesClientsGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesClientsGetCall {
  8572  	c.ifNoneMatch_ = entityTag
  8573  	return c
  8574  }
  8575  
  8576  // Context sets the context to be used in this call's Do method.
  8577  func (c *AccountsContainersWorkspacesClientsGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesClientsGetCall {
  8578  	c.ctx_ = ctx
  8579  	return c
  8580  }
  8581  
  8582  // Header returns a http.Header that can be modified by the caller to add
  8583  // headers to the request.
  8584  func (c *AccountsContainersWorkspacesClientsGetCall) Header() http.Header {
  8585  	if c.header_ == nil {
  8586  		c.header_ = make(http.Header)
  8587  	}
  8588  	return c.header_
  8589  }
  8590  
  8591  func (c *AccountsContainersWorkspacesClientsGetCall) doRequest(alt string) (*http.Response, error) {
  8592  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8593  	if c.ifNoneMatch_ != "" {
  8594  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8595  	}
  8596  	var body io.Reader = nil
  8597  	c.urlParams_.Set("alt", alt)
  8598  	c.urlParams_.Set("prettyPrint", "false")
  8599  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  8600  	urls += "?" + c.urlParams_.Encode()
  8601  	req, err := http.NewRequest("GET", urls, body)
  8602  	if err != nil {
  8603  		return nil, err
  8604  	}
  8605  	req.Header = reqHeaders
  8606  	googleapi.Expand(req.URL, map[string]string{
  8607  		"path": c.path,
  8608  	})
  8609  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8610  }
  8611  
  8612  // Do executes the "tagmanager.accounts.containers.workspaces.clients.get" call.
  8613  // Any non-2xx status code is an error. Response headers are in either
  8614  // *Client.ServerResponse.Header or (if a response was returned at all) in
  8615  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8616  // whether the returned error was because http.StatusNotModified was returned.
  8617  func (c *AccountsContainersWorkspacesClientsGetCall) Do(opts ...googleapi.CallOption) (*Client, error) {
  8618  	gensupport.SetOptions(c.urlParams_, opts...)
  8619  	res, err := c.doRequest("json")
  8620  	if res != nil && res.StatusCode == http.StatusNotModified {
  8621  		if res.Body != nil {
  8622  			res.Body.Close()
  8623  		}
  8624  		return nil, gensupport.WrapError(&googleapi.Error{
  8625  			Code:   res.StatusCode,
  8626  			Header: res.Header,
  8627  		})
  8628  	}
  8629  	if err != nil {
  8630  		return nil, err
  8631  	}
  8632  	defer googleapi.CloseBody(res)
  8633  	if err := googleapi.CheckResponse(res); err != nil {
  8634  		return nil, gensupport.WrapError(err)
  8635  	}
  8636  	ret := &Client{
  8637  		ServerResponse: googleapi.ServerResponse{
  8638  			Header:         res.Header,
  8639  			HTTPStatusCode: res.StatusCode,
  8640  		},
  8641  	}
  8642  	target := &ret
  8643  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8644  		return nil, err
  8645  	}
  8646  	return ret, nil
  8647  }
  8648  
  8649  type AccountsContainersWorkspacesClientsListCall struct {
  8650  	s            *Service
  8651  	parent       string
  8652  	urlParams_   gensupport.URLParams
  8653  	ifNoneMatch_ string
  8654  	ctx_         context.Context
  8655  	header_      http.Header
  8656  }
  8657  
  8658  // List: Lists all GTM Clients of a GTM container workspace.
  8659  //
  8660  //   - parent: GTM Workspace's API relative path. Example:
  8661  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  8662  func (r *AccountsContainersWorkspacesClientsService) List(parent string) *AccountsContainersWorkspacesClientsListCall {
  8663  	c := &AccountsContainersWorkspacesClientsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8664  	c.parent = parent
  8665  	return c
  8666  }
  8667  
  8668  // PageToken sets the optional parameter "pageToken": Continuation token for
  8669  // fetching the next page of results.
  8670  func (c *AccountsContainersWorkspacesClientsListCall) PageToken(pageToken string) *AccountsContainersWorkspacesClientsListCall {
  8671  	c.urlParams_.Set("pageToken", pageToken)
  8672  	return c
  8673  }
  8674  
  8675  // Fields allows partial responses to be retrieved. See
  8676  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8677  // details.
  8678  func (c *AccountsContainersWorkspacesClientsListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesClientsListCall {
  8679  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8680  	return c
  8681  }
  8682  
  8683  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8684  // object's ETag matches the given value. This is useful for getting updates
  8685  // only after the object has changed since the last request.
  8686  func (c *AccountsContainersWorkspacesClientsListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesClientsListCall {
  8687  	c.ifNoneMatch_ = entityTag
  8688  	return c
  8689  }
  8690  
  8691  // Context sets the context to be used in this call's Do method.
  8692  func (c *AccountsContainersWorkspacesClientsListCall) Context(ctx context.Context) *AccountsContainersWorkspacesClientsListCall {
  8693  	c.ctx_ = ctx
  8694  	return c
  8695  }
  8696  
  8697  // Header returns a http.Header that can be modified by the caller to add
  8698  // headers to the request.
  8699  func (c *AccountsContainersWorkspacesClientsListCall) Header() http.Header {
  8700  	if c.header_ == nil {
  8701  		c.header_ = make(http.Header)
  8702  	}
  8703  	return c.header_
  8704  }
  8705  
  8706  func (c *AccountsContainersWorkspacesClientsListCall) doRequest(alt string) (*http.Response, error) {
  8707  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8708  	if c.ifNoneMatch_ != "" {
  8709  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8710  	}
  8711  	var body io.Reader = nil
  8712  	c.urlParams_.Set("alt", alt)
  8713  	c.urlParams_.Set("prettyPrint", "false")
  8714  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/clients")
  8715  	urls += "?" + c.urlParams_.Encode()
  8716  	req, err := http.NewRequest("GET", urls, body)
  8717  	if err != nil {
  8718  		return nil, err
  8719  	}
  8720  	req.Header = reqHeaders
  8721  	googleapi.Expand(req.URL, map[string]string{
  8722  		"parent": c.parent,
  8723  	})
  8724  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8725  }
  8726  
  8727  // Do executes the "tagmanager.accounts.containers.workspaces.clients.list" call.
  8728  // Any non-2xx status code is an error. Response headers are in either
  8729  // *ListClientsResponse.ServerResponse.Header or (if a response was returned at
  8730  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8731  // check whether the returned error was because http.StatusNotModified was
  8732  // returned.
  8733  func (c *AccountsContainersWorkspacesClientsListCall) Do(opts ...googleapi.CallOption) (*ListClientsResponse, error) {
  8734  	gensupport.SetOptions(c.urlParams_, opts...)
  8735  	res, err := c.doRequest("json")
  8736  	if res != nil && res.StatusCode == http.StatusNotModified {
  8737  		if res.Body != nil {
  8738  			res.Body.Close()
  8739  		}
  8740  		return nil, gensupport.WrapError(&googleapi.Error{
  8741  			Code:   res.StatusCode,
  8742  			Header: res.Header,
  8743  		})
  8744  	}
  8745  	if err != nil {
  8746  		return nil, err
  8747  	}
  8748  	defer googleapi.CloseBody(res)
  8749  	if err := googleapi.CheckResponse(res); err != nil {
  8750  		return nil, gensupport.WrapError(err)
  8751  	}
  8752  	ret := &ListClientsResponse{
  8753  		ServerResponse: googleapi.ServerResponse{
  8754  			Header:         res.Header,
  8755  			HTTPStatusCode: res.StatusCode,
  8756  		},
  8757  	}
  8758  	target := &ret
  8759  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8760  		return nil, err
  8761  	}
  8762  	return ret, nil
  8763  }
  8764  
  8765  // Pages invokes f for each page of results.
  8766  // A non-nil error returned from f will halt the iteration.
  8767  // The provided context supersedes any context provided to the Context method.
  8768  func (c *AccountsContainersWorkspacesClientsListCall) Pages(ctx context.Context, f func(*ListClientsResponse) error) error {
  8769  	c.ctx_ = ctx
  8770  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8771  	for {
  8772  		x, err := c.Do()
  8773  		if err != nil {
  8774  			return err
  8775  		}
  8776  		if err := f(x); err != nil {
  8777  			return err
  8778  		}
  8779  		if x.NextPageToken == "" {
  8780  			return nil
  8781  		}
  8782  		c.PageToken(x.NextPageToken)
  8783  	}
  8784  }
  8785  
  8786  type AccountsContainersWorkspacesClientsRevertCall struct {
  8787  	s          *Service
  8788  	path       string
  8789  	urlParams_ gensupport.URLParams
  8790  	ctx_       context.Context
  8791  	header_    http.Header
  8792  }
  8793  
  8794  // Revert: Reverts changes to a GTM Client in a GTM Workspace.
  8795  //
  8796  //   - path: GTM Client's API relative path. Example:
  8797  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/c
  8798  //     lients/{client_id}.
  8799  func (r *AccountsContainersWorkspacesClientsService) Revert(path string) *AccountsContainersWorkspacesClientsRevertCall {
  8800  	c := &AccountsContainersWorkspacesClientsRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8801  	c.path = path
  8802  	return c
  8803  }
  8804  
  8805  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  8806  // fingerprint must match the fingerprint of the client in storage.
  8807  func (c *AccountsContainersWorkspacesClientsRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesClientsRevertCall {
  8808  	c.urlParams_.Set("fingerprint", fingerprint)
  8809  	return c
  8810  }
  8811  
  8812  // Fields allows partial responses to be retrieved. See
  8813  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8814  // details.
  8815  func (c *AccountsContainersWorkspacesClientsRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesClientsRevertCall {
  8816  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8817  	return c
  8818  }
  8819  
  8820  // Context sets the context to be used in this call's Do method.
  8821  func (c *AccountsContainersWorkspacesClientsRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesClientsRevertCall {
  8822  	c.ctx_ = ctx
  8823  	return c
  8824  }
  8825  
  8826  // Header returns a http.Header that can be modified by the caller to add
  8827  // headers to the request.
  8828  func (c *AccountsContainersWorkspacesClientsRevertCall) Header() http.Header {
  8829  	if c.header_ == nil {
  8830  		c.header_ = make(http.Header)
  8831  	}
  8832  	return c.header_
  8833  }
  8834  
  8835  func (c *AccountsContainersWorkspacesClientsRevertCall) doRequest(alt string) (*http.Response, error) {
  8836  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8837  	var body io.Reader = nil
  8838  	c.urlParams_.Set("alt", alt)
  8839  	c.urlParams_.Set("prettyPrint", "false")
  8840  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
  8841  	urls += "?" + c.urlParams_.Encode()
  8842  	req, err := http.NewRequest("POST", urls, body)
  8843  	if err != nil {
  8844  		return nil, err
  8845  	}
  8846  	req.Header = reqHeaders
  8847  	googleapi.Expand(req.URL, map[string]string{
  8848  		"path": c.path,
  8849  	})
  8850  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8851  }
  8852  
  8853  // Do executes the "tagmanager.accounts.containers.workspaces.clients.revert" call.
  8854  // Any non-2xx status code is an error. Response headers are in either
  8855  // *RevertClientResponse.ServerResponse.Header or (if a response was returned
  8856  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8857  // check whether the returned error was because http.StatusNotModified was
  8858  // returned.
  8859  func (c *AccountsContainersWorkspacesClientsRevertCall) Do(opts ...googleapi.CallOption) (*RevertClientResponse, error) {
  8860  	gensupport.SetOptions(c.urlParams_, opts...)
  8861  	res, err := c.doRequest("json")
  8862  	if res != nil && res.StatusCode == http.StatusNotModified {
  8863  		if res.Body != nil {
  8864  			res.Body.Close()
  8865  		}
  8866  		return nil, gensupport.WrapError(&googleapi.Error{
  8867  			Code:   res.StatusCode,
  8868  			Header: res.Header,
  8869  		})
  8870  	}
  8871  	if err != nil {
  8872  		return nil, err
  8873  	}
  8874  	defer googleapi.CloseBody(res)
  8875  	if err := googleapi.CheckResponse(res); err != nil {
  8876  		return nil, gensupport.WrapError(err)
  8877  	}
  8878  	ret := &RevertClientResponse{
  8879  		ServerResponse: googleapi.ServerResponse{
  8880  			Header:         res.Header,
  8881  			HTTPStatusCode: res.StatusCode,
  8882  		},
  8883  	}
  8884  	target := &ret
  8885  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8886  		return nil, err
  8887  	}
  8888  	return ret, nil
  8889  }
  8890  
  8891  type AccountsContainersWorkspacesClientsUpdateCall struct {
  8892  	s          *Service
  8893  	path       string
  8894  	client     *Client
  8895  	urlParams_ gensupport.URLParams
  8896  	ctx_       context.Context
  8897  	header_    http.Header
  8898  }
  8899  
  8900  // Update: Updates a GTM Client.
  8901  //
  8902  //   - path: GTM Client's API relative path. Example:
  8903  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/c
  8904  //     lients/{client_id}.
  8905  func (r *AccountsContainersWorkspacesClientsService) Update(path string, client *Client) *AccountsContainersWorkspacesClientsUpdateCall {
  8906  	c := &AccountsContainersWorkspacesClientsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8907  	c.path = path
  8908  	c.client = client
  8909  	return c
  8910  }
  8911  
  8912  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  8913  // fingerprint must match the fingerprint of the client in storage.
  8914  func (c *AccountsContainersWorkspacesClientsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesClientsUpdateCall {
  8915  	c.urlParams_.Set("fingerprint", fingerprint)
  8916  	return c
  8917  }
  8918  
  8919  // Fields allows partial responses to be retrieved. See
  8920  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8921  // details.
  8922  func (c *AccountsContainersWorkspacesClientsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesClientsUpdateCall {
  8923  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8924  	return c
  8925  }
  8926  
  8927  // Context sets the context to be used in this call's Do method.
  8928  func (c *AccountsContainersWorkspacesClientsUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesClientsUpdateCall {
  8929  	c.ctx_ = ctx
  8930  	return c
  8931  }
  8932  
  8933  // Header returns a http.Header that can be modified by the caller to add
  8934  // headers to the request.
  8935  func (c *AccountsContainersWorkspacesClientsUpdateCall) Header() http.Header {
  8936  	if c.header_ == nil {
  8937  		c.header_ = make(http.Header)
  8938  	}
  8939  	return c.header_
  8940  }
  8941  
  8942  func (c *AccountsContainersWorkspacesClientsUpdateCall) doRequest(alt string) (*http.Response, error) {
  8943  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8944  	var body io.Reader = nil
  8945  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.client)
  8946  	if err != nil {
  8947  		return nil, err
  8948  	}
  8949  	c.urlParams_.Set("alt", alt)
  8950  	c.urlParams_.Set("prettyPrint", "false")
  8951  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  8952  	urls += "?" + c.urlParams_.Encode()
  8953  	req, err := http.NewRequest("PUT", urls, body)
  8954  	if err != nil {
  8955  		return nil, err
  8956  	}
  8957  	req.Header = reqHeaders
  8958  	googleapi.Expand(req.URL, map[string]string{
  8959  		"path": c.path,
  8960  	})
  8961  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8962  }
  8963  
  8964  // Do executes the "tagmanager.accounts.containers.workspaces.clients.update" call.
  8965  // Any non-2xx status code is an error. Response headers are in either
  8966  // *Client.ServerResponse.Header or (if a response was returned at all) in
  8967  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8968  // whether the returned error was because http.StatusNotModified was returned.
  8969  func (c *AccountsContainersWorkspacesClientsUpdateCall) Do(opts ...googleapi.CallOption) (*Client, error) {
  8970  	gensupport.SetOptions(c.urlParams_, opts...)
  8971  	res, err := c.doRequest("json")
  8972  	if res != nil && res.StatusCode == http.StatusNotModified {
  8973  		if res.Body != nil {
  8974  			res.Body.Close()
  8975  		}
  8976  		return nil, gensupport.WrapError(&googleapi.Error{
  8977  			Code:   res.StatusCode,
  8978  			Header: res.Header,
  8979  		})
  8980  	}
  8981  	if err != nil {
  8982  		return nil, err
  8983  	}
  8984  	defer googleapi.CloseBody(res)
  8985  	if err := googleapi.CheckResponse(res); err != nil {
  8986  		return nil, gensupport.WrapError(err)
  8987  	}
  8988  	ret := &Client{
  8989  		ServerResponse: googleapi.ServerResponse{
  8990  			Header:         res.Header,
  8991  			HTTPStatusCode: res.StatusCode,
  8992  		},
  8993  	}
  8994  	target := &ret
  8995  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8996  		return nil, err
  8997  	}
  8998  	return ret, nil
  8999  }
  9000  
  9001  type AccountsContainersWorkspacesFoldersCreateCall struct {
  9002  	s          *Service
  9003  	parent     string
  9004  	folder     *Folder
  9005  	urlParams_ gensupport.URLParams
  9006  	ctx_       context.Context
  9007  	header_    http.Header
  9008  }
  9009  
  9010  // Create: Creates a GTM Folder.
  9011  //
  9012  //   - parent: GTM Workspace's API relative path. Example:
  9013  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  9014  func (r *AccountsContainersWorkspacesFoldersService) Create(parent string, folder *Folder) *AccountsContainersWorkspacesFoldersCreateCall {
  9015  	c := &AccountsContainersWorkspacesFoldersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9016  	c.parent = parent
  9017  	c.folder = folder
  9018  	return c
  9019  }
  9020  
  9021  // Fields allows partial responses to be retrieved. See
  9022  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9023  // details.
  9024  func (c *AccountsContainersWorkspacesFoldersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersCreateCall {
  9025  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9026  	return c
  9027  }
  9028  
  9029  // Context sets the context to be used in this call's Do method.
  9030  func (c *AccountsContainersWorkspacesFoldersCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersCreateCall {
  9031  	c.ctx_ = ctx
  9032  	return c
  9033  }
  9034  
  9035  // Header returns a http.Header that can be modified by the caller to add
  9036  // headers to the request.
  9037  func (c *AccountsContainersWorkspacesFoldersCreateCall) Header() http.Header {
  9038  	if c.header_ == nil {
  9039  		c.header_ = make(http.Header)
  9040  	}
  9041  	return c.header_
  9042  }
  9043  
  9044  func (c *AccountsContainersWorkspacesFoldersCreateCall) doRequest(alt string) (*http.Response, error) {
  9045  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9046  	var body io.Reader = nil
  9047  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.folder)
  9048  	if err != nil {
  9049  		return nil, err
  9050  	}
  9051  	c.urlParams_.Set("alt", alt)
  9052  	c.urlParams_.Set("prettyPrint", "false")
  9053  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/folders")
  9054  	urls += "?" + c.urlParams_.Encode()
  9055  	req, err := http.NewRequest("POST", urls, body)
  9056  	if err != nil {
  9057  		return nil, err
  9058  	}
  9059  	req.Header = reqHeaders
  9060  	googleapi.Expand(req.URL, map[string]string{
  9061  		"parent": c.parent,
  9062  	})
  9063  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9064  }
  9065  
  9066  // Do executes the "tagmanager.accounts.containers.workspaces.folders.create" call.
  9067  // Any non-2xx status code is an error. Response headers are in either
  9068  // *Folder.ServerResponse.Header or (if a response was returned at all) in
  9069  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9070  // whether the returned error was because http.StatusNotModified was returned.
  9071  func (c *AccountsContainersWorkspacesFoldersCreateCall) Do(opts ...googleapi.CallOption) (*Folder, error) {
  9072  	gensupport.SetOptions(c.urlParams_, opts...)
  9073  	res, err := c.doRequest("json")
  9074  	if res != nil && res.StatusCode == http.StatusNotModified {
  9075  		if res.Body != nil {
  9076  			res.Body.Close()
  9077  		}
  9078  		return nil, gensupport.WrapError(&googleapi.Error{
  9079  			Code:   res.StatusCode,
  9080  			Header: res.Header,
  9081  		})
  9082  	}
  9083  	if err != nil {
  9084  		return nil, err
  9085  	}
  9086  	defer googleapi.CloseBody(res)
  9087  	if err := googleapi.CheckResponse(res); err != nil {
  9088  		return nil, gensupport.WrapError(err)
  9089  	}
  9090  	ret := &Folder{
  9091  		ServerResponse: googleapi.ServerResponse{
  9092  			Header:         res.Header,
  9093  			HTTPStatusCode: res.StatusCode,
  9094  		},
  9095  	}
  9096  	target := &ret
  9097  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9098  		return nil, err
  9099  	}
  9100  	return ret, nil
  9101  }
  9102  
  9103  type AccountsContainersWorkspacesFoldersDeleteCall struct {
  9104  	s          *Service
  9105  	path       string
  9106  	urlParams_ gensupport.URLParams
  9107  	ctx_       context.Context
  9108  	header_    http.Header
  9109  }
  9110  
  9111  // Delete: Deletes a GTM Folder.
  9112  //
  9113  //   - path: GTM Folder's API relative path. Example:
  9114  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/f
  9115  //     olders/{folder_id}.
  9116  func (r *AccountsContainersWorkspacesFoldersService) Delete(path string) *AccountsContainersWorkspacesFoldersDeleteCall {
  9117  	c := &AccountsContainersWorkspacesFoldersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9118  	c.path = path
  9119  	return c
  9120  }
  9121  
  9122  // Fields allows partial responses to be retrieved. See
  9123  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9124  // details.
  9125  func (c *AccountsContainersWorkspacesFoldersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersDeleteCall {
  9126  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9127  	return c
  9128  }
  9129  
  9130  // Context sets the context to be used in this call's Do method.
  9131  func (c *AccountsContainersWorkspacesFoldersDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersDeleteCall {
  9132  	c.ctx_ = ctx
  9133  	return c
  9134  }
  9135  
  9136  // Header returns a http.Header that can be modified by the caller to add
  9137  // headers to the request.
  9138  func (c *AccountsContainersWorkspacesFoldersDeleteCall) Header() http.Header {
  9139  	if c.header_ == nil {
  9140  		c.header_ = make(http.Header)
  9141  	}
  9142  	return c.header_
  9143  }
  9144  
  9145  func (c *AccountsContainersWorkspacesFoldersDeleteCall) doRequest(alt string) (*http.Response, error) {
  9146  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9147  	var body io.Reader = nil
  9148  	c.urlParams_.Set("alt", alt)
  9149  	c.urlParams_.Set("prettyPrint", "false")
  9150  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  9151  	urls += "?" + c.urlParams_.Encode()
  9152  	req, err := http.NewRequest("DELETE", urls, body)
  9153  	if err != nil {
  9154  		return nil, err
  9155  	}
  9156  	req.Header = reqHeaders
  9157  	googleapi.Expand(req.URL, map[string]string{
  9158  		"path": c.path,
  9159  	})
  9160  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9161  }
  9162  
  9163  // Do executes the "tagmanager.accounts.containers.workspaces.folders.delete" call.
  9164  func (c *AccountsContainersWorkspacesFoldersDeleteCall) Do(opts ...googleapi.CallOption) error {
  9165  	gensupport.SetOptions(c.urlParams_, opts...)
  9166  	res, err := c.doRequest("json")
  9167  	if err != nil {
  9168  		return err
  9169  	}
  9170  	defer googleapi.CloseBody(res)
  9171  	if err := googleapi.CheckResponse(res); err != nil {
  9172  		return gensupport.WrapError(err)
  9173  	}
  9174  	return nil
  9175  }
  9176  
  9177  type AccountsContainersWorkspacesFoldersEntitiesCall struct {
  9178  	s          *Service
  9179  	path       string
  9180  	urlParams_ gensupport.URLParams
  9181  	ctx_       context.Context
  9182  	header_    http.Header
  9183  }
  9184  
  9185  // Entities: List all entities in a GTM Folder.
  9186  //
  9187  //   - path: GTM Folder's API relative path. Example:
  9188  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/f
  9189  //     olders/{folder_id}.
  9190  func (r *AccountsContainersWorkspacesFoldersService) Entities(path string) *AccountsContainersWorkspacesFoldersEntitiesCall {
  9191  	c := &AccountsContainersWorkspacesFoldersEntitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9192  	c.path = path
  9193  	return c
  9194  }
  9195  
  9196  // PageToken sets the optional parameter "pageToken": Continuation token for
  9197  // fetching the next page of results.
  9198  func (c *AccountsContainersWorkspacesFoldersEntitiesCall) PageToken(pageToken string) *AccountsContainersWorkspacesFoldersEntitiesCall {
  9199  	c.urlParams_.Set("pageToken", pageToken)
  9200  	return c
  9201  }
  9202  
  9203  // Fields allows partial responses to be retrieved. See
  9204  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9205  // details.
  9206  func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersEntitiesCall {
  9207  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9208  	return c
  9209  }
  9210  
  9211  // Context sets the context to be used in this call's Do method.
  9212  func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersEntitiesCall {
  9213  	c.ctx_ = ctx
  9214  	return c
  9215  }
  9216  
  9217  // Header returns a http.Header that can be modified by the caller to add
  9218  // headers to the request.
  9219  func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Header() http.Header {
  9220  	if c.header_ == nil {
  9221  		c.header_ = make(http.Header)
  9222  	}
  9223  	return c.header_
  9224  }
  9225  
  9226  func (c *AccountsContainersWorkspacesFoldersEntitiesCall) doRequest(alt string) (*http.Response, error) {
  9227  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9228  	var body io.Reader = nil
  9229  	c.urlParams_.Set("alt", alt)
  9230  	c.urlParams_.Set("prettyPrint", "false")
  9231  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:entities")
  9232  	urls += "?" + c.urlParams_.Encode()
  9233  	req, err := http.NewRequest("POST", urls, body)
  9234  	if err != nil {
  9235  		return nil, err
  9236  	}
  9237  	req.Header = reqHeaders
  9238  	googleapi.Expand(req.URL, map[string]string{
  9239  		"path": c.path,
  9240  	})
  9241  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9242  }
  9243  
  9244  // Do executes the "tagmanager.accounts.containers.workspaces.folders.entities" call.
  9245  // Any non-2xx status code is an error. Response headers are in either
  9246  // *FolderEntities.ServerResponse.Header or (if a response was returned at all)
  9247  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9248  // whether the returned error was because http.StatusNotModified was returned.
  9249  func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Do(opts ...googleapi.CallOption) (*FolderEntities, error) {
  9250  	gensupport.SetOptions(c.urlParams_, opts...)
  9251  	res, err := c.doRequest("json")
  9252  	if res != nil && res.StatusCode == http.StatusNotModified {
  9253  		if res.Body != nil {
  9254  			res.Body.Close()
  9255  		}
  9256  		return nil, gensupport.WrapError(&googleapi.Error{
  9257  			Code:   res.StatusCode,
  9258  			Header: res.Header,
  9259  		})
  9260  	}
  9261  	if err != nil {
  9262  		return nil, err
  9263  	}
  9264  	defer googleapi.CloseBody(res)
  9265  	if err := googleapi.CheckResponse(res); err != nil {
  9266  		return nil, gensupport.WrapError(err)
  9267  	}
  9268  	ret := &FolderEntities{
  9269  		ServerResponse: googleapi.ServerResponse{
  9270  			Header:         res.Header,
  9271  			HTTPStatusCode: res.StatusCode,
  9272  		},
  9273  	}
  9274  	target := &ret
  9275  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9276  		return nil, err
  9277  	}
  9278  	return ret, nil
  9279  }
  9280  
  9281  // Pages invokes f for each page of results.
  9282  // A non-nil error returned from f will halt the iteration.
  9283  // The provided context supersedes any context provided to the Context method.
  9284  func (c *AccountsContainersWorkspacesFoldersEntitiesCall) Pages(ctx context.Context, f func(*FolderEntities) error) error {
  9285  	c.ctx_ = ctx
  9286  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9287  	for {
  9288  		x, err := c.Do()
  9289  		if err != nil {
  9290  			return err
  9291  		}
  9292  		if err := f(x); err != nil {
  9293  			return err
  9294  		}
  9295  		if x.NextPageToken == "" {
  9296  			return nil
  9297  		}
  9298  		c.PageToken(x.NextPageToken)
  9299  	}
  9300  }
  9301  
  9302  type AccountsContainersWorkspacesFoldersGetCall struct {
  9303  	s            *Service
  9304  	path         string
  9305  	urlParams_   gensupport.URLParams
  9306  	ifNoneMatch_ string
  9307  	ctx_         context.Context
  9308  	header_      http.Header
  9309  }
  9310  
  9311  // Get: Gets a GTM Folder.
  9312  //
  9313  //   - path: GTM Folder's API relative path. Example:
  9314  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/f
  9315  //     olders/{folder_id}.
  9316  func (r *AccountsContainersWorkspacesFoldersService) Get(path string) *AccountsContainersWorkspacesFoldersGetCall {
  9317  	c := &AccountsContainersWorkspacesFoldersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9318  	c.path = path
  9319  	return c
  9320  }
  9321  
  9322  // Fields allows partial responses to be retrieved. See
  9323  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9324  // details.
  9325  func (c *AccountsContainersWorkspacesFoldersGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersGetCall {
  9326  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9327  	return c
  9328  }
  9329  
  9330  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9331  // object's ETag matches the given value. This is useful for getting updates
  9332  // only after the object has changed since the last request.
  9333  func (c *AccountsContainersWorkspacesFoldersGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesFoldersGetCall {
  9334  	c.ifNoneMatch_ = entityTag
  9335  	return c
  9336  }
  9337  
  9338  // Context sets the context to be used in this call's Do method.
  9339  func (c *AccountsContainersWorkspacesFoldersGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersGetCall {
  9340  	c.ctx_ = ctx
  9341  	return c
  9342  }
  9343  
  9344  // Header returns a http.Header that can be modified by the caller to add
  9345  // headers to the request.
  9346  func (c *AccountsContainersWorkspacesFoldersGetCall) Header() http.Header {
  9347  	if c.header_ == nil {
  9348  		c.header_ = make(http.Header)
  9349  	}
  9350  	return c.header_
  9351  }
  9352  
  9353  func (c *AccountsContainersWorkspacesFoldersGetCall) doRequest(alt string) (*http.Response, error) {
  9354  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9355  	if c.ifNoneMatch_ != "" {
  9356  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9357  	}
  9358  	var body io.Reader = nil
  9359  	c.urlParams_.Set("alt", alt)
  9360  	c.urlParams_.Set("prettyPrint", "false")
  9361  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  9362  	urls += "?" + c.urlParams_.Encode()
  9363  	req, err := http.NewRequest("GET", urls, body)
  9364  	if err != nil {
  9365  		return nil, err
  9366  	}
  9367  	req.Header = reqHeaders
  9368  	googleapi.Expand(req.URL, map[string]string{
  9369  		"path": c.path,
  9370  	})
  9371  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9372  }
  9373  
  9374  // Do executes the "tagmanager.accounts.containers.workspaces.folders.get" call.
  9375  // Any non-2xx status code is an error. Response headers are in either
  9376  // *Folder.ServerResponse.Header or (if a response was returned at all) in
  9377  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9378  // whether the returned error was because http.StatusNotModified was returned.
  9379  func (c *AccountsContainersWorkspacesFoldersGetCall) Do(opts ...googleapi.CallOption) (*Folder, error) {
  9380  	gensupport.SetOptions(c.urlParams_, opts...)
  9381  	res, err := c.doRequest("json")
  9382  	if res != nil && res.StatusCode == http.StatusNotModified {
  9383  		if res.Body != nil {
  9384  			res.Body.Close()
  9385  		}
  9386  		return nil, gensupport.WrapError(&googleapi.Error{
  9387  			Code:   res.StatusCode,
  9388  			Header: res.Header,
  9389  		})
  9390  	}
  9391  	if err != nil {
  9392  		return nil, err
  9393  	}
  9394  	defer googleapi.CloseBody(res)
  9395  	if err := googleapi.CheckResponse(res); err != nil {
  9396  		return nil, gensupport.WrapError(err)
  9397  	}
  9398  	ret := &Folder{
  9399  		ServerResponse: googleapi.ServerResponse{
  9400  			Header:         res.Header,
  9401  			HTTPStatusCode: res.StatusCode,
  9402  		},
  9403  	}
  9404  	target := &ret
  9405  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9406  		return nil, err
  9407  	}
  9408  	return ret, nil
  9409  }
  9410  
  9411  type AccountsContainersWorkspacesFoldersListCall struct {
  9412  	s            *Service
  9413  	parent       string
  9414  	urlParams_   gensupport.URLParams
  9415  	ifNoneMatch_ string
  9416  	ctx_         context.Context
  9417  	header_      http.Header
  9418  }
  9419  
  9420  // List: Lists all GTM Folders of a Container.
  9421  //
  9422  //   - parent: GTM Workspace's API relative path. Example:
  9423  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  9424  func (r *AccountsContainersWorkspacesFoldersService) List(parent string) *AccountsContainersWorkspacesFoldersListCall {
  9425  	c := &AccountsContainersWorkspacesFoldersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9426  	c.parent = parent
  9427  	return c
  9428  }
  9429  
  9430  // PageToken sets the optional parameter "pageToken": Continuation token for
  9431  // fetching the next page of results.
  9432  func (c *AccountsContainersWorkspacesFoldersListCall) PageToken(pageToken string) *AccountsContainersWorkspacesFoldersListCall {
  9433  	c.urlParams_.Set("pageToken", pageToken)
  9434  	return c
  9435  }
  9436  
  9437  // Fields allows partial responses to be retrieved. See
  9438  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9439  // details.
  9440  func (c *AccountsContainersWorkspacesFoldersListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersListCall {
  9441  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9442  	return c
  9443  }
  9444  
  9445  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9446  // object's ETag matches the given value. This is useful for getting updates
  9447  // only after the object has changed since the last request.
  9448  func (c *AccountsContainersWorkspacesFoldersListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesFoldersListCall {
  9449  	c.ifNoneMatch_ = entityTag
  9450  	return c
  9451  }
  9452  
  9453  // Context sets the context to be used in this call's Do method.
  9454  func (c *AccountsContainersWorkspacesFoldersListCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersListCall {
  9455  	c.ctx_ = ctx
  9456  	return c
  9457  }
  9458  
  9459  // Header returns a http.Header that can be modified by the caller to add
  9460  // headers to the request.
  9461  func (c *AccountsContainersWorkspacesFoldersListCall) Header() http.Header {
  9462  	if c.header_ == nil {
  9463  		c.header_ = make(http.Header)
  9464  	}
  9465  	return c.header_
  9466  }
  9467  
  9468  func (c *AccountsContainersWorkspacesFoldersListCall) doRequest(alt string) (*http.Response, error) {
  9469  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9470  	if c.ifNoneMatch_ != "" {
  9471  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9472  	}
  9473  	var body io.Reader = nil
  9474  	c.urlParams_.Set("alt", alt)
  9475  	c.urlParams_.Set("prettyPrint", "false")
  9476  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/folders")
  9477  	urls += "?" + c.urlParams_.Encode()
  9478  	req, err := http.NewRequest("GET", urls, body)
  9479  	if err != nil {
  9480  		return nil, err
  9481  	}
  9482  	req.Header = reqHeaders
  9483  	googleapi.Expand(req.URL, map[string]string{
  9484  		"parent": c.parent,
  9485  	})
  9486  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9487  }
  9488  
  9489  // Do executes the "tagmanager.accounts.containers.workspaces.folders.list" call.
  9490  // Any non-2xx status code is an error. Response headers are in either
  9491  // *ListFoldersResponse.ServerResponse.Header or (if a response was returned at
  9492  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9493  // check whether the returned error was because http.StatusNotModified was
  9494  // returned.
  9495  func (c *AccountsContainersWorkspacesFoldersListCall) Do(opts ...googleapi.CallOption) (*ListFoldersResponse, error) {
  9496  	gensupport.SetOptions(c.urlParams_, opts...)
  9497  	res, err := c.doRequest("json")
  9498  	if res != nil && res.StatusCode == http.StatusNotModified {
  9499  		if res.Body != nil {
  9500  			res.Body.Close()
  9501  		}
  9502  		return nil, gensupport.WrapError(&googleapi.Error{
  9503  			Code:   res.StatusCode,
  9504  			Header: res.Header,
  9505  		})
  9506  	}
  9507  	if err != nil {
  9508  		return nil, err
  9509  	}
  9510  	defer googleapi.CloseBody(res)
  9511  	if err := googleapi.CheckResponse(res); err != nil {
  9512  		return nil, gensupport.WrapError(err)
  9513  	}
  9514  	ret := &ListFoldersResponse{
  9515  		ServerResponse: googleapi.ServerResponse{
  9516  			Header:         res.Header,
  9517  			HTTPStatusCode: res.StatusCode,
  9518  		},
  9519  	}
  9520  	target := &ret
  9521  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9522  		return nil, err
  9523  	}
  9524  	return ret, nil
  9525  }
  9526  
  9527  // Pages invokes f for each page of results.
  9528  // A non-nil error returned from f will halt the iteration.
  9529  // The provided context supersedes any context provided to the Context method.
  9530  func (c *AccountsContainersWorkspacesFoldersListCall) Pages(ctx context.Context, f func(*ListFoldersResponse) error) error {
  9531  	c.ctx_ = ctx
  9532  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9533  	for {
  9534  		x, err := c.Do()
  9535  		if err != nil {
  9536  			return err
  9537  		}
  9538  		if err := f(x); err != nil {
  9539  			return err
  9540  		}
  9541  		if x.NextPageToken == "" {
  9542  			return nil
  9543  		}
  9544  		c.PageToken(x.NextPageToken)
  9545  	}
  9546  }
  9547  
  9548  type AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall struct {
  9549  	s          *Service
  9550  	path       string
  9551  	folder     *Folder
  9552  	urlParams_ gensupport.URLParams
  9553  	ctx_       context.Context
  9554  	header_    http.Header
  9555  }
  9556  
  9557  // MoveEntitiesToFolder: Moves entities to a GTM Folder. If {folder_id} in the
  9558  // request path equals 0, this will instead move entities out of the folder
  9559  // they currently belong to.
  9560  //
  9561  //   - path: GTM Folder's API relative path. Example:
  9562  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/f
  9563  //     olders/{folder_id}.
  9564  func (r *AccountsContainersWorkspacesFoldersService) MoveEntitiesToFolder(path string, folder *Folder) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
  9565  	c := &AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9566  	c.path = path
  9567  	c.folder = folder
  9568  	return c
  9569  }
  9570  
  9571  // TagId sets the optional parameter "tagId": The tags to be moved to the
  9572  // folder.
  9573  func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) TagId(tagId ...string) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
  9574  	c.urlParams_.SetMulti("tagId", append([]string{}, tagId...))
  9575  	return c
  9576  }
  9577  
  9578  // TriggerId sets the optional parameter "triggerId": The triggers to be moved
  9579  // to the folder.
  9580  func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) TriggerId(triggerId ...string) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
  9581  	c.urlParams_.SetMulti("triggerId", append([]string{}, triggerId...))
  9582  	return c
  9583  }
  9584  
  9585  // VariableId sets the optional parameter "variableId": The variables to be
  9586  // moved to the folder.
  9587  func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) VariableId(variableId ...string) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
  9588  	c.urlParams_.SetMulti("variableId", append([]string{}, variableId...))
  9589  	return c
  9590  }
  9591  
  9592  // Fields allows partial responses to be retrieved. See
  9593  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9594  // details.
  9595  func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
  9596  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9597  	return c
  9598  }
  9599  
  9600  // Context sets the context to be used in this call's Do method.
  9601  func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall {
  9602  	c.ctx_ = ctx
  9603  	return c
  9604  }
  9605  
  9606  // Header returns a http.Header that can be modified by the caller to add
  9607  // headers to the request.
  9608  func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) Header() http.Header {
  9609  	if c.header_ == nil {
  9610  		c.header_ = make(http.Header)
  9611  	}
  9612  	return c.header_
  9613  }
  9614  
  9615  func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) doRequest(alt string) (*http.Response, error) {
  9616  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9617  	var body io.Reader = nil
  9618  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.folder)
  9619  	if err != nil {
  9620  		return nil, err
  9621  	}
  9622  	c.urlParams_.Set("alt", alt)
  9623  	c.urlParams_.Set("prettyPrint", "false")
  9624  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:move_entities_to_folder")
  9625  	urls += "?" + c.urlParams_.Encode()
  9626  	req, err := http.NewRequest("POST", urls, body)
  9627  	if err != nil {
  9628  		return nil, err
  9629  	}
  9630  	req.Header = reqHeaders
  9631  	googleapi.Expand(req.URL, map[string]string{
  9632  		"path": c.path,
  9633  	})
  9634  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9635  }
  9636  
  9637  // Do executes the "tagmanager.accounts.containers.workspaces.folders.move_entities_to_folder" call.
  9638  func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) Do(opts ...googleapi.CallOption) error {
  9639  	gensupport.SetOptions(c.urlParams_, opts...)
  9640  	res, err := c.doRequest("json")
  9641  	if err != nil {
  9642  		return err
  9643  	}
  9644  	defer googleapi.CloseBody(res)
  9645  	if err := googleapi.CheckResponse(res); err != nil {
  9646  		return gensupport.WrapError(err)
  9647  	}
  9648  	return nil
  9649  }
  9650  
  9651  type AccountsContainersWorkspacesFoldersRevertCall struct {
  9652  	s          *Service
  9653  	path       string
  9654  	urlParams_ gensupport.URLParams
  9655  	ctx_       context.Context
  9656  	header_    http.Header
  9657  }
  9658  
  9659  // Revert: Reverts changes to a GTM Folder in a GTM Workspace.
  9660  //
  9661  //   - path: GTM Folder's API relative path. Example:
  9662  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/f
  9663  //     olders/{folder_id}.
  9664  func (r *AccountsContainersWorkspacesFoldersService) Revert(path string) *AccountsContainersWorkspacesFoldersRevertCall {
  9665  	c := &AccountsContainersWorkspacesFoldersRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9666  	c.path = path
  9667  	return c
  9668  }
  9669  
  9670  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  9671  // fingerprint must match the fingerprint of the tag in storage.
  9672  func (c *AccountsContainersWorkspacesFoldersRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesFoldersRevertCall {
  9673  	c.urlParams_.Set("fingerprint", fingerprint)
  9674  	return c
  9675  }
  9676  
  9677  // Fields allows partial responses to be retrieved. See
  9678  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9679  // details.
  9680  func (c *AccountsContainersWorkspacesFoldersRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersRevertCall {
  9681  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9682  	return c
  9683  }
  9684  
  9685  // Context sets the context to be used in this call's Do method.
  9686  func (c *AccountsContainersWorkspacesFoldersRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersRevertCall {
  9687  	c.ctx_ = ctx
  9688  	return c
  9689  }
  9690  
  9691  // Header returns a http.Header that can be modified by the caller to add
  9692  // headers to the request.
  9693  func (c *AccountsContainersWorkspacesFoldersRevertCall) Header() http.Header {
  9694  	if c.header_ == nil {
  9695  		c.header_ = make(http.Header)
  9696  	}
  9697  	return c.header_
  9698  }
  9699  
  9700  func (c *AccountsContainersWorkspacesFoldersRevertCall) doRequest(alt string) (*http.Response, error) {
  9701  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9702  	var body io.Reader = nil
  9703  	c.urlParams_.Set("alt", alt)
  9704  	c.urlParams_.Set("prettyPrint", "false")
  9705  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
  9706  	urls += "?" + c.urlParams_.Encode()
  9707  	req, err := http.NewRequest("POST", urls, body)
  9708  	if err != nil {
  9709  		return nil, err
  9710  	}
  9711  	req.Header = reqHeaders
  9712  	googleapi.Expand(req.URL, map[string]string{
  9713  		"path": c.path,
  9714  	})
  9715  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9716  }
  9717  
  9718  // Do executes the "tagmanager.accounts.containers.workspaces.folders.revert" call.
  9719  // Any non-2xx status code is an error. Response headers are in either
  9720  // *RevertFolderResponse.ServerResponse.Header or (if a response was returned
  9721  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9722  // check whether the returned error was because http.StatusNotModified was
  9723  // returned.
  9724  func (c *AccountsContainersWorkspacesFoldersRevertCall) Do(opts ...googleapi.CallOption) (*RevertFolderResponse, error) {
  9725  	gensupport.SetOptions(c.urlParams_, opts...)
  9726  	res, err := c.doRequest("json")
  9727  	if res != nil && res.StatusCode == http.StatusNotModified {
  9728  		if res.Body != nil {
  9729  			res.Body.Close()
  9730  		}
  9731  		return nil, gensupport.WrapError(&googleapi.Error{
  9732  			Code:   res.StatusCode,
  9733  			Header: res.Header,
  9734  		})
  9735  	}
  9736  	if err != nil {
  9737  		return nil, err
  9738  	}
  9739  	defer googleapi.CloseBody(res)
  9740  	if err := googleapi.CheckResponse(res); err != nil {
  9741  		return nil, gensupport.WrapError(err)
  9742  	}
  9743  	ret := &RevertFolderResponse{
  9744  		ServerResponse: googleapi.ServerResponse{
  9745  			Header:         res.Header,
  9746  			HTTPStatusCode: res.StatusCode,
  9747  		},
  9748  	}
  9749  	target := &ret
  9750  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9751  		return nil, err
  9752  	}
  9753  	return ret, nil
  9754  }
  9755  
  9756  type AccountsContainersWorkspacesFoldersUpdateCall struct {
  9757  	s          *Service
  9758  	path       string
  9759  	folder     *Folder
  9760  	urlParams_ gensupport.URLParams
  9761  	ctx_       context.Context
  9762  	header_    http.Header
  9763  }
  9764  
  9765  // Update: Updates a GTM Folder.
  9766  //
  9767  //   - path: GTM Folder's API relative path. Example:
  9768  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/f
  9769  //     olders/{folder_id}.
  9770  func (r *AccountsContainersWorkspacesFoldersService) Update(path string, folder *Folder) *AccountsContainersWorkspacesFoldersUpdateCall {
  9771  	c := &AccountsContainersWorkspacesFoldersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9772  	c.path = path
  9773  	c.folder = folder
  9774  	return c
  9775  }
  9776  
  9777  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  9778  // fingerprint must match the fingerprint of the folder in storage.
  9779  func (c *AccountsContainersWorkspacesFoldersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesFoldersUpdateCall {
  9780  	c.urlParams_.Set("fingerprint", fingerprint)
  9781  	return c
  9782  }
  9783  
  9784  // Fields allows partial responses to be retrieved. See
  9785  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9786  // details.
  9787  func (c *AccountsContainersWorkspacesFoldersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesFoldersUpdateCall {
  9788  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9789  	return c
  9790  }
  9791  
  9792  // Context sets the context to be used in this call's Do method.
  9793  func (c *AccountsContainersWorkspacesFoldersUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesFoldersUpdateCall {
  9794  	c.ctx_ = ctx
  9795  	return c
  9796  }
  9797  
  9798  // Header returns a http.Header that can be modified by the caller to add
  9799  // headers to the request.
  9800  func (c *AccountsContainersWorkspacesFoldersUpdateCall) Header() http.Header {
  9801  	if c.header_ == nil {
  9802  		c.header_ = make(http.Header)
  9803  	}
  9804  	return c.header_
  9805  }
  9806  
  9807  func (c *AccountsContainersWorkspacesFoldersUpdateCall) doRequest(alt string) (*http.Response, error) {
  9808  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9809  	var body io.Reader = nil
  9810  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.folder)
  9811  	if err != nil {
  9812  		return nil, err
  9813  	}
  9814  	c.urlParams_.Set("alt", alt)
  9815  	c.urlParams_.Set("prettyPrint", "false")
  9816  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
  9817  	urls += "?" + c.urlParams_.Encode()
  9818  	req, err := http.NewRequest("PUT", urls, body)
  9819  	if err != nil {
  9820  		return nil, err
  9821  	}
  9822  	req.Header = reqHeaders
  9823  	googleapi.Expand(req.URL, map[string]string{
  9824  		"path": c.path,
  9825  	})
  9826  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9827  }
  9828  
  9829  // Do executes the "tagmanager.accounts.containers.workspaces.folders.update" call.
  9830  // Any non-2xx status code is an error. Response headers are in either
  9831  // *Folder.ServerResponse.Header or (if a response was returned at all) in
  9832  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9833  // whether the returned error was because http.StatusNotModified was returned.
  9834  func (c *AccountsContainersWorkspacesFoldersUpdateCall) Do(opts ...googleapi.CallOption) (*Folder, error) {
  9835  	gensupport.SetOptions(c.urlParams_, opts...)
  9836  	res, err := c.doRequest("json")
  9837  	if res != nil && res.StatusCode == http.StatusNotModified {
  9838  		if res.Body != nil {
  9839  			res.Body.Close()
  9840  		}
  9841  		return nil, gensupport.WrapError(&googleapi.Error{
  9842  			Code:   res.StatusCode,
  9843  			Header: res.Header,
  9844  		})
  9845  	}
  9846  	if err != nil {
  9847  		return nil, err
  9848  	}
  9849  	defer googleapi.CloseBody(res)
  9850  	if err := googleapi.CheckResponse(res); err != nil {
  9851  		return nil, gensupport.WrapError(err)
  9852  	}
  9853  	ret := &Folder{
  9854  		ServerResponse: googleapi.ServerResponse{
  9855  			Header:         res.Header,
  9856  			HTTPStatusCode: res.StatusCode,
  9857  		},
  9858  	}
  9859  	target := &ret
  9860  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9861  		return nil, err
  9862  	}
  9863  	return ret, nil
  9864  }
  9865  
  9866  type AccountsContainersWorkspacesGtagConfigCreateCall struct {
  9867  	s          *Service
  9868  	parent     string
  9869  	gtagconfig *GtagConfig
  9870  	urlParams_ gensupport.URLParams
  9871  	ctx_       context.Context
  9872  	header_    http.Header
  9873  }
  9874  
  9875  // Create: Creates a Google tag config.
  9876  //
  9877  //   - parent: Workspace's API relative path. Example:
  9878  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
  9879  func (r *AccountsContainersWorkspacesGtagConfigService) Create(parent string, gtagconfig *GtagConfig) *AccountsContainersWorkspacesGtagConfigCreateCall {
  9880  	c := &AccountsContainersWorkspacesGtagConfigCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9881  	c.parent = parent
  9882  	c.gtagconfig = gtagconfig
  9883  	return c
  9884  }
  9885  
  9886  // Fields allows partial responses to be retrieved. See
  9887  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9888  // details.
  9889  func (c *AccountsContainersWorkspacesGtagConfigCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesGtagConfigCreateCall {
  9890  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9891  	return c
  9892  }
  9893  
  9894  // Context sets the context to be used in this call's Do method.
  9895  func (c *AccountsContainersWorkspacesGtagConfigCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesGtagConfigCreateCall {
  9896  	c.ctx_ = ctx
  9897  	return c
  9898  }
  9899  
  9900  // Header returns a http.Header that can be modified by the caller to add
  9901  // headers to the request.
  9902  func (c *AccountsContainersWorkspacesGtagConfigCreateCall) Header() http.Header {
  9903  	if c.header_ == nil {
  9904  		c.header_ = make(http.Header)
  9905  	}
  9906  	return c.header_
  9907  }
  9908  
  9909  func (c *AccountsContainersWorkspacesGtagConfigCreateCall) doRequest(alt string) (*http.Response, error) {
  9910  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9911  	var body io.Reader = nil
  9912  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.gtagconfig)
  9913  	if err != nil {
  9914  		return nil, err
  9915  	}
  9916  	c.urlParams_.Set("alt", alt)
  9917  	c.urlParams_.Set("prettyPrint", "false")
  9918  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/gtag_config")
  9919  	urls += "?" + c.urlParams_.Encode()
  9920  	req, err := http.NewRequest("POST", urls, body)
  9921  	if err != nil {
  9922  		return nil, err
  9923  	}
  9924  	req.Header = reqHeaders
  9925  	googleapi.Expand(req.URL, map[string]string{
  9926  		"parent": c.parent,
  9927  	})
  9928  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9929  }
  9930  
  9931  // Do executes the "tagmanager.accounts.containers.workspaces.gtag_config.create" call.
  9932  // Any non-2xx status code is an error. Response headers are in either
  9933  // *GtagConfig.ServerResponse.Header or (if a response was returned at all) in
  9934  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9935  // whether the returned error was because http.StatusNotModified was returned.
  9936  func (c *AccountsContainersWorkspacesGtagConfigCreateCall) Do(opts ...googleapi.CallOption) (*GtagConfig, error) {
  9937  	gensupport.SetOptions(c.urlParams_, opts...)
  9938  	res, err := c.doRequest("json")
  9939  	if res != nil && res.StatusCode == http.StatusNotModified {
  9940  		if res.Body != nil {
  9941  			res.Body.Close()
  9942  		}
  9943  		return nil, gensupport.WrapError(&googleapi.Error{
  9944  			Code:   res.StatusCode,
  9945  			Header: res.Header,
  9946  		})
  9947  	}
  9948  	if err != nil {
  9949  		return nil, err
  9950  	}
  9951  	defer googleapi.CloseBody(res)
  9952  	if err := googleapi.CheckResponse(res); err != nil {
  9953  		return nil, gensupport.WrapError(err)
  9954  	}
  9955  	ret := &GtagConfig{
  9956  		ServerResponse: googleapi.ServerResponse{
  9957  			Header:         res.Header,
  9958  			HTTPStatusCode: res.StatusCode,
  9959  		},
  9960  	}
  9961  	target := &ret
  9962  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9963  		return nil, err
  9964  	}
  9965  	return ret, nil
  9966  }
  9967  
  9968  type AccountsContainersWorkspacesGtagConfigDeleteCall struct {
  9969  	s          *Service
  9970  	path       string
  9971  	urlParams_ gensupport.URLParams
  9972  	ctx_       context.Context
  9973  	header_    http.Header
  9974  }
  9975  
  9976  // Delete: Deletes a Google tag config.
  9977  //
  9978  //   - path: Google tag config's API relative path. Example:
  9979  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/g
  9980  //     tag_config/{gtag_config_id}.
  9981  func (r *AccountsContainersWorkspacesGtagConfigService) Delete(path string) *AccountsContainersWorkspacesGtagConfigDeleteCall {
  9982  	c := &AccountsContainersWorkspacesGtagConfigDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9983  	c.path = path
  9984  	return c
  9985  }
  9986  
  9987  // Fields allows partial responses to be retrieved. See
  9988  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9989  // details.
  9990  func (c *AccountsContainersWorkspacesGtagConfigDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesGtagConfigDeleteCall {
  9991  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9992  	return c
  9993  }
  9994  
  9995  // Context sets the context to be used in this call's Do method.
  9996  func (c *AccountsContainersWorkspacesGtagConfigDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesGtagConfigDeleteCall {
  9997  	c.ctx_ = ctx
  9998  	return c
  9999  }
 10000  
 10001  // Header returns a http.Header that can be modified by the caller to add
 10002  // headers to the request.
 10003  func (c *AccountsContainersWorkspacesGtagConfigDeleteCall) Header() http.Header {
 10004  	if c.header_ == nil {
 10005  		c.header_ = make(http.Header)
 10006  	}
 10007  	return c.header_
 10008  }
 10009  
 10010  func (c *AccountsContainersWorkspacesGtagConfigDeleteCall) doRequest(alt string) (*http.Response, error) {
 10011  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10012  	var body io.Reader = nil
 10013  	c.urlParams_.Set("alt", alt)
 10014  	c.urlParams_.Set("prettyPrint", "false")
 10015  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 10016  	urls += "?" + c.urlParams_.Encode()
 10017  	req, err := http.NewRequest("DELETE", urls, body)
 10018  	if err != nil {
 10019  		return nil, err
 10020  	}
 10021  	req.Header = reqHeaders
 10022  	googleapi.Expand(req.URL, map[string]string{
 10023  		"path": c.path,
 10024  	})
 10025  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10026  }
 10027  
 10028  // Do executes the "tagmanager.accounts.containers.workspaces.gtag_config.delete" call.
 10029  func (c *AccountsContainersWorkspacesGtagConfigDeleteCall) Do(opts ...googleapi.CallOption) error {
 10030  	gensupport.SetOptions(c.urlParams_, opts...)
 10031  	res, err := c.doRequest("json")
 10032  	if err != nil {
 10033  		return err
 10034  	}
 10035  	defer googleapi.CloseBody(res)
 10036  	if err := googleapi.CheckResponse(res); err != nil {
 10037  		return gensupport.WrapError(err)
 10038  	}
 10039  	return nil
 10040  }
 10041  
 10042  type AccountsContainersWorkspacesGtagConfigGetCall struct {
 10043  	s            *Service
 10044  	path         string
 10045  	urlParams_   gensupport.URLParams
 10046  	ifNoneMatch_ string
 10047  	ctx_         context.Context
 10048  	header_      http.Header
 10049  }
 10050  
 10051  // Get: Gets a Google tag config.
 10052  //
 10053  //   - path: Google tag config's API relative path. Example:
 10054  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/g
 10055  //     tag_config/{gtag_config_id}.
 10056  func (r *AccountsContainersWorkspacesGtagConfigService) Get(path string) *AccountsContainersWorkspacesGtagConfigGetCall {
 10057  	c := &AccountsContainersWorkspacesGtagConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10058  	c.path = path
 10059  	return c
 10060  }
 10061  
 10062  // Fields allows partial responses to be retrieved. See
 10063  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10064  // details.
 10065  func (c *AccountsContainersWorkspacesGtagConfigGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesGtagConfigGetCall {
 10066  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10067  	return c
 10068  }
 10069  
 10070  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10071  // object's ETag matches the given value. This is useful for getting updates
 10072  // only after the object has changed since the last request.
 10073  func (c *AccountsContainersWorkspacesGtagConfigGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesGtagConfigGetCall {
 10074  	c.ifNoneMatch_ = entityTag
 10075  	return c
 10076  }
 10077  
 10078  // Context sets the context to be used in this call's Do method.
 10079  func (c *AccountsContainersWorkspacesGtagConfigGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesGtagConfigGetCall {
 10080  	c.ctx_ = ctx
 10081  	return c
 10082  }
 10083  
 10084  // Header returns a http.Header that can be modified by the caller to add
 10085  // headers to the request.
 10086  func (c *AccountsContainersWorkspacesGtagConfigGetCall) Header() http.Header {
 10087  	if c.header_ == nil {
 10088  		c.header_ = make(http.Header)
 10089  	}
 10090  	return c.header_
 10091  }
 10092  
 10093  func (c *AccountsContainersWorkspacesGtagConfigGetCall) doRequest(alt string) (*http.Response, error) {
 10094  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10095  	if c.ifNoneMatch_ != "" {
 10096  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10097  	}
 10098  	var body io.Reader = nil
 10099  	c.urlParams_.Set("alt", alt)
 10100  	c.urlParams_.Set("prettyPrint", "false")
 10101  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 10102  	urls += "?" + c.urlParams_.Encode()
 10103  	req, err := http.NewRequest("GET", urls, body)
 10104  	if err != nil {
 10105  		return nil, err
 10106  	}
 10107  	req.Header = reqHeaders
 10108  	googleapi.Expand(req.URL, map[string]string{
 10109  		"path": c.path,
 10110  	})
 10111  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10112  }
 10113  
 10114  // Do executes the "tagmanager.accounts.containers.workspaces.gtag_config.get" call.
 10115  // Any non-2xx status code is an error. Response headers are in either
 10116  // *GtagConfig.ServerResponse.Header or (if a response was returned at all) in
 10117  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10118  // whether the returned error was because http.StatusNotModified was returned.
 10119  func (c *AccountsContainersWorkspacesGtagConfigGetCall) Do(opts ...googleapi.CallOption) (*GtagConfig, error) {
 10120  	gensupport.SetOptions(c.urlParams_, opts...)
 10121  	res, err := c.doRequest("json")
 10122  	if res != nil && res.StatusCode == http.StatusNotModified {
 10123  		if res.Body != nil {
 10124  			res.Body.Close()
 10125  		}
 10126  		return nil, gensupport.WrapError(&googleapi.Error{
 10127  			Code:   res.StatusCode,
 10128  			Header: res.Header,
 10129  		})
 10130  	}
 10131  	if err != nil {
 10132  		return nil, err
 10133  	}
 10134  	defer googleapi.CloseBody(res)
 10135  	if err := googleapi.CheckResponse(res); err != nil {
 10136  		return nil, gensupport.WrapError(err)
 10137  	}
 10138  	ret := &GtagConfig{
 10139  		ServerResponse: googleapi.ServerResponse{
 10140  			Header:         res.Header,
 10141  			HTTPStatusCode: res.StatusCode,
 10142  		},
 10143  	}
 10144  	target := &ret
 10145  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10146  		return nil, err
 10147  	}
 10148  	return ret, nil
 10149  }
 10150  
 10151  type AccountsContainersWorkspacesGtagConfigListCall struct {
 10152  	s            *Service
 10153  	parent       string
 10154  	urlParams_   gensupport.URLParams
 10155  	ifNoneMatch_ string
 10156  	ctx_         context.Context
 10157  	header_      http.Header
 10158  }
 10159  
 10160  // List: Lists all Google tag configs in a Container.
 10161  //
 10162  //   - parent: Workspace's API relative path. Example:
 10163  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 10164  func (r *AccountsContainersWorkspacesGtagConfigService) List(parent string) *AccountsContainersWorkspacesGtagConfigListCall {
 10165  	c := &AccountsContainersWorkspacesGtagConfigListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10166  	c.parent = parent
 10167  	return c
 10168  }
 10169  
 10170  // PageToken sets the optional parameter "pageToken": Continuation token for
 10171  // fetching the next page of results.
 10172  func (c *AccountsContainersWorkspacesGtagConfigListCall) PageToken(pageToken string) *AccountsContainersWorkspacesGtagConfigListCall {
 10173  	c.urlParams_.Set("pageToken", pageToken)
 10174  	return c
 10175  }
 10176  
 10177  // Fields allows partial responses to be retrieved. See
 10178  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10179  // details.
 10180  func (c *AccountsContainersWorkspacesGtagConfigListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesGtagConfigListCall {
 10181  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10182  	return c
 10183  }
 10184  
 10185  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10186  // object's ETag matches the given value. This is useful for getting updates
 10187  // only after the object has changed since the last request.
 10188  func (c *AccountsContainersWorkspacesGtagConfigListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesGtagConfigListCall {
 10189  	c.ifNoneMatch_ = entityTag
 10190  	return c
 10191  }
 10192  
 10193  // Context sets the context to be used in this call's Do method.
 10194  func (c *AccountsContainersWorkspacesGtagConfigListCall) Context(ctx context.Context) *AccountsContainersWorkspacesGtagConfigListCall {
 10195  	c.ctx_ = ctx
 10196  	return c
 10197  }
 10198  
 10199  // Header returns a http.Header that can be modified by the caller to add
 10200  // headers to the request.
 10201  func (c *AccountsContainersWorkspacesGtagConfigListCall) Header() http.Header {
 10202  	if c.header_ == nil {
 10203  		c.header_ = make(http.Header)
 10204  	}
 10205  	return c.header_
 10206  }
 10207  
 10208  func (c *AccountsContainersWorkspacesGtagConfigListCall) doRequest(alt string) (*http.Response, error) {
 10209  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10210  	if c.ifNoneMatch_ != "" {
 10211  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10212  	}
 10213  	var body io.Reader = nil
 10214  	c.urlParams_.Set("alt", alt)
 10215  	c.urlParams_.Set("prettyPrint", "false")
 10216  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/gtag_config")
 10217  	urls += "?" + c.urlParams_.Encode()
 10218  	req, err := http.NewRequest("GET", urls, body)
 10219  	if err != nil {
 10220  		return nil, err
 10221  	}
 10222  	req.Header = reqHeaders
 10223  	googleapi.Expand(req.URL, map[string]string{
 10224  		"parent": c.parent,
 10225  	})
 10226  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10227  }
 10228  
 10229  // Do executes the "tagmanager.accounts.containers.workspaces.gtag_config.list" call.
 10230  // Any non-2xx status code is an error. Response headers are in either
 10231  // *ListGtagConfigResponse.ServerResponse.Header or (if a response was returned
 10232  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10233  // check whether the returned error was because http.StatusNotModified was
 10234  // returned.
 10235  func (c *AccountsContainersWorkspacesGtagConfigListCall) Do(opts ...googleapi.CallOption) (*ListGtagConfigResponse, error) {
 10236  	gensupport.SetOptions(c.urlParams_, opts...)
 10237  	res, err := c.doRequest("json")
 10238  	if res != nil && res.StatusCode == http.StatusNotModified {
 10239  		if res.Body != nil {
 10240  			res.Body.Close()
 10241  		}
 10242  		return nil, gensupport.WrapError(&googleapi.Error{
 10243  			Code:   res.StatusCode,
 10244  			Header: res.Header,
 10245  		})
 10246  	}
 10247  	if err != nil {
 10248  		return nil, err
 10249  	}
 10250  	defer googleapi.CloseBody(res)
 10251  	if err := googleapi.CheckResponse(res); err != nil {
 10252  		return nil, gensupport.WrapError(err)
 10253  	}
 10254  	ret := &ListGtagConfigResponse{
 10255  		ServerResponse: googleapi.ServerResponse{
 10256  			Header:         res.Header,
 10257  			HTTPStatusCode: res.StatusCode,
 10258  		},
 10259  	}
 10260  	target := &ret
 10261  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10262  		return nil, err
 10263  	}
 10264  	return ret, nil
 10265  }
 10266  
 10267  // Pages invokes f for each page of results.
 10268  // A non-nil error returned from f will halt the iteration.
 10269  // The provided context supersedes any context provided to the Context method.
 10270  func (c *AccountsContainersWorkspacesGtagConfigListCall) Pages(ctx context.Context, f func(*ListGtagConfigResponse) error) error {
 10271  	c.ctx_ = ctx
 10272  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10273  	for {
 10274  		x, err := c.Do()
 10275  		if err != nil {
 10276  			return err
 10277  		}
 10278  		if err := f(x); err != nil {
 10279  			return err
 10280  		}
 10281  		if x.NextPageToken == "" {
 10282  			return nil
 10283  		}
 10284  		c.PageToken(x.NextPageToken)
 10285  	}
 10286  }
 10287  
 10288  type AccountsContainersWorkspacesGtagConfigUpdateCall struct {
 10289  	s          *Service
 10290  	path       string
 10291  	gtagconfig *GtagConfig
 10292  	urlParams_ gensupport.URLParams
 10293  	ctx_       context.Context
 10294  	header_    http.Header
 10295  }
 10296  
 10297  // Update: Updates a Google tag config.
 10298  //
 10299  //   - path: Google tag config's API relative path. Example:
 10300  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/g
 10301  //     tag_config/{gtag_config_id}.
 10302  func (r *AccountsContainersWorkspacesGtagConfigService) Update(path string, gtagconfig *GtagConfig) *AccountsContainersWorkspacesGtagConfigUpdateCall {
 10303  	c := &AccountsContainersWorkspacesGtagConfigUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10304  	c.path = path
 10305  	c.gtagconfig = gtagconfig
 10306  	return c
 10307  }
 10308  
 10309  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 10310  // fingerprint must match the fingerprint of the config in storage.
 10311  func (c *AccountsContainersWorkspacesGtagConfigUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesGtagConfigUpdateCall {
 10312  	c.urlParams_.Set("fingerprint", fingerprint)
 10313  	return c
 10314  }
 10315  
 10316  // Fields allows partial responses to be retrieved. See
 10317  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10318  // details.
 10319  func (c *AccountsContainersWorkspacesGtagConfigUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesGtagConfigUpdateCall {
 10320  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10321  	return c
 10322  }
 10323  
 10324  // Context sets the context to be used in this call's Do method.
 10325  func (c *AccountsContainersWorkspacesGtagConfigUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesGtagConfigUpdateCall {
 10326  	c.ctx_ = ctx
 10327  	return c
 10328  }
 10329  
 10330  // Header returns a http.Header that can be modified by the caller to add
 10331  // headers to the request.
 10332  func (c *AccountsContainersWorkspacesGtagConfigUpdateCall) Header() http.Header {
 10333  	if c.header_ == nil {
 10334  		c.header_ = make(http.Header)
 10335  	}
 10336  	return c.header_
 10337  }
 10338  
 10339  func (c *AccountsContainersWorkspacesGtagConfigUpdateCall) doRequest(alt string) (*http.Response, error) {
 10340  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10341  	var body io.Reader = nil
 10342  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.gtagconfig)
 10343  	if err != nil {
 10344  		return nil, err
 10345  	}
 10346  	c.urlParams_.Set("alt", alt)
 10347  	c.urlParams_.Set("prettyPrint", "false")
 10348  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 10349  	urls += "?" + c.urlParams_.Encode()
 10350  	req, err := http.NewRequest("PUT", urls, body)
 10351  	if err != nil {
 10352  		return nil, err
 10353  	}
 10354  	req.Header = reqHeaders
 10355  	googleapi.Expand(req.URL, map[string]string{
 10356  		"path": c.path,
 10357  	})
 10358  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10359  }
 10360  
 10361  // Do executes the "tagmanager.accounts.containers.workspaces.gtag_config.update" call.
 10362  // Any non-2xx status code is an error. Response headers are in either
 10363  // *GtagConfig.ServerResponse.Header or (if a response was returned at all) in
 10364  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10365  // whether the returned error was because http.StatusNotModified was returned.
 10366  func (c *AccountsContainersWorkspacesGtagConfigUpdateCall) Do(opts ...googleapi.CallOption) (*GtagConfig, error) {
 10367  	gensupport.SetOptions(c.urlParams_, opts...)
 10368  	res, err := c.doRequest("json")
 10369  	if res != nil && res.StatusCode == http.StatusNotModified {
 10370  		if res.Body != nil {
 10371  			res.Body.Close()
 10372  		}
 10373  		return nil, gensupport.WrapError(&googleapi.Error{
 10374  			Code:   res.StatusCode,
 10375  			Header: res.Header,
 10376  		})
 10377  	}
 10378  	if err != nil {
 10379  		return nil, err
 10380  	}
 10381  	defer googleapi.CloseBody(res)
 10382  	if err := googleapi.CheckResponse(res); err != nil {
 10383  		return nil, gensupport.WrapError(err)
 10384  	}
 10385  	ret := &GtagConfig{
 10386  		ServerResponse: googleapi.ServerResponse{
 10387  			Header:         res.Header,
 10388  			HTTPStatusCode: res.StatusCode,
 10389  		},
 10390  	}
 10391  	target := &ret
 10392  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10393  		return nil, err
 10394  	}
 10395  	return ret, nil
 10396  }
 10397  
 10398  type AccountsContainersWorkspacesTagsCreateCall struct {
 10399  	s          *Service
 10400  	parent     string
 10401  	tag        *Tag
 10402  	urlParams_ gensupport.URLParams
 10403  	ctx_       context.Context
 10404  	header_    http.Header
 10405  }
 10406  
 10407  // Create: Creates a GTM Tag.
 10408  //
 10409  //   - parent: GTM Workspace's API relative path. Example:
 10410  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 10411  func (r *AccountsContainersWorkspacesTagsService) Create(parent string, tag *Tag) *AccountsContainersWorkspacesTagsCreateCall {
 10412  	c := &AccountsContainersWorkspacesTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10413  	c.parent = parent
 10414  	c.tag = tag
 10415  	return c
 10416  }
 10417  
 10418  // Fields allows partial responses to be retrieved. See
 10419  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10420  // details.
 10421  func (c *AccountsContainersWorkspacesTagsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsCreateCall {
 10422  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10423  	return c
 10424  }
 10425  
 10426  // Context sets the context to be used in this call's Do method.
 10427  func (c *AccountsContainersWorkspacesTagsCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsCreateCall {
 10428  	c.ctx_ = ctx
 10429  	return c
 10430  }
 10431  
 10432  // Header returns a http.Header that can be modified by the caller to add
 10433  // headers to the request.
 10434  func (c *AccountsContainersWorkspacesTagsCreateCall) Header() http.Header {
 10435  	if c.header_ == nil {
 10436  		c.header_ = make(http.Header)
 10437  	}
 10438  	return c.header_
 10439  }
 10440  
 10441  func (c *AccountsContainersWorkspacesTagsCreateCall) doRequest(alt string) (*http.Response, error) {
 10442  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10443  	var body io.Reader = nil
 10444  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.tag)
 10445  	if err != nil {
 10446  		return nil, err
 10447  	}
 10448  	c.urlParams_.Set("alt", alt)
 10449  	c.urlParams_.Set("prettyPrint", "false")
 10450  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/tags")
 10451  	urls += "?" + c.urlParams_.Encode()
 10452  	req, err := http.NewRequest("POST", urls, body)
 10453  	if err != nil {
 10454  		return nil, err
 10455  	}
 10456  	req.Header = reqHeaders
 10457  	googleapi.Expand(req.URL, map[string]string{
 10458  		"parent": c.parent,
 10459  	})
 10460  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10461  }
 10462  
 10463  // Do executes the "tagmanager.accounts.containers.workspaces.tags.create" call.
 10464  // Any non-2xx status code is an error. Response headers are in either
 10465  // *Tag.ServerResponse.Header or (if a response was returned at all) in
 10466  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10467  // whether the returned error was because http.StatusNotModified was returned.
 10468  func (c *AccountsContainersWorkspacesTagsCreateCall) Do(opts ...googleapi.CallOption) (*Tag, error) {
 10469  	gensupport.SetOptions(c.urlParams_, opts...)
 10470  	res, err := c.doRequest("json")
 10471  	if res != nil && res.StatusCode == http.StatusNotModified {
 10472  		if res.Body != nil {
 10473  			res.Body.Close()
 10474  		}
 10475  		return nil, gensupport.WrapError(&googleapi.Error{
 10476  			Code:   res.StatusCode,
 10477  			Header: res.Header,
 10478  		})
 10479  	}
 10480  	if err != nil {
 10481  		return nil, err
 10482  	}
 10483  	defer googleapi.CloseBody(res)
 10484  	if err := googleapi.CheckResponse(res); err != nil {
 10485  		return nil, gensupport.WrapError(err)
 10486  	}
 10487  	ret := &Tag{
 10488  		ServerResponse: googleapi.ServerResponse{
 10489  			Header:         res.Header,
 10490  			HTTPStatusCode: res.StatusCode,
 10491  		},
 10492  	}
 10493  	target := &ret
 10494  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10495  		return nil, err
 10496  	}
 10497  	return ret, nil
 10498  }
 10499  
 10500  type AccountsContainersWorkspacesTagsDeleteCall struct {
 10501  	s          *Service
 10502  	path       string
 10503  	urlParams_ gensupport.URLParams
 10504  	ctx_       context.Context
 10505  	header_    http.Header
 10506  }
 10507  
 10508  // Delete: Deletes a GTM Tag.
 10509  //
 10510  //   - path: GTM Tag's API relative path. Example:
 10511  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 10512  //     ags/{tag_id}.
 10513  func (r *AccountsContainersWorkspacesTagsService) Delete(path string) *AccountsContainersWorkspacesTagsDeleteCall {
 10514  	c := &AccountsContainersWorkspacesTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10515  	c.path = path
 10516  	return c
 10517  }
 10518  
 10519  // Fields allows partial responses to be retrieved. See
 10520  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10521  // details.
 10522  func (c *AccountsContainersWorkspacesTagsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsDeleteCall {
 10523  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10524  	return c
 10525  }
 10526  
 10527  // Context sets the context to be used in this call's Do method.
 10528  func (c *AccountsContainersWorkspacesTagsDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsDeleteCall {
 10529  	c.ctx_ = ctx
 10530  	return c
 10531  }
 10532  
 10533  // Header returns a http.Header that can be modified by the caller to add
 10534  // headers to the request.
 10535  func (c *AccountsContainersWorkspacesTagsDeleteCall) Header() http.Header {
 10536  	if c.header_ == nil {
 10537  		c.header_ = make(http.Header)
 10538  	}
 10539  	return c.header_
 10540  }
 10541  
 10542  func (c *AccountsContainersWorkspacesTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 10543  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10544  	var body io.Reader = nil
 10545  	c.urlParams_.Set("alt", alt)
 10546  	c.urlParams_.Set("prettyPrint", "false")
 10547  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 10548  	urls += "?" + c.urlParams_.Encode()
 10549  	req, err := http.NewRequest("DELETE", urls, body)
 10550  	if err != nil {
 10551  		return nil, err
 10552  	}
 10553  	req.Header = reqHeaders
 10554  	googleapi.Expand(req.URL, map[string]string{
 10555  		"path": c.path,
 10556  	})
 10557  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10558  }
 10559  
 10560  // Do executes the "tagmanager.accounts.containers.workspaces.tags.delete" call.
 10561  func (c *AccountsContainersWorkspacesTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
 10562  	gensupport.SetOptions(c.urlParams_, opts...)
 10563  	res, err := c.doRequest("json")
 10564  	if err != nil {
 10565  		return err
 10566  	}
 10567  	defer googleapi.CloseBody(res)
 10568  	if err := googleapi.CheckResponse(res); err != nil {
 10569  		return gensupport.WrapError(err)
 10570  	}
 10571  	return nil
 10572  }
 10573  
 10574  type AccountsContainersWorkspacesTagsGetCall struct {
 10575  	s            *Service
 10576  	path         string
 10577  	urlParams_   gensupport.URLParams
 10578  	ifNoneMatch_ string
 10579  	ctx_         context.Context
 10580  	header_      http.Header
 10581  }
 10582  
 10583  // Get: Gets a GTM Tag.
 10584  //
 10585  //   - path: GTM Tag's API relative path. Example:
 10586  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 10587  //     ags/{tag_id}.
 10588  func (r *AccountsContainersWorkspacesTagsService) Get(path string) *AccountsContainersWorkspacesTagsGetCall {
 10589  	c := &AccountsContainersWorkspacesTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10590  	c.path = path
 10591  	return c
 10592  }
 10593  
 10594  // Fields allows partial responses to be retrieved. See
 10595  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10596  // details.
 10597  func (c *AccountsContainersWorkspacesTagsGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsGetCall {
 10598  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10599  	return c
 10600  }
 10601  
 10602  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10603  // object's ETag matches the given value. This is useful for getting updates
 10604  // only after the object has changed since the last request.
 10605  func (c *AccountsContainersWorkspacesTagsGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTagsGetCall {
 10606  	c.ifNoneMatch_ = entityTag
 10607  	return c
 10608  }
 10609  
 10610  // Context sets the context to be used in this call's Do method.
 10611  func (c *AccountsContainersWorkspacesTagsGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsGetCall {
 10612  	c.ctx_ = ctx
 10613  	return c
 10614  }
 10615  
 10616  // Header returns a http.Header that can be modified by the caller to add
 10617  // headers to the request.
 10618  func (c *AccountsContainersWorkspacesTagsGetCall) Header() http.Header {
 10619  	if c.header_ == nil {
 10620  		c.header_ = make(http.Header)
 10621  	}
 10622  	return c.header_
 10623  }
 10624  
 10625  func (c *AccountsContainersWorkspacesTagsGetCall) doRequest(alt string) (*http.Response, error) {
 10626  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10627  	if c.ifNoneMatch_ != "" {
 10628  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10629  	}
 10630  	var body io.Reader = nil
 10631  	c.urlParams_.Set("alt", alt)
 10632  	c.urlParams_.Set("prettyPrint", "false")
 10633  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 10634  	urls += "?" + c.urlParams_.Encode()
 10635  	req, err := http.NewRequest("GET", urls, body)
 10636  	if err != nil {
 10637  		return nil, err
 10638  	}
 10639  	req.Header = reqHeaders
 10640  	googleapi.Expand(req.URL, map[string]string{
 10641  		"path": c.path,
 10642  	})
 10643  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10644  }
 10645  
 10646  // Do executes the "tagmanager.accounts.containers.workspaces.tags.get" call.
 10647  // Any non-2xx status code is an error. Response headers are in either
 10648  // *Tag.ServerResponse.Header or (if a response was returned at all) in
 10649  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10650  // whether the returned error was because http.StatusNotModified was returned.
 10651  func (c *AccountsContainersWorkspacesTagsGetCall) Do(opts ...googleapi.CallOption) (*Tag, error) {
 10652  	gensupport.SetOptions(c.urlParams_, opts...)
 10653  	res, err := c.doRequest("json")
 10654  	if res != nil && res.StatusCode == http.StatusNotModified {
 10655  		if res.Body != nil {
 10656  			res.Body.Close()
 10657  		}
 10658  		return nil, gensupport.WrapError(&googleapi.Error{
 10659  			Code:   res.StatusCode,
 10660  			Header: res.Header,
 10661  		})
 10662  	}
 10663  	if err != nil {
 10664  		return nil, err
 10665  	}
 10666  	defer googleapi.CloseBody(res)
 10667  	if err := googleapi.CheckResponse(res); err != nil {
 10668  		return nil, gensupport.WrapError(err)
 10669  	}
 10670  	ret := &Tag{
 10671  		ServerResponse: googleapi.ServerResponse{
 10672  			Header:         res.Header,
 10673  			HTTPStatusCode: res.StatusCode,
 10674  		},
 10675  	}
 10676  	target := &ret
 10677  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10678  		return nil, err
 10679  	}
 10680  	return ret, nil
 10681  }
 10682  
 10683  type AccountsContainersWorkspacesTagsListCall struct {
 10684  	s            *Service
 10685  	parent       string
 10686  	urlParams_   gensupport.URLParams
 10687  	ifNoneMatch_ string
 10688  	ctx_         context.Context
 10689  	header_      http.Header
 10690  }
 10691  
 10692  // List: Lists all GTM Tags of a Container.
 10693  //
 10694  //   - parent: GTM Workspace's API relative path. Example:
 10695  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 10696  func (r *AccountsContainersWorkspacesTagsService) List(parent string) *AccountsContainersWorkspacesTagsListCall {
 10697  	c := &AccountsContainersWorkspacesTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10698  	c.parent = parent
 10699  	return c
 10700  }
 10701  
 10702  // PageToken sets the optional parameter "pageToken": Continuation token for
 10703  // fetching the next page of results.
 10704  func (c *AccountsContainersWorkspacesTagsListCall) PageToken(pageToken string) *AccountsContainersWorkspacesTagsListCall {
 10705  	c.urlParams_.Set("pageToken", pageToken)
 10706  	return c
 10707  }
 10708  
 10709  // Fields allows partial responses to be retrieved. See
 10710  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10711  // details.
 10712  func (c *AccountsContainersWorkspacesTagsListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsListCall {
 10713  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10714  	return c
 10715  }
 10716  
 10717  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10718  // object's ETag matches the given value. This is useful for getting updates
 10719  // only after the object has changed since the last request.
 10720  func (c *AccountsContainersWorkspacesTagsListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTagsListCall {
 10721  	c.ifNoneMatch_ = entityTag
 10722  	return c
 10723  }
 10724  
 10725  // Context sets the context to be used in this call's Do method.
 10726  func (c *AccountsContainersWorkspacesTagsListCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsListCall {
 10727  	c.ctx_ = ctx
 10728  	return c
 10729  }
 10730  
 10731  // Header returns a http.Header that can be modified by the caller to add
 10732  // headers to the request.
 10733  func (c *AccountsContainersWorkspacesTagsListCall) Header() http.Header {
 10734  	if c.header_ == nil {
 10735  		c.header_ = make(http.Header)
 10736  	}
 10737  	return c.header_
 10738  }
 10739  
 10740  func (c *AccountsContainersWorkspacesTagsListCall) doRequest(alt string) (*http.Response, error) {
 10741  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10742  	if c.ifNoneMatch_ != "" {
 10743  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10744  	}
 10745  	var body io.Reader = nil
 10746  	c.urlParams_.Set("alt", alt)
 10747  	c.urlParams_.Set("prettyPrint", "false")
 10748  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/tags")
 10749  	urls += "?" + c.urlParams_.Encode()
 10750  	req, err := http.NewRequest("GET", urls, body)
 10751  	if err != nil {
 10752  		return nil, err
 10753  	}
 10754  	req.Header = reqHeaders
 10755  	googleapi.Expand(req.URL, map[string]string{
 10756  		"parent": c.parent,
 10757  	})
 10758  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10759  }
 10760  
 10761  // Do executes the "tagmanager.accounts.containers.workspaces.tags.list" call.
 10762  // Any non-2xx status code is an error. Response headers are in either
 10763  // *ListTagsResponse.ServerResponse.Header or (if a response was returned at
 10764  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10765  // check whether the returned error was because http.StatusNotModified was
 10766  // returned.
 10767  func (c *AccountsContainersWorkspacesTagsListCall) Do(opts ...googleapi.CallOption) (*ListTagsResponse, error) {
 10768  	gensupport.SetOptions(c.urlParams_, opts...)
 10769  	res, err := c.doRequest("json")
 10770  	if res != nil && res.StatusCode == http.StatusNotModified {
 10771  		if res.Body != nil {
 10772  			res.Body.Close()
 10773  		}
 10774  		return nil, gensupport.WrapError(&googleapi.Error{
 10775  			Code:   res.StatusCode,
 10776  			Header: res.Header,
 10777  		})
 10778  	}
 10779  	if err != nil {
 10780  		return nil, err
 10781  	}
 10782  	defer googleapi.CloseBody(res)
 10783  	if err := googleapi.CheckResponse(res); err != nil {
 10784  		return nil, gensupport.WrapError(err)
 10785  	}
 10786  	ret := &ListTagsResponse{
 10787  		ServerResponse: googleapi.ServerResponse{
 10788  			Header:         res.Header,
 10789  			HTTPStatusCode: res.StatusCode,
 10790  		},
 10791  	}
 10792  	target := &ret
 10793  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10794  		return nil, err
 10795  	}
 10796  	return ret, nil
 10797  }
 10798  
 10799  // Pages invokes f for each page of results.
 10800  // A non-nil error returned from f will halt the iteration.
 10801  // The provided context supersedes any context provided to the Context method.
 10802  func (c *AccountsContainersWorkspacesTagsListCall) Pages(ctx context.Context, f func(*ListTagsResponse) error) error {
 10803  	c.ctx_ = ctx
 10804  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10805  	for {
 10806  		x, err := c.Do()
 10807  		if err != nil {
 10808  			return err
 10809  		}
 10810  		if err := f(x); err != nil {
 10811  			return err
 10812  		}
 10813  		if x.NextPageToken == "" {
 10814  			return nil
 10815  		}
 10816  		c.PageToken(x.NextPageToken)
 10817  	}
 10818  }
 10819  
 10820  type AccountsContainersWorkspacesTagsRevertCall struct {
 10821  	s          *Service
 10822  	path       string
 10823  	urlParams_ gensupport.URLParams
 10824  	ctx_       context.Context
 10825  	header_    http.Header
 10826  }
 10827  
 10828  // Revert: Reverts changes to a GTM Tag in a GTM Workspace.
 10829  //
 10830  //   - path: GTM Tag's API relative path. Example:
 10831  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 10832  //     ags/{tag_id}.
 10833  func (r *AccountsContainersWorkspacesTagsService) Revert(path string) *AccountsContainersWorkspacesTagsRevertCall {
 10834  	c := &AccountsContainersWorkspacesTagsRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10835  	c.path = path
 10836  	return c
 10837  }
 10838  
 10839  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 10840  // fingerprint must match the fingerprint of thetag in storage.
 10841  func (c *AccountsContainersWorkspacesTagsRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTagsRevertCall {
 10842  	c.urlParams_.Set("fingerprint", fingerprint)
 10843  	return c
 10844  }
 10845  
 10846  // Fields allows partial responses to be retrieved. See
 10847  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10848  // details.
 10849  func (c *AccountsContainersWorkspacesTagsRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsRevertCall {
 10850  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10851  	return c
 10852  }
 10853  
 10854  // Context sets the context to be used in this call's Do method.
 10855  func (c *AccountsContainersWorkspacesTagsRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsRevertCall {
 10856  	c.ctx_ = ctx
 10857  	return c
 10858  }
 10859  
 10860  // Header returns a http.Header that can be modified by the caller to add
 10861  // headers to the request.
 10862  func (c *AccountsContainersWorkspacesTagsRevertCall) Header() http.Header {
 10863  	if c.header_ == nil {
 10864  		c.header_ = make(http.Header)
 10865  	}
 10866  	return c.header_
 10867  }
 10868  
 10869  func (c *AccountsContainersWorkspacesTagsRevertCall) doRequest(alt string) (*http.Response, error) {
 10870  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10871  	var body io.Reader = nil
 10872  	c.urlParams_.Set("alt", alt)
 10873  	c.urlParams_.Set("prettyPrint", "false")
 10874  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 10875  	urls += "?" + c.urlParams_.Encode()
 10876  	req, err := http.NewRequest("POST", urls, body)
 10877  	if err != nil {
 10878  		return nil, err
 10879  	}
 10880  	req.Header = reqHeaders
 10881  	googleapi.Expand(req.URL, map[string]string{
 10882  		"path": c.path,
 10883  	})
 10884  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10885  }
 10886  
 10887  // Do executes the "tagmanager.accounts.containers.workspaces.tags.revert" call.
 10888  // Any non-2xx status code is an error. Response headers are in either
 10889  // *RevertTagResponse.ServerResponse.Header or (if a response was returned at
 10890  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10891  // check whether the returned error was because http.StatusNotModified was
 10892  // returned.
 10893  func (c *AccountsContainersWorkspacesTagsRevertCall) Do(opts ...googleapi.CallOption) (*RevertTagResponse, error) {
 10894  	gensupport.SetOptions(c.urlParams_, opts...)
 10895  	res, err := c.doRequest("json")
 10896  	if res != nil && res.StatusCode == http.StatusNotModified {
 10897  		if res.Body != nil {
 10898  			res.Body.Close()
 10899  		}
 10900  		return nil, gensupport.WrapError(&googleapi.Error{
 10901  			Code:   res.StatusCode,
 10902  			Header: res.Header,
 10903  		})
 10904  	}
 10905  	if err != nil {
 10906  		return nil, err
 10907  	}
 10908  	defer googleapi.CloseBody(res)
 10909  	if err := googleapi.CheckResponse(res); err != nil {
 10910  		return nil, gensupport.WrapError(err)
 10911  	}
 10912  	ret := &RevertTagResponse{
 10913  		ServerResponse: googleapi.ServerResponse{
 10914  			Header:         res.Header,
 10915  			HTTPStatusCode: res.StatusCode,
 10916  		},
 10917  	}
 10918  	target := &ret
 10919  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10920  		return nil, err
 10921  	}
 10922  	return ret, nil
 10923  }
 10924  
 10925  type AccountsContainersWorkspacesTagsUpdateCall struct {
 10926  	s          *Service
 10927  	path       string
 10928  	tag        *Tag
 10929  	urlParams_ gensupport.URLParams
 10930  	ctx_       context.Context
 10931  	header_    http.Header
 10932  }
 10933  
 10934  // Update: Updates a GTM Tag.
 10935  //
 10936  //   - path: GTM Tag's API relative path. Example:
 10937  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 10938  //     ags/{tag_id}.
 10939  func (r *AccountsContainersWorkspacesTagsService) Update(path string, tag *Tag) *AccountsContainersWorkspacesTagsUpdateCall {
 10940  	c := &AccountsContainersWorkspacesTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10941  	c.path = path
 10942  	c.tag = tag
 10943  	return c
 10944  }
 10945  
 10946  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 10947  // fingerprint must match the fingerprint of the tag in storage.
 10948  func (c *AccountsContainersWorkspacesTagsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTagsUpdateCall {
 10949  	c.urlParams_.Set("fingerprint", fingerprint)
 10950  	return c
 10951  }
 10952  
 10953  // Fields allows partial responses to be retrieved. See
 10954  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10955  // details.
 10956  func (c *AccountsContainersWorkspacesTagsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTagsUpdateCall {
 10957  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10958  	return c
 10959  }
 10960  
 10961  // Context sets the context to be used in this call's Do method.
 10962  func (c *AccountsContainersWorkspacesTagsUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTagsUpdateCall {
 10963  	c.ctx_ = ctx
 10964  	return c
 10965  }
 10966  
 10967  // Header returns a http.Header that can be modified by the caller to add
 10968  // headers to the request.
 10969  func (c *AccountsContainersWorkspacesTagsUpdateCall) Header() http.Header {
 10970  	if c.header_ == nil {
 10971  		c.header_ = make(http.Header)
 10972  	}
 10973  	return c.header_
 10974  }
 10975  
 10976  func (c *AccountsContainersWorkspacesTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 10977  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10978  	var body io.Reader = nil
 10979  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.tag)
 10980  	if err != nil {
 10981  		return nil, err
 10982  	}
 10983  	c.urlParams_.Set("alt", alt)
 10984  	c.urlParams_.Set("prettyPrint", "false")
 10985  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 10986  	urls += "?" + c.urlParams_.Encode()
 10987  	req, err := http.NewRequest("PUT", urls, body)
 10988  	if err != nil {
 10989  		return nil, err
 10990  	}
 10991  	req.Header = reqHeaders
 10992  	googleapi.Expand(req.URL, map[string]string{
 10993  		"path": c.path,
 10994  	})
 10995  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10996  }
 10997  
 10998  // Do executes the "tagmanager.accounts.containers.workspaces.tags.update" call.
 10999  // Any non-2xx status code is an error. Response headers are in either
 11000  // *Tag.ServerResponse.Header or (if a response was returned at all) in
 11001  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11002  // whether the returned error was because http.StatusNotModified was returned.
 11003  func (c *AccountsContainersWorkspacesTagsUpdateCall) Do(opts ...googleapi.CallOption) (*Tag, error) {
 11004  	gensupport.SetOptions(c.urlParams_, opts...)
 11005  	res, err := c.doRequest("json")
 11006  	if res != nil && res.StatusCode == http.StatusNotModified {
 11007  		if res.Body != nil {
 11008  			res.Body.Close()
 11009  		}
 11010  		return nil, gensupport.WrapError(&googleapi.Error{
 11011  			Code:   res.StatusCode,
 11012  			Header: res.Header,
 11013  		})
 11014  	}
 11015  	if err != nil {
 11016  		return nil, err
 11017  	}
 11018  	defer googleapi.CloseBody(res)
 11019  	if err := googleapi.CheckResponse(res); err != nil {
 11020  		return nil, gensupport.WrapError(err)
 11021  	}
 11022  	ret := &Tag{
 11023  		ServerResponse: googleapi.ServerResponse{
 11024  			Header:         res.Header,
 11025  			HTTPStatusCode: res.StatusCode,
 11026  		},
 11027  	}
 11028  	target := &ret
 11029  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11030  		return nil, err
 11031  	}
 11032  	return ret, nil
 11033  }
 11034  
 11035  type AccountsContainersWorkspacesTemplatesCreateCall struct {
 11036  	s              *Service
 11037  	parent         string
 11038  	customtemplate *CustomTemplate
 11039  	urlParams_     gensupport.URLParams
 11040  	ctx_           context.Context
 11041  	header_        http.Header
 11042  }
 11043  
 11044  // Create: Creates a GTM Custom Template.
 11045  //
 11046  //   - parent: GTM Workspace's API relative path. Example:
 11047  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 11048  func (r *AccountsContainersWorkspacesTemplatesService) Create(parent string, customtemplate *CustomTemplate) *AccountsContainersWorkspacesTemplatesCreateCall {
 11049  	c := &AccountsContainersWorkspacesTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11050  	c.parent = parent
 11051  	c.customtemplate = customtemplate
 11052  	return c
 11053  }
 11054  
 11055  // Fields allows partial responses to be retrieved. See
 11056  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11057  // details.
 11058  func (c *AccountsContainersWorkspacesTemplatesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesCreateCall {
 11059  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11060  	return c
 11061  }
 11062  
 11063  // Context sets the context to be used in this call's Do method.
 11064  func (c *AccountsContainersWorkspacesTemplatesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesCreateCall {
 11065  	c.ctx_ = ctx
 11066  	return c
 11067  }
 11068  
 11069  // Header returns a http.Header that can be modified by the caller to add
 11070  // headers to the request.
 11071  func (c *AccountsContainersWorkspacesTemplatesCreateCall) Header() http.Header {
 11072  	if c.header_ == nil {
 11073  		c.header_ = make(http.Header)
 11074  	}
 11075  	return c.header_
 11076  }
 11077  
 11078  func (c *AccountsContainersWorkspacesTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 11079  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11080  	var body io.Reader = nil
 11081  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.customtemplate)
 11082  	if err != nil {
 11083  		return nil, err
 11084  	}
 11085  	c.urlParams_.Set("alt", alt)
 11086  	c.urlParams_.Set("prettyPrint", "false")
 11087  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/templates")
 11088  	urls += "?" + c.urlParams_.Encode()
 11089  	req, err := http.NewRequest("POST", urls, body)
 11090  	if err != nil {
 11091  		return nil, err
 11092  	}
 11093  	req.Header = reqHeaders
 11094  	googleapi.Expand(req.URL, map[string]string{
 11095  		"parent": c.parent,
 11096  	})
 11097  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11098  }
 11099  
 11100  // Do executes the "tagmanager.accounts.containers.workspaces.templates.create" call.
 11101  // Any non-2xx status code is an error. Response headers are in either
 11102  // *CustomTemplate.ServerResponse.Header or (if a response was returned at all)
 11103  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11104  // whether the returned error was because http.StatusNotModified was returned.
 11105  func (c *AccountsContainersWorkspacesTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*CustomTemplate, error) {
 11106  	gensupport.SetOptions(c.urlParams_, opts...)
 11107  	res, err := c.doRequest("json")
 11108  	if res != nil && res.StatusCode == http.StatusNotModified {
 11109  		if res.Body != nil {
 11110  			res.Body.Close()
 11111  		}
 11112  		return nil, gensupport.WrapError(&googleapi.Error{
 11113  			Code:   res.StatusCode,
 11114  			Header: res.Header,
 11115  		})
 11116  	}
 11117  	if err != nil {
 11118  		return nil, err
 11119  	}
 11120  	defer googleapi.CloseBody(res)
 11121  	if err := googleapi.CheckResponse(res); err != nil {
 11122  		return nil, gensupport.WrapError(err)
 11123  	}
 11124  	ret := &CustomTemplate{
 11125  		ServerResponse: googleapi.ServerResponse{
 11126  			Header:         res.Header,
 11127  			HTTPStatusCode: res.StatusCode,
 11128  		},
 11129  	}
 11130  	target := &ret
 11131  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11132  		return nil, err
 11133  	}
 11134  	return ret, nil
 11135  }
 11136  
 11137  type AccountsContainersWorkspacesTemplatesDeleteCall struct {
 11138  	s          *Service
 11139  	path       string
 11140  	urlParams_ gensupport.URLParams
 11141  	ctx_       context.Context
 11142  	header_    http.Header
 11143  }
 11144  
 11145  // Delete: Deletes a GTM Template.
 11146  //
 11147  //   - path: GTM Custom Template's API relative path. Example:
 11148  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 11149  //     emplates/{template_id}.
 11150  func (r *AccountsContainersWorkspacesTemplatesService) Delete(path string) *AccountsContainersWorkspacesTemplatesDeleteCall {
 11151  	c := &AccountsContainersWorkspacesTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11152  	c.path = path
 11153  	return c
 11154  }
 11155  
 11156  // Fields allows partial responses to be retrieved. See
 11157  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11158  // details.
 11159  func (c *AccountsContainersWorkspacesTemplatesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesDeleteCall {
 11160  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11161  	return c
 11162  }
 11163  
 11164  // Context sets the context to be used in this call's Do method.
 11165  func (c *AccountsContainersWorkspacesTemplatesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesDeleteCall {
 11166  	c.ctx_ = ctx
 11167  	return c
 11168  }
 11169  
 11170  // Header returns a http.Header that can be modified by the caller to add
 11171  // headers to the request.
 11172  func (c *AccountsContainersWorkspacesTemplatesDeleteCall) Header() http.Header {
 11173  	if c.header_ == nil {
 11174  		c.header_ = make(http.Header)
 11175  	}
 11176  	return c.header_
 11177  }
 11178  
 11179  func (c *AccountsContainersWorkspacesTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 11180  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11181  	var body io.Reader = nil
 11182  	c.urlParams_.Set("alt", alt)
 11183  	c.urlParams_.Set("prettyPrint", "false")
 11184  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 11185  	urls += "?" + c.urlParams_.Encode()
 11186  	req, err := http.NewRequest("DELETE", urls, body)
 11187  	if err != nil {
 11188  		return nil, err
 11189  	}
 11190  	req.Header = reqHeaders
 11191  	googleapi.Expand(req.URL, map[string]string{
 11192  		"path": c.path,
 11193  	})
 11194  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11195  }
 11196  
 11197  // Do executes the "tagmanager.accounts.containers.workspaces.templates.delete" call.
 11198  func (c *AccountsContainersWorkspacesTemplatesDeleteCall) Do(opts ...googleapi.CallOption) error {
 11199  	gensupport.SetOptions(c.urlParams_, opts...)
 11200  	res, err := c.doRequest("json")
 11201  	if err != nil {
 11202  		return err
 11203  	}
 11204  	defer googleapi.CloseBody(res)
 11205  	if err := googleapi.CheckResponse(res); err != nil {
 11206  		return gensupport.WrapError(err)
 11207  	}
 11208  	return nil
 11209  }
 11210  
 11211  type AccountsContainersWorkspacesTemplatesGetCall struct {
 11212  	s            *Service
 11213  	path         string
 11214  	urlParams_   gensupport.URLParams
 11215  	ifNoneMatch_ string
 11216  	ctx_         context.Context
 11217  	header_      http.Header
 11218  }
 11219  
 11220  // Get: Gets a GTM Template.
 11221  //
 11222  //   - path: GTM Custom Template's API relative path. Example:
 11223  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 11224  //     emplates/{template_id}.
 11225  func (r *AccountsContainersWorkspacesTemplatesService) Get(path string) *AccountsContainersWorkspacesTemplatesGetCall {
 11226  	c := &AccountsContainersWorkspacesTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11227  	c.path = path
 11228  	return c
 11229  }
 11230  
 11231  // Fields allows partial responses to be retrieved. See
 11232  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11233  // details.
 11234  func (c *AccountsContainersWorkspacesTemplatesGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesGetCall {
 11235  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11236  	return c
 11237  }
 11238  
 11239  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11240  // object's ETag matches the given value. This is useful for getting updates
 11241  // only after the object has changed since the last request.
 11242  func (c *AccountsContainersWorkspacesTemplatesGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTemplatesGetCall {
 11243  	c.ifNoneMatch_ = entityTag
 11244  	return c
 11245  }
 11246  
 11247  // Context sets the context to be used in this call's Do method.
 11248  func (c *AccountsContainersWorkspacesTemplatesGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesGetCall {
 11249  	c.ctx_ = ctx
 11250  	return c
 11251  }
 11252  
 11253  // Header returns a http.Header that can be modified by the caller to add
 11254  // headers to the request.
 11255  func (c *AccountsContainersWorkspacesTemplatesGetCall) Header() http.Header {
 11256  	if c.header_ == nil {
 11257  		c.header_ = make(http.Header)
 11258  	}
 11259  	return c.header_
 11260  }
 11261  
 11262  func (c *AccountsContainersWorkspacesTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 11263  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11264  	if c.ifNoneMatch_ != "" {
 11265  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11266  	}
 11267  	var body io.Reader = nil
 11268  	c.urlParams_.Set("alt", alt)
 11269  	c.urlParams_.Set("prettyPrint", "false")
 11270  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 11271  	urls += "?" + c.urlParams_.Encode()
 11272  	req, err := http.NewRequest("GET", urls, body)
 11273  	if err != nil {
 11274  		return nil, err
 11275  	}
 11276  	req.Header = reqHeaders
 11277  	googleapi.Expand(req.URL, map[string]string{
 11278  		"path": c.path,
 11279  	})
 11280  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11281  }
 11282  
 11283  // Do executes the "tagmanager.accounts.containers.workspaces.templates.get" call.
 11284  // Any non-2xx status code is an error. Response headers are in either
 11285  // *CustomTemplate.ServerResponse.Header or (if a response was returned at all)
 11286  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11287  // whether the returned error was because http.StatusNotModified was returned.
 11288  func (c *AccountsContainersWorkspacesTemplatesGetCall) Do(opts ...googleapi.CallOption) (*CustomTemplate, error) {
 11289  	gensupport.SetOptions(c.urlParams_, opts...)
 11290  	res, err := c.doRequest("json")
 11291  	if res != nil && res.StatusCode == http.StatusNotModified {
 11292  		if res.Body != nil {
 11293  			res.Body.Close()
 11294  		}
 11295  		return nil, gensupport.WrapError(&googleapi.Error{
 11296  			Code:   res.StatusCode,
 11297  			Header: res.Header,
 11298  		})
 11299  	}
 11300  	if err != nil {
 11301  		return nil, err
 11302  	}
 11303  	defer googleapi.CloseBody(res)
 11304  	if err := googleapi.CheckResponse(res); err != nil {
 11305  		return nil, gensupport.WrapError(err)
 11306  	}
 11307  	ret := &CustomTemplate{
 11308  		ServerResponse: googleapi.ServerResponse{
 11309  			Header:         res.Header,
 11310  			HTTPStatusCode: res.StatusCode,
 11311  		},
 11312  	}
 11313  	target := &ret
 11314  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11315  		return nil, err
 11316  	}
 11317  	return ret, nil
 11318  }
 11319  
 11320  type AccountsContainersWorkspacesTemplatesListCall struct {
 11321  	s            *Service
 11322  	parent       string
 11323  	urlParams_   gensupport.URLParams
 11324  	ifNoneMatch_ string
 11325  	ctx_         context.Context
 11326  	header_      http.Header
 11327  }
 11328  
 11329  // List: Lists all GTM Templates of a GTM container workspace.
 11330  //
 11331  //   - parent: GTM Workspace's API relative path. Example:
 11332  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 11333  func (r *AccountsContainersWorkspacesTemplatesService) List(parent string) *AccountsContainersWorkspacesTemplatesListCall {
 11334  	c := &AccountsContainersWorkspacesTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11335  	c.parent = parent
 11336  	return c
 11337  }
 11338  
 11339  // PageToken sets the optional parameter "pageToken": Continuation token for
 11340  // fetching the next page of results.
 11341  func (c *AccountsContainersWorkspacesTemplatesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesTemplatesListCall {
 11342  	c.urlParams_.Set("pageToken", pageToken)
 11343  	return c
 11344  }
 11345  
 11346  // Fields allows partial responses to be retrieved. See
 11347  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11348  // details.
 11349  func (c *AccountsContainersWorkspacesTemplatesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesListCall {
 11350  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11351  	return c
 11352  }
 11353  
 11354  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11355  // object's ETag matches the given value. This is useful for getting updates
 11356  // only after the object has changed since the last request.
 11357  func (c *AccountsContainersWorkspacesTemplatesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTemplatesListCall {
 11358  	c.ifNoneMatch_ = entityTag
 11359  	return c
 11360  }
 11361  
 11362  // Context sets the context to be used in this call's Do method.
 11363  func (c *AccountsContainersWorkspacesTemplatesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesListCall {
 11364  	c.ctx_ = ctx
 11365  	return c
 11366  }
 11367  
 11368  // Header returns a http.Header that can be modified by the caller to add
 11369  // headers to the request.
 11370  func (c *AccountsContainersWorkspacesTemplatesListCall) Header() http.Header {
 11371  	if c.header_ == nil {
 11372  		c.header_ = make(http.Header)
 11373  	}
 11374  	return c.header_
 11375  }
 11376  
 11377  func (c *AccountsContainersWorkspacesTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 11378  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11379  	if c.ifNoneMatch_ != "" {
 11380  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11381  	}
 11382  	var body io.Reader = nil
 11383  	c.urlParams_.Set("alt", alt)
 11384  	c.urlParams_.Set("prettyPrint", "false")
 11385  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/templates")
 11386  	urls += "?" + c.urlParams_.Encode()
 11387  	req, err := http.NewRequest("GET", urls, body)
 11388  	if err != nil {
 11389  		return nil, err
 11390  	}
 11391  	req.Header = reqHeaders
 11392  	googleapi.Expand(req.URL, map[string]string{
 11393  		"parent": c.parent,
 11394  	})
 11395  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11396  }
 11397  
 11398  // Do executes the "tagmanager.accounts.containers.workspaces.templates.list" call.
 11399  // Any non-2xx status code is an error. Response headers are in either
 11400  // *ListTemplatesResponse.ServerResponse.Header or (if a response was returned
 11401  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11402  // check whether the returned error was because http.StatusNotModified was
 11403  // returned.
 11404  func (c *AccountsContainersWorkspacesTemplatesListCall) Do(opts ...googleapi.CallOption) (*ListTemplatesResponse, error) {
 11405  	gensupport.SetOptions(c.urlParams_, opts...)
 11406  	res, err := c.doRequest("json")
 11407  	if res != nil && res.StatusCode == http.StatusNotModified {
 11408  		if res.Body != nil {
 11409  			res.Body.Close()
 11410  		}
 11411  		return nil, gensupport.WrapError(&googleapi.Error{
 11412  			Code:   res.StatusCode,
 11413  			Header: res.Header,
 11414  		})
 11415  	}
 11416  	if err != nil {
 11417  		return nil, err
 11418  	}
 11419  	defer googleapi.CloseBody(res)
 11420  	if err := googleapi.CheckResponse(res); err != nil {
 11421  		return nil, gensupport.WrapError(err)
 11422  	}
 11423  	ret := &ListTemplatesResponse{
 11424  		ServerResponse: googleapi.ServerResponse{
 11425  			Header:         res.Header,
 11426  			HTTPStatusCode: res.StatusCode,
 11427  		},
 11428  	}
 11429  	target := &ret
 11430  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11431  		return nil, err
 11432  	}
 11433  	return ret, nil
 11434  }
 11435  
 11436  // Pages invokes f for each page of results.
 11437  // A non-nil error returned from f will halt the iteration.
 11438  // The provided context supersedes any context provided to the Context method.
 11439  func (c *AccountsContainersWorkspacesTemplatesListCall) Pages(ctx context.Context, f func(*ListTemplatesResponse) error) error {
 11440  	c.ctx_ = ctx
 11441  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11442  	for {
 11443  		x, err := c.Do()
 11444  		if err != nil {
 11445  			return err
 11446  		}
 11447  		if err := f(x); err != nil {
 11448  			return err
 11449  		}
 11450  		if x.NextPageToken == "" {
 11451  			return nil
 11452  		}
 11453  		c.PageToken(x.NextPageToken)
 11454  	}
 11455  }
 11456  
 11457  type AccountsContainersWorkspacesTemplatesRevertCall struct {
 11458  	s          *Service
 11459  	path       string
 11460  	urlParams_ gensupport.URLParams
 11461  	ctx_       context.Context
 11462  	header_    http.Header
 11463  }
 11464  
 11465  // Revert: Reverts changes to a GTM Template in a GTM Workspace.
 11466  //
 11467  //   - path: GTM Custom Template's API relative path. Example:
 11468  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 11469  //     emplates/{template_id}.
 11470  func (r *AccountsContainersWorkspacesTemplatesService) Revert(path string) *AccountsContainersWorkspacesTemplatesRevertCall {
 11471  	c := &AccountsContainersWorkspacesTemplatesRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11472  	c.path = path
 11473  	return c
 11474  }
 11475  
 11476  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 11477  // fingerprint must match the fingerprint of the template in storage.
 11478  func (c *AccountsContainersWorkspacesTemplatesRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTemplatesRevertCall {
 11479  	c.urlParams_.Set("fingerprint", fingerprint)
 11480  	return c
 11481  }
 11482  
 11483  // Fields allows partial responses to be retrieved. See
 11484  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11485  // details.
 11486  func (c *AccountsContainersWorkspacesTemplatesRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesRevertCall {
 11487  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11488  	return c
 11489  }
 11490  
 11491  // Context sets the context to be used in this call's Do method.
 11492  func (c *AccountsContainersWorkspacesTemplatesRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesRevertCall {
 11493  	c.ctx_ = ctx
 11494  	return c
 11495  }
 11496  
 11497  // Header returns a http.Header that can be modified by the caller to add
 11498  // headers to the request.
 11499  func (c *AccountsContainersWorkspacesTemplatesRevertCall) Header() http.Header {
 11500  	if c.header_ == nil {
 11501  		c.header_ = make(http.Header)
 11502  	}
 11503  	return c.header_
 11504  }
 11505  
 11506  func (c *AccountsContainersWorkspacesTemplatesRevertCall) doRequest(alt string) (*http.Response, error) {
 11507  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11508  	var body io.Reader = nil
 11509  	c.urlParams_.Set("alt", alt)
 11510  	c.urlParams_.Set("prettyPrint", "false")
 11511  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 11512  	urls += "?" + c.urlParams_.Encode()
 11513  	req, err := http.NewRequest("POST", urls, body)
 11514  	if err != nil {
 11515  		return nil, err
 11516  	}
 11517  	req.Header = reqHeaders
 11518  	googleapi.Expand(req.URL, map[string]string{
 11519  		"path": c.path,
 11520  	})
 11521  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11522  }
 11523  
 11524  // Do executes the "tagmanager.accounts.containers.workspaces.templates.revert" call.
 11525  // Any non-2xx status code is an error. Response headers are in either
 11526  // *RevertTemplateResponse.ServerResponse.Header or (if a response was returned
 11527  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11528  // check whether the returned error was because http.StatusNotModified was
 11529  // returned.
 11530  func (c *AccountsContainersWorkspacesTemplatesRevertCall) Do(opts ...googleapi.CallOption) (*RevertTemplateResponse, error) {
 11531  	gensupport.SetOptions(c.urlParams_, opts...)
 11532  	res, err := c.doRequest("json")
 11533  	if res != nil && res.StatusCode == http.StatusNotModified {
 11534  		if res.Body != nil {
 11535  			res.Body.Close()
 11536  		}
 11537  		return nil, gensupport.WrapError(&googleapi.Error{
 11538  			Code:   res.StatusCode,
 11539  			Header: res.Header,
 11540  		})
 11541  	}
 11542  	if err != nil {
 11543  		return nil, err
 11544  	}
 11545  	defer googleapi.CloseBody(res)
 11546  	if err := googleapi.CheckResponse(res); err != nil {
 11547  		return nil, gensupport.WrapError(err)
 11548  	}
 11549  	ret := &RevertTemplateResponse{
 11550  		ServerResponse: googleapi.ServerResponse{
 11551  			Header:         res.Header,
 11552  			HTTPStatusCode: res.StatusCode,
 11553  		},
 11554  	}
 11555  	target := &ret
 11556  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11557  		return nil, err
 11558  	}
 11559  	return ret, nil
 11560  }
 11561  
 11562  type AccountsContainersWorkspacesTemplatesUpdateCall struct {
 11563  	s              *Service
 11564  	path           string
 11565  	customtemplate *CustomTemplate
 11566  	urlParams_     gensupport.URLParams
 11567  	ctx_           context.Context
 11568  	header_        http.Header
 11569  }
 11570  
 11571  // Update: Updates a GTM Template.
 11572  //
 11573  //   - path: GTM Custom Template's API relative path. Example:
 11574  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 11575  //     emplates/{template_id}.
 11576  func (r *AccountsContainersWorkspacesTemplatesService) Update(path string, customtemplate *CustomTemplate) *AccountsContainersWorkspacesTemplatesUpdateCall {
 11577  	c := &AccountsContainersWorkspacesTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11578  	c.path = path
 11579  	c.customtemplate = customtemplate
 11580  	return c
 11581  }
 11582  
 11583  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 11584  // fingerprint must match the fingerprint of the templates in storage.
 11585  func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTemplatesUpdateCall {
 11586  	c.urlParams_.Set("fingerprint", fingerprint)
 11587  	return c
 11588  }
 11589  
 11590  // Fields allows partial responses to be retrieved. See
 11591  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11592  // details.
 11593  func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTemplatesUpdateCall {
 11594  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11595  	return c
 11596  }
 11597  
 11598  // Context sets the context to be used in this call's Do method.
 11599  func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTemplatesUpdateCall {
 11600  	c.ctx_ = ctx
 11601  	return c
 11602  }
 11603  
 11604  // Header returns a http.Header that can be modified by the caller to add
 11605  // headers to the request.
 11606  func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Header() http.Header {
 11607  	if c.header_ == nil {
 11608  		c.header_ = make(http.Header)
 11609  	}
 11610  	return c.header_
 11611  }
 11612  
 11613  func (c *AccountsContainersWorkspacesTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 11614  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11615  	var body io.Reader = nil
 11616  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.customtemplate)
 11617  	if err != nil {
 11618  		return nil, err
 11619  	}
 11620  	c.urlParams_.Set("alt", alt)
 11621  	c.urlParams_.Set("prettyPrint", "false")
 11622  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 11623  	urls += "?" + c.urlParams_.Encode()
 11624  	req, err := http.NewRequest("PUT", urls, body)
 11625  	if err != nil {
 11626  		return nil, err
 11627  	}
 11628  	req.Header = reqHeaders
 11629  	googleapi.Expand(req.URL, map[string]string{
 11630  		"path": c.path,
 11631  	})
 11632  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11633  }
 11634  
 11635  // Do executes the "tagmanager.accounts.containers.workspaces.templates.update" call.
 11636  // Any non-2xx status code is an error. Response headers are in either
 11637  // *CustomTemplate.ServerResponse.Header or (if a response was returned at all)
 11638  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11639  // whether the returned error was because http.StatusNotModified was returned.
 11640  func (c *AccountsContainersWorkspacesTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*CustomTemplate, error) {
 11641  	gensupport.SetOptions(c.urlParams_, opts...)
 11642  	res, err := c.doRequest("json")
 11643  	if res != nil && res.StatusCode == http.StatusNotModified {
 11644  		if res.Body != nil {
 11645  			res.Body.Close()
 11646  		}
 11647  		return nil, gensupport.WrapError(&googleapi.Error{
 11648  			Code:   res.StatusCode,
 11649  			Header: res.Header,
 11650  		})
 11651  	}
 11652  	if err != nil {
 11653  		return nil, err
 11654  	}
 11655  	defer googleapi.CloseBody(res)
 11656  	if err := googleapi.CheckResponse(res); err != nil {
 11657  		return nil, gensupport.WrapError(err)
 11658  	}
 11659  	ret := &CustomTemplate{
 11660  		ServerResponse: googleapi.ServerResponse{
 11661  			Header:         res.Header,
 11662  			HTTPStatusCode: res.StatusCode,
 11663  		},
 11664  	}
 11665  	target := &ret
 11666  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11667  		return nil, err
 11668  	}
 11669  	return ret, nil
 11670  }
 11671  
 11672  type AccountsContainersWorkspacesTransformationsCreateCall struct {
 11673  	s              *Service
 11674  	parent         string
 11675  	transformation *Transformation
 11676  	urlParams_     gensupport.URLParams
 11677  	ctx_           context.Context
 11678  	header_        http.Header
 11679  }
 11680  
 11681  // Create: Creates a GTM Transformation.
 11682  //
 11683  //   - parent: GTM Workspace's API relative path. Example:
 11684  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 11685  func (r *AccountsContainersWorkspacesTransformationsService) Create(parent string, transformation *Transformation) *AccountsContainersWorkspacesTransformationsCreateCall {
 11686  	c := &AccountsContainersWorkspacesTransformationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11687  	c.parent = parent
 11688  	c.transformation = transformation
 11689  	return c
 11690  }
 11691  
 11692  // Fields allows partial responses to be retrieved. See
 11693  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11694  // details.
 11695  func (c *AccountsContainersWorkspacesTransformationsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTransformationsCreateCall {
 11696  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11697  	return c
 11698  }
 11699  
 11700  // Context sets the context to be used in this call's Do method.
 11701  func (c *AccountsContainersWorkspacesTransformationsCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTransformationsCreateCall {
 11702  	c.ctx_ = ctx
 11703  	return c
 11704  }
 11705  
 11706  // Header returns a http.Header that can be modified by the caller to add
 11707  // headers to the request.
 11708  func (c *AccountsContainersWorkspacesTransformationsCreateCall) Header() http.Header {
 11709  	if c.header_ == nil {
 11710  		c.header_ = make(http.Header)
 11711  	}
 11712  	return c.header_
 11713  }
 11714  
 11715  func (c *AccountsContainersWorkspacesTransformationsCreateCall) doRequest(alt string) (*http.Response, error) {
 11716  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11717  	var body io.Reader = nil
 11718  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.transformation)
 11719  	if err != nil {
 11720  		return nil, err
 11721  	}
 11722  	c.urlParams_.Set("alt", alt)
 11723  	c.urlParams_.Set("prettyPrint", "false")
 11724  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/transformations")
 11725  	urls += "?" + c.urlParams_.Encode()
 11726  	req, err := http.NewRequest("POST", urls, body)
 11727  	if err != nil {
 11728  		return nil, err
 11729  	}
 11730  	req.Header = reqHeaders
 11731  	googleapi.Expand(req.URL, map[string]string{
 11732  		"parent": c.parent,
 11733  	})
 11734  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11735  }
 11736  
 11737  // Do executes the "tagmanager.accounts.containers.workspaces.transformations.create" call.
 11738  // Any non-2xx status code is an error. Response headers are in either
 11739  // *Transformation.ServerResponse.Header or (if a response was returned at all)
 11740  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11741  // whether the returned error was because http.StatusNotModified was returned.
 11742  func (c *AccountsContainersWorkspacesTransformationsCreateCall) Do(opts ...googleapi.CallOption) (*Transformation, error) {
 11743  	gensupport.SetOptions(c.urlParams_, opts...)
 11744  	res, err := c.doRequest("json")
 11745  	if res != nil && res.StatusCode == http.StatusNotModified {
 11746  		if res.Body != nil {
 11747  			res.Body.Close()
 11748  		}
 11749  		return nil, gensupport.WrapError(&googleapi.Error{
 11750  			Code:   res.StatusCode,
 11751  			Header: res.Header,
 11752  		})
 11753  	}
 11754  	if err != nil {
 11755  		return nil, err
 11756  	}
 11757  	defer googleapi.CloseBody(res)
 11758  	if err := googleapi.CheckResponse(res); err != nil {
 11759  		return nil, gensupport.WrapError(err)
 11760  	}
 11761  	ret := &Transformation{
 11762  		ServerResponse: googleapi.ServerResponse{
 11763  			Header:         res.Header,
 11764  			HTTPStatusCode: res.StatusCode,
 11765  		},
 11766  	}
 11767  	target := &ret
 11768  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11769  		return nil, err
 11770  	}
 11771  	return ret, nil
 11772  }
 11773  
 11774  type AccountsContainersWorkspacesTransformationsDeleteCall struct {
 11775  	s          *Service
 11776  	path       string
 11777  	urlParams_ gensupport.URLParams
 11778  	ctx_       context.Context
 11779  	header_    http.Header
 11780  }
 11781  
 11782  // Delete: Deletes a GTM Transformation.
 11783  //
 11784  //   - path: GTM Transformation's API relative path. Example:
 11785  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 11786  //     ransformations/{transformation_id}.
 11787  func (r *AccountsContainersWorkspacesTransformationsService) Delete(path string) *AccountsContainersWorkspacesTransformationsDeleteCall {
 11788  	c := &AccountsContainersWorkspacesTransformationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11789  	c.path = path
 11790  	return c
 11791  }
 11792  
 11793  // Fields allows partial responses to be retrieved. See
 11794  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11795  // details.
 11796  func (c *AccountsContainersWorkspacesTransformationsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTransformationsDeleteCall {
 11797  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11798  	return c
 11799  }
 11800  
 11801  // Context sets the context to be used in this call's Do method.
 11802  func (c *AccountsContainersWorkspacesTransformationsDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesTransformationsDeleteCall {
 11803  	c.ctx_ = ctx
 11804  	return c
 11805  }
 11806  
 11807  // Header returns a http.Header that can be modified by the caller to add
 11808  // headers to the request.
 11809  func (c *AccountsContainersWorkspacesTransformationsDeleteCall) Header() http.Header {
 11810  	if c.header_ == nil {
 11811  		c.header_ = make(http.Header)
 11812  	}
 11813  	return c.header_
 11814  }
 11815  
 11816  func (c *AccountsContainersWorkspacesTransformationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 11817  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11818  	var body io.Reader = nil
 11819  	c.urlParams_.Set("alt", alt)
 11820  	c.urlParams_.Set("prettyPrint", "false")
 11821  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 11822  	urls += "?" + c.urlParams_.Encode()
 11823  	req, err := http.NewRequest("DELETE", urls, body)
 11824  	if err != nil {
 11825  		return nil, err
 11826  	}
 11827  	req.Header = reqHeaders
 11828  	googleapi.Expand(req.URL, map[string]string{
 11829  		"path": c.path,
 11830  	})
 11831  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11832  }
 11833  
 11834  // Do executes the "tagmanager.accounts.containers.workspaces.transformations.delete" call.
 11835  func (c *AccountsContainersWorkspacesTransformationsDeleteCall) Do(opts ...googleapi.CallOption) error {
 11836  	gensupport.SetOptions(c.urlParams_, opts...)
 11837  	res, err := c.doRequest("json")
 11838  	if err != nil {
 11839  		return err
 11840  	}
 11841  	defer googleapi.CloseBody(res)
 11842  	if err := googleapi.CheckResponse(res); err != nil {
 11843  		return gensupport.WrapError(err)
 11844  	}
 11845  	return nil
 11846  }
 11847  
 11848  type AccountsContainersWorkspacesTransformationsGetCall struct {
 11849  	s            *Service
 11850  	path         string
 11851  	urlParams_   gensupport.URLParams
 11852  	ifNoneMatch_ string
 11853  	ctx_         context.Context
 11854  	header_      http.Header
 11855  }
 11856  
 11857  // Get: Gets a GTM Transformation.
 11858  //
 11859  //   - path: GTM Transformation's API relative path. Example:
 11860  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 11861  //     ransformations/{transformation_id}.
 11862  func (r *AccountsContainersWorkspacesTransformationsService) Get(path string) *AccountsContainersWorkspacesTransformationsGetCall {
 11863  	c := &AccountsContainersWorkspacesTransformationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11864  	c.path = path
 11865  	return c
 11866  }
 11867  
 11868  // Fields allows partial responses to be retrieved. See
 11869  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11870  // details.
 11871  func (c *AccountsContainersWorkspacesTransformationsGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTransformationsGetCall {
 11872  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11873  	return c
 11874  }
 11875  
 11876  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11877  // object's ETag matches the given value. This is useful for getting updates
 11878  // only after the object has changed since the last request.
 11879  func (c *AccountsContainersWorkspacesTransformationsGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTransformationsGetCall {
 11880  	c.ifNoneMatch_ = entityTag
 11881  	return c
 11882  }
 11883  
 11884  // Context sets the context to be used in this call's Do method.
 11885  func (c *AccountsContainersWorkspacesTransformationsGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesTransformationsGetCall {
 11886  	c.ctx_ = ctx
 11887  	return c
 11888  }
 11889  
 11890  // Header returns a http.Header that can be modified by the caller to add
 11891  // headers to the request.
 11892  func (c *AccountsContainersWorkspacesTransformationsGetCall) Header() http.Header {
 11893  	if c.header_ == nil {
 11894  		c.header_ = make(http.Header)
 11895  	}
 11896  	return c.header_
 11897  }
 11898  
 11899  func (c *AccountsContainersWorkspacesTransformationsGetCall) doRequest(alt string) (*http.Response, error) {
 11900  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11901  	if c.ifNoneMatch_ != "" {
 11902  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11903  	}
 11904  	var body io.Reader = nil
 11905  	c.urlParams_.Set("alt", alt)
 11906  	c.urlParams_.Set("prettyPrint", "false")
 11907  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 11908  	urls += "?" + c.urlParams_.Encode()
 11909  	req, err := http.NewRequest("GET", urls, body)
 11910  	if err != nil {
 11911  		return nil, err
 11912  	}
 11913  	req.Header = reqHeaders
 11914  	googleapi.Expand(req.URL, map[string]string{
 11915  		"path": c.path,
 11916  	})
 11917  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11918  }
 11919  
 11920  // Do executes the "tagmanager.accounts.containers.workspaces.transformations.get" call.
 11921  // Any non-2xx status code is an error. Response headers are in either
 11922  // *Transformation.ServerResponse.Header or (if a response was returned at all)
 11923  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11924  // whether the returned error was because http.StatusNotModified was returned.
 11925  func (c *AccountsContainersWorkspacesTransformationsGetCall) Do(opts ...googleapi.CallOption) (*Transformation, error) {
 11926  	gensupport.SetOptions(c.urlParams_, opts...)
 11927  	res, err := c.doRequest("json")
 11928  	if res != nil && res.StatusCode == http.StatusNotModified {
 11929  		if res.Body != nil {
 11930  			res.Body.Close()
 11931  		}
 11932  		return nil, gensupport.WrapError(&googleapi.Error{
 11933  			Code:   res.StatusCode,
 11934  			Header: res.Header,
 11935  		})
 11936  	}
 11937  	if err != nil {
 11938  		return nil, err
 11939  	}
 11940  	defer googleapi.CloseBody(res)
 11941  	if err := googleapi.CheckResponse(res); err != nil {
 11942  		return nil, gensupport.WrapError(err)
 11943  	}
 11944  	ret := &Transformation{
 11945  		ServerResponse: googleapi.ServerResponse{
 11946  			Header:         res.Header,
 11947  			HTTPStatusCode: res.StatusCode,
 11948  		},
 11949  	}
 11950  	target := &ret
 11951  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11952  		return nil, err
 11953  	}
 11954  	return ret, nil
 11955  }
 11956  
 11957  type AccountsContainersWorkspacesTransformationsListCall struct {
 11958  	s            *Service
 11959  	parent       string
 11960  	urlParams_   gensupport.URLParams
 11961  	ifNoneMatch_ string
 11962  	ctx_         context.Context
 11963  	header_      http.Header
 11964  }
 11965  
 11966  // List: Lists all GTM Transformations of a GTM container workspace.
 11967  //
 11968  //   - parent: GTM Workspace's API relative path. Example:
 11969  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 11970  func (r *AccountsContainersWorkspacesTransformationsService) List(parent string) *AccountsContainersWorkspacesTransformationsListCall {
 11971  	c := &AccountsContainersWorkspacesTransformationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11972  	c.parent = parent
 11973  	return c
 11974  }
 11975  
 11976  // PageToken sets the optional parameter "pageToken": Continuation token for
 11977  // fetching the next page of results.
 11978  func (c *AccountsContainersWorkspacesTransformationsListCall) PageToken(pageToken string) *AccountsContainersWorkspacesTransformationsListCall {
 11979  	c.urlParams_.Set("pageToken", pageToken)
 11980  	return c
 11981  }
 11982  
 11983  // Fields allows partial responses to be retrieved. See
 11984  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11985  // details.
 11986  func (c *AccountsContainersWorkspacesTransformationsListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTransformationsListCall {
 11987  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11988  	return c
 11989  }
 11990  
 11991  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11992  // object's ETag matches the given value. This is useful for getting updates
 11993  // only after the object has changed since the last request.
 11994  func (c *AccountsContainersWorkspacesTransformationsListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTransformationsListCall {
 11995  	c.ifNoneMatch_ = entityTag
 11996  	return c
 11997  }
 11998  
 11999  // Context sets the context to be used in this call's Do method.
 12000  func (c *AccountsContainersWorkspacesTransformationsListCall) Context(ctx context.Context) *AccountsContainersWorkspacesTransformationsListCall {
 12001  	c.ctx_ = ctx
 12002  	return c
 12003  }
 12004  
 12005  // Header returns a http.Header that can be modified by the caller to add
 12006  // headers to the request.
 12007  func (c *AccountsContainersWorkspacesTransformationsListCall) Header() http.Header {
 12008  	if c.header_ == nil {
 12009  		c.header_ = make(http.Header)
 12010  	}
 12011  	return c.header_
 12012  }
 12013  
 12014  func (c *AccountsContainersWorkspacesTransformationsListCall) doRequest(alt string) (*http.Response, error) {
 12015  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12016  	if c.ifNoneMatch_ != "" {
 12017  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12018  	}
 12019  	var body io.Reader = nil
 12020  	c.urlParams_.Set("alt", alt)
 12021  	c.urlParams_.Set("prettyPrint", "false")
 12022  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/transformations")
 12023  	urls += "?" + c.urlParams_.Encode()
 12024  	req, err := http.NewRequest("GET", urls, body)
 12025  	if err != nil {
 12026  		return nil, err
 12027  	}
 12028  	req.Header = reqHeaders
 12029  	googleapi.Expand(req.URL, map[string]string{
 12030  		"parent": c.parent,
 12031  	})
 12032  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12033  }
 12034  
 12035  // Do executes the "tagmanager.accounts.containers.workspaces.transformations.list" call.
 12036  // Any non-2xx status code is an error. Response headers are in either
 12037  // *ListTransformationsResponse.ServerResponse.Header or (if a response was
 12038  // returned at all) in error.(*googleapi.Error).Header. Use
 12039  // googleapi.IsNotModified to check whether the returned error was because
 12040  // http.StatusNotModified was returned.
 12041  func (c *AccountsContainersWorkspacesTransformationsListCall) Do(opts ...googleapi.CallOption) (*ListTransformationsResponse, error) {
 12042  	gensupport.SetOptions(c.urlParams_, opts...)
 12043  	res, err := c.doRequest("json")
 12044  	if res != nil && res.StatusCode == http.StatusNotModified {
 12045  		if res.Body != nil {
 12046  			res.Body.Close()
 12047  		}
 12048  		return nil, gensupport.WrapError(&googleapi.Error{
 12049  			Code:   res.StatusCode,
 12050  			Header: res.Header,
 12051  		})
 12052  	}
 12053  	if err != nil {
 12054  		return nil, err
 12055  	}
 12056  	defer googleapi.CloseBody(res)
 12057  	if err := googleapi.CheckResponse(res); err != nil {
 12058  		return nil, gensupport.WrapError(err)
 12059  	}
 12060  	ret := &ListTransformationsResponse{
 12061  		ServerResponse: googleapi.ServerResponse{
 12062  			Header:         res.Header,
 12063  			HTTPStatusCode: res.StatusCode,
 12064  		},
 12065  	}
 12066  	target := &ret
 12067  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12068  		return nil, err
 12069  	}
 12070  	return ret, nil
 12071  }
 12072  
 12073  // Pages invokes f for each page of results.
 12074  // A non-nil error returned from f will halt the iteration.
 12075  // The provided context supersedes any context provided to the Context method.
 12076  func (c *AccountsContainersWorkspacesTransformationsListCall) Pages(ctx context.Context, f func(*ListTransformationsResponse) error) error {
 12077  	c.ctx_ = ctx
 12078  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 12079  	for {
 12080  		x, err := c.Do()
 12081  		if err != nil {
 12082  			return err
 12083  		}
 12084  		if err := f(x); err != nil {
 12085  			return err
 12086  		}
 12087  		if x.NextPageToken == "" {
 12088  			return nil
 12089  		}
 12090  		c.PageToken(x.NextPageToken)
 12091  	}
 12092  }
 12093  
 12094  type AccountsContainersWorkspacesTransformationsRevertCall struct {
 12095  	s          *Service
 12096  	path       string
 12097  	urlParams_ gensupport.URLParams
 12098  	ctx_       context.Context
 12099  	header_    http.Header
 12100  }
 12101  
 12102  // Revert: Reverts changes to a GTM Transformation in a GTM Workspace.
 12103  //
 12104  //   - path: GTM Transformation's API relative path. Example:
 12105  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 12106  //     ransformations/{transformation_id}.
 12107  func (r *AccountsContainersWorkspacesTransformationsService) Revert(path string) *AccountsContainersWorkspacesTransformationsRevertCall {
 12108  	c := &AccountsContainersWorkspacesTransformationsRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12109  	c.path = path
 12110  	return c
 12111  }
 12112  
 12113  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 12114  // fingerprint must match the fingerprint of the transformation in storage.
 12115  func (c *AccountsContainersWorkspacesTransformationsRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTransformationsRevertCall {
 12116  	c.urlParams_.Set("fingerprint", fingerprint)
 12117  	return c
 12118  }
 12119  
 12120  // Fields allows partial responses to be retrieved. See
 12121  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12122  // details.
 12123  func (c *AccountsContainersWorkspacesTransformationsRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTransformationsRevertCall {
 12124  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12125  	return c
 12126  }
 12127  
 12128  // Context sets the context to be used in this call's Do method.
 12129  func (c *AccountsContainersWorkspacesTransformationsRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesTransformationsRevertCall {
 12130  	c.ctx_ = ctx
 12131  	return c
 12132  }
 12133  
 12134  // Header returns a http.Header that can be modified by the caller to add
 12135  // headers to the request.
 12136  func (c *AccountsContainersWorkspacesTransformationsRevertCall) Header() http.Header {
 12137  	if c.header_ == nil {
 12138  		c.header_ = make(http.Header)
 12139  	}
 12140  	return c.header_
 12141  }
 12142  
 12143  func (c *AccountsContainersWorkspacesTransformationsRevertCall) doRequest(alt string) (*http.Response, error) {
 12144  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12145  	var body io.Reader = nil
 12146  	c.urlParams_.Set("alt", alt)
 12147  	c.urlParams_.Set("prettyPrint", "false")
 12148  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 12149  	urls += "?" + c.urlParams_.Encode()
 12150  	req, err := http.NewRequest("POST", urls, body)
 12151  	if err != nil {
 12152  		return nil, err
 12153  	}
 12154  	req.Header = reqHeaders
 12155  	googleapi.Expand(req.URL, map[string]string{
 12156  		"path": c.path,
 12157  	})
 12158  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12159  }
 12160  
 12161  // Do executes the "tagmanager.accounts.containers.workspaces.transformations.revert" call.
 12162  // Any non-2xx status code is an error. Response headers are in either
 12163  // *RevertTransformationResponse.ServerResponse.Header or (if a response was
 12164  // returned at all) in error.(*googleapi.Error).Header. Use
 12165  // googleapi.IsNotModified to check whether the returned error was because
 12166  // http.StatusNotModified was returned.
 12167  func (c *AccountsContainersWorkspacesTransformationsRevertCall) Do(opts ...googleapi.CallOption) (*RevertTransformationResponse, error) {
 12168  	gensupport.SetOptions(c.urlParams_, opts...)
 12169  	res, err := c.doRequest("json")
 12170  	if res != nil && res.StatusCode == http.StatusNotModified {
 12171  		if res.Body != nil {
 12172  			res.Body.Close()
 12173  		}
 12174  		return nil, gensupport.WrapError(&googleapi.Error{
 12175  			Code:   res.StatusCode,
 12176  			Header: res.Header,
 12177  		})
 12178  	}
 12179  	if err != nil {
 12180  		return nil, err
 12181  	}
 12182  	defer googleapi.CloseBody(res)
 12183  	if err := googleapi.CheckResponse(res); err != nil {
 12184  		return nil, gensupport.WrapError(err)
 12185  	}
 12186  	ret := &RevertTransformationResponse{
 12187  		ServerResponse: googleapi.ServerResponse{
 12188  			Header:         res.Header,
 12189  			HTTPStatusCode: res.StatusCode,
 12190  		},
 12191  	}
 12192  	target := &ret
 12193  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12194  		return nil, err
 12195  	}
 12196  	return ret, nil
 12197  }
 12198  
 12199  type AccountsContainersWorkspacesTransformationsUpdateCall struct {
 12200  	s              *Service
 12201  	path           string
 12202  	transformation *Transformation
 12203  	urlParams_     gensupport.URLParams
 12204  	ctx_           context.Context
 12205  	header_        http.Header
 12206  }
 12207  
 12208  // Update: Updates a GTM Transformation.
 12209  //
 12210  //   - path: GTM Transformation's API relative path. Example:
 12211  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 12212  //     ransformations/{transformation_id}.
 12213  func (r *AccountsContainersWorkspacesTransformationsService) Update(path string, transformation *Transformation) *AccountsContainersWorkspacesTransformationsUpdateCall {
 12214  	c := &AccountsContainersWorkspacesTransformationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12215  	c.path = path
 12216  	c.transformation = transformation
 12217  	return c
 12218  }
 12219  
 12220  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 12221  // fingerprint must match the fingerprint of the transformation in storage.
 12222  func (c *AccountsContainersWorkspacesTransformationsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTransformationsUpdateCall {
 12223  	c.urlParams_.Set("fingerprint", fingerprint)
 12224  	return c
 12225  }
 12226  
 12227  // Fields allows partial responses to be retrieved. See
 12228  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12229  // details.
 12230  func (c *AccountsContainersWorkspacesTransformationsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTransformationsUpdateCall {
 12231  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12232  	return c
 12233  }
 12234  
 12235  // Context sets the context to be used in this call's Do method.
 12236  func (c *AccountsContainersWorkspacesTransformationsUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTransformationsUpdateCall {
 12237  	c.ctx_ = ctx
 12238  	return c
 12239  }
 12240  
 12241  // Header returns a http.Header that can be modified by the caller to add
 12242  // headers to the request.
 12243  func (c *AccountsContainersWorkspacesTransformationsUpdateCall) Header() http.Header {
 12244  	if c.header_ == nil {
 12245  		c.header_ = make(http.Header)
 12246  	}
 12247  	return c.header_
 12248  }
 12249  
 12250  func (c *AccountsContainersWorkspacesTransformationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 12251  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12252  	var body io.Reader = nil
 12253  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.transformation)
 12254  	if err != nil {
 12255  		return nil, err
 12256  	}
 12257  	c.urlParams_.Set("alt", alt)
 12258  	c.urlParams_.Set("prettyPrint", "false")
 12259  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 12260  	urls += "?" + c.urlParams_.Encode()
 12261  	req, err := http.NewRequest("PUT", urls, body)
 12262  	if err != nil {
 12263  		return nil, err
 12264  	}
 12265  	req.Header = reqHeaders
 12266  	googleapi.Expand(req.URL, map[string]string{
 12267  		"path": c.path,
 12268  	})
 12269  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12270  }
 12271  
 12272  // Do executes the "tagmanager.accounts.containers.workspaces.transformations.update" call.
 12273  // Any non-2xx status code is an error. Response headers are in either
 12274  // *Transformation.ServerResponse.Header or (if a response was returned at all)
 12275  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12276  // whether the returned error was because http.StatusNotModified was returned.
 12277  func (c *AccountsContainersWorkspacesTransformationsUpdateCall) Do(opts ...googleapi.CallOption) (*Transformation, error) {
 12278  	gensupport.SetOptions(c.urlParams_, opts...)
 12279  	res, err := c.doRequest("json")
 12280  	if res != nil && res.StatusCode == http.StatusNotModified {
 12281  		if res.Body != nil {
 12282  			res.Body.Close()
 12283  		}
 12284  		return nil, gensupport.WrapError(&googleapi.Error{
 12285  			Code:   res.StatusCode,
 12286  			Header: res.Header,
 12287  		})
 12288  	}
 12289  	if err != nil {
 12290  		return nil, err
 12291  	}
 12292  	defer googleapi.CloseBody(res)
 12293  	if err := googleapi.CheckResponse(res); err != nil {
 12294  		return nil, gensupport.WrapError(err)
 12295  	}
 12296  	ret := &Transformation{
 12297  		ServerResponse: googleapi.ServerResponse{
 12298  			Header:         res.Header,
 12299  			HTTPStatusCode: res.StatusCode,
 12300  		},
 12301  	}
 12302  	target := &ret
 12303  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12304  		return nil, err
 12305  	}
 12306  	return ret, nil
 12307  }
 12308  
 12309  type AccountsContainersWorkspacesTriggersCreateCall struct {
 12310  	s          *Service
 12311  	parent     string
 12312  	trigger    *Trigger
 12313  	urlParams_ gensupport.URLParams
 12314  	ctx_       context.Context
 12315  	header_    http.Header
 12316  }
 12317  
 12318  // Create: Creates a GTM Trigger.
 12319  //
 12320  //   - parent: GTM Workspace's API relative path. Example:
 12321  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 12322  func (r *AccountsContainersWorkspacesTriggersService) Create(parent string, trigger *Trigger) *AccountsContainersWorkspacesTriggersCreateCall {
 12323  	c := &AccountsContainersWorkspacesTriggersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12324  	c.parent = parent
 12325  	c.trigger = trigger
 12326  	return c
 12327  }
 12328  
 12329  // Fields allows partial responses to be retrieved. See
 12330  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12331  // details.
 12332  func (c *AccountsContainersWorkspacesTriggersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersCreateCall {
 12333  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12334  	return c
 12335  }
 12336  
 12337  // Context sets the context to be used in this call's Do method.
 12338  func (c *AccountsContainersWorkspacesTriggersCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersCreateCall {
 12339  	c.ctx_ = ctx
 12340  	return c
 12341  }
 12342  
 12343  // Header returns a http.Header that can be modified by the caller to add
 12344  // headers to the request.
 12345  func (c *AccountsContainersWorkspacesTriggersCreateCall) Header() http.Header {
 12346  	if c.header_ == nil {
 12347  		c.header_ = make(http.Header)
 12348  	}
 12349  	return c.header_
 12350  }
 12351  
 12352  func (c *AccountsContainersWorkspacesTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
 12353  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12354  	var body io.Reader = nil
 12355  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.trigger)
 12356  	if err != nil {
 12357  		return nil, err
 12358  	}
 12359  	c.urlParams_.Set("alt", alt)
 12360  	c.urlParams_.Set("prettyPrint", "false")
 12361  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/triggers")
 12362  	urls += "?" + c.urlParams_.Encode()
 12363  	req, err := http.NewRequest("POST", urls, body)
 12364  	if err != nil {
 12365  		return nil, err
 12366  	}
 12367  	req.Header = reqHeaders
 12368  	googleapi.Expand(req.URL, map[string]string{
 12369  		"parent": c.parent,
 12370  	})
 12371  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12372  }
 12373  
 12374  // Do executes the "tagmanager.accounts.containers.workspaces.triggers.create" call.
 12375  // Any non-2xx status code is an error. Response headers are in either
 12376  // *Trigger.ServerResponse.Header or (if a response was returned at all) in
 12377  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12378  // whether the returned error was because http.StatusNotModified was returned.
 12379  func (c *AccountsContainersWorkspacesTriggersCreateCall) Do(opts ...googleapi.CallOption) (*Trigger, error) {
 12380  	gensupport.SetOptions(c.urlParams_, opts...)
 12381  	res, err := c.doRequest("json")
 12382  	if res != nil && res.StatusCode == http.StatusNotModified {
 12383  		if res.Body != nil {
 12384  			res.Body.Close()
 12385  		}
 12386  		return nil, gensupport.WrapError(&googleapi.Error{
 12387  			Code:   res.StatusCode,
 12388  			Header: res.Header,
 12389  		})
 12390  	}
 12391  	if err != nil {
 12392  		return nil, err
 12393  	}
 12394  	defer googleapi.CloseBody(res)
 12395  	if err := googleapi.CheckResponse(res); err != nil {
 12396  		return nil, gensupport.WrapError(err)
 12397  	}
 12398  	ret := &Trigger{
 12399  		ServerResponse: googleapi.ServerResponse{
 12400  			Header:         res.Header,
 12401  			HTTPStatusCode: res.StatusCode,
 12402  		},
 12403  	}
 12404  	target := &ret
 12405  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12406  		return nil, err
 12407  	}
 12408  	return ret, nil
 12409  }
 12410  
 12411  type AccountsContainersWorkspacesTriggersDeleteCall struct {
 12412  	s          *Service
 12413  	path       string
 12414  	urlParams_ gensupport.URLParams
 12415  	ctx_       context.Context
 12416  	header_    http.Header
 12417  }
 12418  
 12419  // Delete: Deletes a GTM Trigger.
 12420  //
 12421  //   - path: GTM Trigger's API relative path. Example:
 12422  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 12423  //     riggers/{trigger_id}.
 12424  func (r *AccountsContainersWorkspacesTriggersService) Delete(path string) *AccountsContainersWorkspacesTriggersDeleteCall {
 12425  	c := &AccountsContainersWorkspacesTriggersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12426  	c.path = path
 12427  	return c
 12428  }
 12429  
 12430  // Fields allows partial responses to be retrieved. See
 12431  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12432  // details.
 12433  func (c *AccountsContainersWorkspacesTriggersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersDeleteCall {
 12434  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12435  	return c
 12436  }
 12437  
 12438  // Context sets the context to be used in this call's Do method.
 12439  func (c *AccountsContainersWorkspacesTriggersDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersDeleteCall {
 12440  	c.ctx_ = ctx
 12441  	return c
 12442  }
 12443  
 12444  // Header returns a http.Header that can be modified by the caller to add
 12445  // headers to the request.
 12446  func (c *AccountsContainersWorkspacesTriggersDeleteCall) Header() http.Header {
 12447  	if c.header_ == nil {
 12448  		c.header_ = make(http.Header)
 12449  	}
 12450  	return c.header_
 12451  }
 12452  
 12453  func (c *AccountsContainersWorkspacesTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
 12454  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12455  	var body io.Reader = nil
 12456  	c.urlParams_.Set("alt", alt)
 12457  	c.urlParams_.Set("prettyPrint", "false")
 12458  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 12459  	urls += "?" + c.urlParams_.Encode()
 12460  	req, err := http.NewRequest("DELETE", urls, body)
 12461  	if err != nil {
 12462  		return nil, err
 12463  	}
 12464  	req.Header = reqHeaders
 12465  	googleapi.Expand(req.URL, map[string]string{
 12466  		"path": c.path,
 12467  	})
 12468  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12469  }
 12470  
 12471  // Do executes the "tagmanager.accounts.containers.workspaces.triggers.delete" call.
 12472  func (c *AccountsContainersWorkspacesTriggersDeleteCall) Do(opts ...googleapi.CallOption) error {
 12473  	gensupport.SetOptions(c.urlParams_, opts...)
 12474  	res, err := c.doRequest("json")
 12475  	if err != nil {
 12476  		return err
 12477  	}
 12478  	defer googleapi.CloseBody(res)
 12479  	if err := googleapi.CheckResponse(res); err != nil {
 12480  		return gensupport.WrapError(err)
 12481  	}
 12482  	return nil
 12483  }
 12484  
 12485  type AccountsContainersWorkspacesTriggersGetCall struct {
 12486  	s            *Service
 12487  	path         string
 12488  	urlParams_   gensupport.URLParams
 12489  	ifNoneMatch_ string
 12490  	ctx_         context.Context
 12491  	header_      http.Header
 12492  }
 12493  
 12494  // Get: Gets a GTM Trigger.
 12495  //
 12496  //   - path: GTM Trigger's API relative path. Example:
 12497  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 12498  //     riggers/{trigger_id}.
 12499  func (r *AccountsContainersWorkspacesTriggersService) Get(path string) *AccountsContainersWorkspacesTriggersGetCall {
 12500  	c := &AccountsContainersWorkspacesTriggersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12501  	c.path = path
 12502  	return c
 12503  }
 12504  
 12505  // Fields allows partial responses to be retrieved. See
 12506  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12507  // details.
 12508  func (c *AccountsContainersWorkspacesTriggersGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersGetCall {
 12509  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12510  	return c
 12511  }
 12512  
 12513  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12514  // object's ETag matches the given value. This is useful for getting updates
 12515  // only after the object has changed since the last request.
 12516  func (c *AccountsContainersWorkspacesTriggersGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTriggersGetCall {
 12517  	c.ifNoneMatch_ = entityTag
 12518  	return c
 12519  }
 12520  
 12521  // Context sets the context to be used in this call's Do method.
 12522  func (c *AccountsContainersWorkspacesTriggersGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersGetCall {
 12523  	c.ctx_ = ctx
 12524  	return c
 12525  }
 12526  
 12527  // Header returns a http.Header that can be modified by the caller to add
 12528  // headers to the request.
 12529  func (c *AccountsContainersWorkspacesTriggersGetCall) Header() http.Header {
 12530  	if c.header_ == nil {
 12531  		c.header_ = make(http.Header)
 12532  	}
 12533  	return c.header_
 12534  }
 12535  
 12536  func (c *AccountsContainersWorkspacesTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 12537  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12538  	if c.ifNoneMatch_ != "" {
 12539  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12540  	}
 12541  	var body io.Reader = nil
 12542  	c.urlParams_.Set("alt", alt)
 12543  	c.urlParams_.Set("prettyPrint", "false")
 12544  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 12545  	urls += "?" + c.urlParams_.Encode()
 12546  	req, err := http.NewRequest("GET", urls, body)
 12547  	if err != nil {
 12548  		return nil, err
 12549  	}
 12550  	req.Header = reqHeaders
 12551  	googleapi.Expand(req.URL, map[string]string{
 12552  		"path": c.path,
 12553  	})
 12554  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12555  }
 12556  
 12557  // Do executes the "tagmanager.accounts.containers.workspaces.triggers.get" call.
 12558  // Any non-2xx status code is an error. Response headers are in either
 12559  // *Trigger.ServerResponse.Header or (if a response was returned at all) in
 12560  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12561  // whether the returned error was because http.StatusNotModified was returned.
 12562  func (c *AccountsContainersWorkspacesTriggersGetCall) Do(opts ...googleapi.CallOption) (*Trigger, error) {
 12563  	gensupport.SetOptions(c.urlParams_, opts...)
 12564  	res, err := c.doRequest("json")
 12565  	if res != nil && res.StatusCode == http.StatusNotModified {
 12566  		if res.Body != nil {
 12567  			res.Body.Close()
 12568  		}
 12569  		return nil, gensupport.WrapError(&googleapi.Error{
 12570  			Code:   res.StatusCode,
 12571  			Header: res.Header,
 12572  		})
 12573  	}
 12574  	if err != nil {
 12575  		return nil, err
 12576  	}
 12577  	defer googleapi.CloseBody(res)
 12578  	if err := googleapi.CheckResponse(res); err != nil {
 12579  		return nil, gensupport.WrapError(err)
 12580  	}
 12581  	ret := &Trigger{
 12582  		ServerResponse: googleapi.ServerResponse{
 12583  			Header:         res.Header,
 12584  			HTTPStatusCode: res.StatusCode,
 12585  		},
 12586  	}
 12587  	target := &ret
 12588  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12589  		return nil, err
 12590  	}
 12591  	return ret, nil
 12592  }
 12593  
 12594  type AccountsContainersWorkspacesTriggersListCall struct {
 12595  	s            *Service
 12596  	parent       string
 12597  	urlParams_   gensupport.URLParams
 12598  	ifNoneMatch_ string
 12599  	ctx_         context.Context
 12600  	header_      http.Header
 12601  }
 12602  
 12603  // List: Lists all GTM Triggers of a Container.
 12604  //
 12605  //   - parent: GTM Workspace's API relative path. Example:
 12606  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 12607  func (r *AccountsContainersWorkspacesTriggersService) List(parent string) *AccountsContainersWorkspacesTriggersListCall {
 12608  	c := &AccountsContainersWorkspacesTriggersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12609  	c.parent = parent
 12610  	return c
 12611  }
 12612  
 12613  // PageToken sets the optional parameter "pageToken": Continuation token for
 12614  // fetching the next page of results.
 12615  func (c *AccountsContainersWorkspacesTriggersListCall) PageToken(pageToken string) *AccountsContainersWorkspacesTriggersListCall {
 12616  	c.urlParams_.Set("pageToken", pageToken)
 12617  	return c
 12618  }
 12619  
 12620  // Fields allows partial responses to be retrieved. See
 12621  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12622  // details.
 12623  func (c *AccountsContainersWorkspacesTriggersListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersListCall {
 12624  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12625  	return c
 12626  }
 12627  
 12628  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12629  // object's ETag matches the given value. This is useful for getting updates
 12630  // only after the object has changed since the last request.
 12631  func (c *AccountsContainersWorkspacesTriggersListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesTriggersListCall {
 12632  	c.ifNoneMatch_ = entityTag
 12633  	return c
 12634  }
 12635  
 12636  // Context sets the context to be used in this call's Do method.
 12637  func (c *AccountsContainersWorkspacesTriggersListCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersListCall {
 12638  	c.ctx_ = ctx
 12639  	return c
 12640  }
 12641  
 12642  // Header returns a http.Header that can be modified by the caller to add
 12643  // headers to the request.
 12644  func (c *AccountsContainersWorkspacesTriggersListCall) Header() http.Header {
 12645  	if c.header_ == nil {
 12646  		c.header_ = make(http.Header)
 12647  	}
 12648  	return c.header_
 12649  }
 12650  
 12651  func (c *AccountsContainersWorkspacesTriggersListCall) doRequest(alt string) (*http.Response, error) {
 12652  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12653  	if c.ifNoneMatch_ != "" {
 12654  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12655  	}
 12656  	var body io.Reader = nil
 12657  	c.urlParams_.Set("alt", alt)
 12658  	c.urlParams_.Set("prettyPrint", "false")
 12659  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/triggers")
 12660  	urls += "?" + c.urlParams_.Encode()
 12661  	req, err := http.NewRequest("GET", urls, body)
 12662  	if err != nil {
 12663  		return nil, err
 12664  	}
 12665  	req.Header = reqHeaders
 12666  	googleapi.Expand(req.URL, map[string]string{
 12667  		"parent": c.parent,
 12668  	})
 12669  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12670  }
 12671  
 12672  // Do executes the "tagmanager.accounts.containers.workspaces.triggers.list" call.
 12673  // Any non-2xx status code is an error. Response headers are in either
 12674  // *ListTriggersResponse.ServerResponse.Header or (if a response was returned
 12675  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 12676  // check whether the returned error was because http.StatusNotModified was
 12677  // returned.
 12678  func (c *AccountsContainersWorkspacesTriggersListCall) Do(opts ...googleapi.CallOption) (*ListTriggersResponse, error) {
 12679  	gensupport.SetOptions(c.urlParams_, opts...)
 12680  	res, err := c.doRequest("json")
 12681  	if res != nil && res.StatusCode == http.StatusNotModified {
 12682  		if res.Body != nil {
 12683  			res.Body.Close()
 12684  		}
 12685  		return nil, gensupport.WrapError(&googleapi.Error{
 12686  			Code:   res.StatusCode,
 12687  			Header: res.Header,
 12688  		})
 12689  	}
 12690  	if err != nil {
 12691  		return nil, err
 12692  	}
 12693  	defer googleapi.CloseBody(res)
 12694  	if err := googleapi.CheckResponse(res); err != nil {
 12695  		return nil, gensupport.WrapError(err)
 12696  	}
 12697  	ret := &ListTriggersResponse{
 12698  		ServerResponse: googleapi.ServerResponse{
 12699  			Header:         res.Header,
 12700  			HTTPStatusCode: res.StatusCode,
 12701  		},
 12702  	}
 12703  	target := &ret
 12704  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12705  		return nil, err
 12706  	}
 12707  	return ret, nil
 12708  }
 12709  
 12710  // Pages invokes f for each page of results.
 12711  // A non-nil error returned from f will halt the iteration.
 12712  // The provided context supersedes any context provided to the Context method.
 12713  func (c *AccountsContainersWorkspacesTriggersListCall) Pages(ctx context.Context, f func(*ListTriggersResponse) error) error {
 12714  	c.ctx_ = ctx
 12715  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 12716  	for {
 12717  		x, err := c.Do()
 12718  		if err != nil {
 12719  			return err
 12720  		}
 12721  		if err := f(x); err != nil {
 12722  			return err
 12723  		}
 12724  		if x.NextPageToken == "" {
 12725  			return nil
 12726  		}
 12727  		c.PageToken(x.NextPageToken)
 12728  	}
 12729  }
 12730  
 12731  type AccountsContainersWorkspacesTriggersRevertCall struct {
 12732  	s          *Service
 12733  	path       string
 12734  	urlParams_ gensupport.URLParams
 12735  	ctx_       context.Context
 12736  	header_    http.Header
 12737  }
 12738  
 12739  // Revert: Reverts changes to a GTM Trigger in a GTM Workspace.
 12740  //
 12741  //   - path: GTM Trigger's API relative path. Example:
 12742  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 12743  //     riggers/{trigger_id}.
 12744  func (r *AccountsContainersWorkspacesTriggersService) Revert(path string) *AccountsContainersWorkspacesTriggersRevertCall {
 12745  	c := &AccountsContainersWorkspacesTriggersRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12746  	c.path = path
 12747  	return c
 12748  }
 12749  
 12750  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 12751  // fingerprint must match the fingerprint of the trigger in storage.
 12752  func (c *AccountsContainersWorkspacesTriggersRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTriggersRevertCall {
 12753  	c.urlParams_.Set("fingerprint", fingerprint)
 12754  	return c
 12755  }
 12756  
 12757  // Fields allows partial responses to be retrieved. See
 12758  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12759  // details.
 12760  func (c *AccountsContainersWorkspacesTriggersRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersRevertCall {
 12761  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12762  	return c
 12763  }
 12764  
 12765  // Context sets the context to be used in this call's Do method.
 12766  func (c *AccountsContainersWorkspacesTriggersRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersRevertCall {
 12767  	c.ctx_ = ctx
 12768  	return c
 12769  }
 12770  
 12771  // Header returns a http.Header that can be modified by the caller to add
 12772  // headers to the request.
 12773  func (c *AccountsContainersWorkspacesTriggersRevertCall) Header() http.Header {
 12774  	if c.header_ == nil {
 12775  		c.header_ = make(http.Header)
 12776  	}
 12777  	return c.header_
 12778  }
 12779  
 12780  func (c *AccountsContainersWorkspacesTriggersRevertCall) doRequest(alt string) (*http.Response, error) {
 12781  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12782  	var body io.Reader = nil
 12783  	c.urlParams_.Set("alt", alt)
 12784  	c.urlParams_.Set("prettyPrint", "false")
 12785  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 12786  	urls += "?" + c.urlParams_.Encode()
 12787  	req, err := http.NewRequest("POST", urls, body)
 12788  	if err != nil {
 12789  		return nil, err
 12790  	}
 12791  	req.Header = reqHeaders
 12792  	googleapi.Expand(req.URL, map[string]string{
 12793  		"path": c.path,
 12794  	})
 12795  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12796  }
 12797  
 12798  // Do executes the "tagmanager.accounts.containers.workspaces.triggers.revert" call.
 12799  // Any non-2xx status code is an error. Response headers are in either
 12800  // *RevertTriggerResponse.ServerResponse.Header or (if a response was returned
 12801  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 12802  // check whether the returned error was because http.StatusNotModified was
 12803  // returned.
 12804  func (c *AccountsContainersWorkspacesTriggersRevertCall) Do(opts ...googleapi.CallOption) (*RevertTriggerResponse, error) {
 12805  	gensupport.SetOptions(c.urlParams_, opts...)
 12806  	res, err := c.doRequest("json")
 12807  	if res != nil && res.StatusCode == http.StatusNotModified {
 12808  		if res.Body != nil {
 12809  			res.Body.Close()
 12810  		}
 12811  		return nil, gensupport.WrapError(&googleapi.Error{
 12812  			Code:   res.StatusCode,
 12813  			Header: res.Header,
 12814  		})
 12815  	}
 12816  	if err != nil {
 12817  		return nil, err
 12818  	}
 12819  	defer googleapi.CloseBody(res)
 12820  	if err := googleapi.CheckResponse(res); err != nil {
 12821  		return nil, gensupport.WrapError(err)
 12822  	}
 12823  	ret := &RevertTriggerResponse{
 12824  		ServerResponse: googleapi.ServerResponse{
 12825  			Header:         res.Header,
 12826  			HTTPStatusCode: res.StatusCode,
 12827  		},
 12828  	}
 12829  	target := &ret
 12830  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12831  		return nil, err
 12832  	}
 12833  	return ret, nil
 12834  }
 12835  
 12836  type AccountsContainersWorkspacesTriggersUpdateCall struct {
 12837  	s          *Service
 12838  	path       string
 12839  	trigger    *Trigger
 12840  	urlParams_ gensupport.URLParams
 12841  	ctx_       context.Context
 12842  	header_    http.Header
 12843  }
 12844  
 12845  // Update: Updates a GTM Trigger.
 12846  //
 12847  //   - path: GTM Trigger's API relative path. Example:
 12848  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/t
 12849  //     riggers/{trigger_id}.
 12850  func (r *AccountsContainersWorkspacesTriggersService) Update(path string, trigger *Trigger) *AccountsContainersWorkspacesTriggersUpdateCall {
 12851  	c := &AccountsContainersWorkspacesTriggersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12852  	c.path = path
 12853  	c.trigger = trigger
 12854  	return c
 12855  }
 12856  
 12857  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 12858  // fingerprint must match the fingerprint of the trigger in storage.
 12859  func (c *AccountsContainersWorkspacesTriggersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesTriggersUpdateCall {
 12860  	c.urlParams_.Set("fingerprint", fingerprint)
 12861  	return c
 12862  }
 12863  
 12864  // Fields allows partial responses to be retrieved. See
 12865  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12866  // details.
 12867  func (c *AccountsContainersWorkspacesTriggersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesTriggersUpdateCall {
 12868  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12869  	return c
 12870  }
 12871  
 12872  // Context sets the context to be used in this call's Do method.
 12873  func (c *AccountsContainersWorkspacesTriggersUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesTriggersUpdateCall {
 12874  	c.ctx_ = ctx
 12875  	return c
 12876  }
 12877  
 12878  // Header returns a http.Header that can be modified by the caller to add
 12879  // headers to the request.
 12880  func (c *AccountsContainersWorkspacesTriggersUpdateCall) Header() http.Header {
 12881  	if c.header_ == nil {
 12882  		c.header_ = make(http.Header)
 12883  	}
 12884  	return c.header_
 12885  }
 12886  
 12887  func (c *AccountsContainersWorkspacesTriggersUpdateCall) doRequest(alt string) (*http.Response, error) {
 12888  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12889  	var body io.Reader = nil
 12890  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.trigger)
 12891  	if err != nil {
 12892  		return nil, err
 12893  	}
 12894  	c.urlParams_.Set("alt", alt)
 12895  	c.urlParams_.Set("prettyPrint", "false")
 12896  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 12897  	urls += "?" + c.urlParams_.Encode()
 12898  	req, err := http.NewRequest("PUT", urls, body)
 12899  	if err != nil {
 12900  		return nil, err
 12901  	}
 12902  	req.Header = reqHeaders
 12903  	googleapi.Expand(req.URL, map[string]string{
 12904  		"path": c.path,
 12905  	})
 12906  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12907  }
 12908  
 12909  // Do executes the "tagmanager.accounts.containers.workspaces.triggers.update" call.
 12910  // Any non-2xx status code is an error. Response headers are in either
 12911  // *Trigger.ServerResponse.Header or (if a response was returned at all) in
 12912  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12913  // whether the returned error was because http.StatusNotModified was returned.
 12914  func (c *AccountsContainersWorkspacesTriggersUpdateCall) Do(opts ...googleapi.CallOption) (*Trigger, error) {
 12915  	gensupport.SetOptions(c.urlParams_, opts...)
 12916  	res, err := c.doRequest("json")
 12917  	if res != nil && res.StatusCode == http.StatusNotModified {
 12918  		if res.Body != nil {
 12919  			res.Body.Close()
 12920  		}
 12921  		return nil, gensupport.WrapError(&googleapi.Error{
 12922  			Code:   res.StatusCode,
 12923  			Header: res.Header,
 12924  		})
 12925  	}
 12926  	if err != nil {
 12927  		return nil, err
 12928  	}
 12929  	defer googleapi.CloseBody(res)
 12930  	if err := googleapi.CheckResponse(res); err != nil {
 12931  		return nil, gensupport.WrapError(err)
 12932  	}
 12933  	ret := &Trigger{
 12934  		ServerResponse: googleapi.ServerResponse{
 12935  			Header:         res.Header,
 12936  			HTTPStatusCode: res.StatusCode,
 12937  		},
 12938  	}
 12939  	target := &ret
 12940  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12941  		return nil, err
 12942  	}
 12943  	return ret, nil
 12944  }
 12945  
 12946  type AccountsContainersWorkspacesVariablesCreateCall struct {
 12947  	s          *Service
 12948  	parent     string
 12949  	variable   *Variable
 12950  	urlParams_ gensupport.URLParams
 12951  	ctx_       context.Context
 12952  	header_    http.Header
 12953  }
 12954  
 12955  // Create: Creates a GTM Variable.
 12956  //
 12957  //   - parent: GTM Workspace's API relative path. Example:
 12958  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 12959  func (r *AccountsContainersWorkspacesVariablesService) Create(parent string, variable *Variable) *AccountsContainersWorkspacesVariablesCreateCall {
 12960  	c := &AccountsContainersWorkspacesVariablesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12961  	c.parent = parent
 12962  	c.variable = variable
 12963  	return c
 12964  }
 12965  
 12966  // Fields allows partial responses to be retrieved. See
 12967  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12968  // details.
 12969  func (c *AccountsContainersWorkspacesVariablesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesCreateCall {
 12970  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12971  	return c
 12972  }
 12973  
 12974  // Context sets the context to be used in this call's Do method.
 12975  func (c *AccountsContainersWorkspacesVariablesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesCreateCall {
 12976  	c.ctx_ = ctx
 12977  	return c
 12978  }
 12979  
 12980  // Header returns a http.Header that can be modified by the caller to add
 12981  // headers to the request.
 12982  func (c *AccountsContainersWorkspacesVariablesCreateCall) Header() http.Header {
 12983  	if c.header_ == nil {
 12984  		c.header_ = make(http.Header)
 12985  	}
 12986  	return c.header_
 12987  }
 12988  
 12989  func (c *AccountsContainersWorkspacesVariablesCreateCall) doRequest(alt string) (*http.Response, error) {
 12990  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12991  	var body io.Reader = nil
 12992  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.variable)
 12993  	if err != nil {
 12994  		return nil, err
 12995  	}
 12996  	c.urlParams_.Set("alt", alt)
 12997  	c.urlParams_.Set("prettyPrint", "false")
 12998  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/variables")
 12999  	urls += "?" + c.urlParams_.Encode()
 13000  	req, err := http.NewRequest("POST", urls, body)
 13001  	if err != nil {
 13002  		return nil, err
 13003  	}
 13004  	req.Header = reqHeaders
 13005  	googleapi.Expand(req.URL, map[string]string{
 13006  		"parent": c.parent,
 13007  	})
 13008  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13009  }
 13010  
 13011  // Do executes the "tagmanager.accounts.containers.workspaces.variables.create" call.
 13012  // Any non-2xx status code is an error. Response headers are in either
 13013  // *Variable.ServerResponse.Header or (if a response was returned at all) in
 13014  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13015  // whether the returned error was because http.StatusNotModified was returned.
 13016  func (c *AccountsContainersWorkspacesVariablesCreateCall) Do(opts ...googleapi.CallOption) (*Variable, error) {
 13017  	gensupport.SetOptions(c.urlParams_, opts...)
 13018  	res, err := c.doRequest("json")
 13019  	if res != nil && res.StatusCode == http.StatusNotModified {
 13020  		if res.Body != nil {
 13021  			res.Body.Close()
 13022  		}
 13023  		return nil, gensupport.WrapError(&googleapi.Error{
 13024  			Code:   res.StatusCode,
 13025  			Header: res.Header,
 13026  		})
 13027  	}
 13028  	if err != nil {
 13029  		return nil, err
 13030  	}
 13031  	defer googleapi.CloseBody(res)
 13032  	if err := googleapi.CheckResponse(res); err != nil {
 13033  		return nil, gensupport.WrapError(err)
 13034  	}
 13035  	ret := &Variable{
 13036  		ServerResponse: googleapi.ServerResponse{
 13037  			Header:         res.Header,
 13038  			HTTPStatusCode: res.StatusCode,
 13039  		},
 13040  	}
 13041  	target := &ret
 13042  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13043  		return nil, err
 13044  	}
 13045  	return ret, nil
 13046  }
 13047  
 13048  type AccountsContainersWorkspacesVariablesDeleteCall struct {
 13049  	s          *Service
 13050  	path       string
 13051  	urlParams_ gensupport.URLParams
 13052  	ctx_       context.Context
 13053  	header_    http.Header
 13054  }
 13055  
 13056  // Delete: Deletes a GTM Variable.
 13057  //
 13058  //   - path: GTM Variable's API relative path. Example:
 13059  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/v
 13060  //     ariables/{variable_id}.
 13061  func (r *AccountsContainersWorkspacesVariablesService) Delete(path string) *AccountsContainersWorkspacesVariablesDeleteCall {
 13062  	c := &AccountsContainersWorkspacesVariablesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13063  	c.path = path
 13064  	return c
 13065  }
 13066  
 13067  // Fields allows partial responses to be retrieved. See
 13068  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13069  // details.
 13070  func (c *AccountsContainersWorkspacesVariablesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesDeleteCall {
 13071  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13072  	return c
 13073  }
 13074  
 13075  // Context sets the context to be used in this call's Do method.
 13076  func (c *AccountsContainersWorkspacesVariablesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesDeleteCall {
 13077  	c.ctx_ = ctx
 13078  	return c
 13079  }
 13080  
 13081  // Header returns a http.Header that can be modified by the caller to add
 13082  // headers to the request.
 13083  func (c *AccountsContainersWorkspacesVariablesDeleteCall) Header() http.Header {
 13084  	if c.header_ == nil {
 13085  		c.header_ = make(http.Header)
 13086  	}
 13087  	return c.header_
 13088  }
 13089  
 13090  func (c *AccountsContainersWorkspacesVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 13091  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13092  	var body io.Reader = nil
 13093  	c.urlParams_.Set("alt", alt)
 13094  	c.urlParams_.Set("prettyPrint", "false")
 13095  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 13096  	urls += "?" + c.urlParams_.Encode()
 13097  	req, err := http.NewRequest("DELETE", urls, body)
 13098  	if err != nil {
 13099  		return nil, err
 13100  	}
 13101  	req.Header = reqHeaders
 13102  	googleapi.Expand(req.URL, map[string]string{
 13103  		"path": c.path,
 13104  	})
 13105  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13106  }
 13107  
 13108  // Do executes the "tagmanager.accounts.containers.workspaces.variables.delete" call.
 13109  func (c *AccountsContainersWorkspacesVariablesDeleteCall) Do(opts ...googleapi.CallOption) error {
 13110  	gensupport.SetOptions(c.urlParams_, opts...)
 13111  	res, err := c.doRequest("json")
 13112  	if err != nil {
 13113  		return err
 13114  	}
 13115  	defer googleapi.CloseBody(res)
 13116  	if err := googleapi.CheckResponse(res); err != nil {
 13117  		return gensupport.WrapError(err)
 13118  	}
 13119  	return nil
 13120  }
 13121  
 13122  type AccountsContainersWorkspacesVariablesGetCall struct {
 13123  	s            *Service
 13124  	path         string
 13125  	urlParams_   gensupport.URLParams
 13126  	ifNoneMatch_ string
 13127  	ctx_         context.Context
 13128  	header_      http.Header
 13129  }
 13130  
 13131  // Get: Gets a GTM Variable.
 13132  //
 13133  //   - path: GTM Variable's API relative path. Example:
 13134  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/v
 13135  //     ariables/{variable_id}.
 13136  func (r *AccountsContainersWorkspacesVariablesService) Get(path string) *AccountsContainersWorkspacesVariablesGetCall {
 13137  	c := &AccountsContainersWorkspacesVariablesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13138  	c.path = path
 13139  	return c
 13140  }
 13141  
 13142  // Fields allows partial responses to be retrieved. See
 13143  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13144  // details.
 13145  func (c *AccountsContainersWorkspacesVariablesGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesGetCall {
 13146  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13147  	return c
 13148  }
 13149  
 13150  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13151  // object's ETag matches the given value. This is useful for getting updates
 13152  // only after the object has changed since the last request.
 13153  func (c *AccountsContainersWorkspacesVariablesGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesVariablesGetCall {
 13154  	c.ifNoneMatch_ = entityTag
 13155  	return c
 13156  }
 13157  
 13158  // Context sets the context to be used in this call's Do method.
 13159  func (c *AccountsContainersWorkspacesVariablesGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesGetCall {
 13160  	c.ctx_ = ctx
 13161  	return c
 13162  }
 13163  
 13164  // Header returns a http.Header that can be modified by the caller to add
 13165  // headers to the request.
 13166  func (c *AccountsContainersWorkspacesVariablesGetCall) Header() http.Header {
 13167  	if c.header_ == nil {
 13168  		c.header_ = make(http.Header)
 13169  	}
 13170  	return c.header_
 13171  }
 13172  
 13173  func (c *AccountsContainersWorkspacesVariablesGetCall) doRequest(alt string) (*http.Response, error) {
 13174  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13175  	if c.ifNoneMatch_ != "" {
 13176  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13177  	}
 13178  	var body io.Reader = nil
 13179  	c.urlParams_.Set("alt", alt)
 13180  	c.urlParams_.Set("prettyPrint", "false")
 13181  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 13182  	urls += "?" + c.urlParams_.Encode()
 13183  	req, err := http.NewRequest("GET", urls, body)
 13184  	if err != nil {
 13185  		return nil, err
 13186  	}
 13187  	req.Header = reqHeaders
 13188  	googleapi.Expand(req.URL, map[string]string{
 13189  		"path": c.path,
 13190  	})
 13191  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13192  }
 13193  
 13194  // Do executes the "tagmanager.accounts.containers.workspaces.variables.get" call.
 13195  // Any non-2xx status code is an error. Response headers are in either
 13196  // *Variable.ServerResponse.Header or (if a response was returned at all) in
 13197  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13198  // whether the returned error was because http.StatusNotModified was returned.
 13199  func (c *AccountsContainersWorkspacesVariablesGetCall) Do(opts ...googleapi.CallOption) (*Variable, error) {
 13200  	gensupport.SetOptions(c.urlParams_, opts...)
 13201  	res, err := c.doRequest("json")
 13202  	if res != nil && res.StatusCode == http.StatusNotModified {
 13203  		if res.Body != nil {
 13204  			res.Body.Close()
 13205  		}
 13206  		return nil, gensupport.WrapError(&googleapi.Error{
 13207  			Code:   res.StatusCode,
 13208  			Header: res.Header,
 13209  		})
 13210  	}
 13211  	if err != nil {
 13212  		return nil, err
 13213  	}
 13214  	defer googleapi.CloseBody(res)
 13215  	if err := googleapi.CheckResponse(res); err != nil {
 13216  		return nil, gensupport.WrapError(err)
 13217  	}
 13218  	ret := &Variable{
 13219  		ServerResponse: googleapi.ServerResponse{
 13220  			Header:         res.Header,
 13221  			HTTPStatusCode: res.StatusCode,
 13222  		},
 13223  	}
 13224  	target := &ret
 13225  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13226  		return nil, err
 13227  	}
 13228  	return ret, nil
 13229  }
 13230  
 13231  type AccountsContainersWorkspacesVariablesListCall struct {
 13232  	s            *Service
 13233  	parent       string
 13234  	urlParams_   gensupport.URLParams
 13235  	ifNoneMatch_ string
 13236  	ctx_         context.Context
 13237  	header_      http.Header
 13238  }
 13239  
 13240  // List: Lists all GTM Variables of a Container.
 13241  //
 13242  //   - parent: GTM Workspace's API relative path. Example:
 13243  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 13244  func (r *AccountsContainersWorkspacesVariablesService) List(parent string) *AccountsContainersWorkspacesVariablesListCall {
 13245  	c := &AccountsContainersWorkspacesVariablesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13246  	c.parent = parent
 13247  	return c
 13248  }
 13249  
 13250  // PageToken sets the optional parameter "pageToken": Continuation token for
 13251  // fetching the next page of results.
 13252  func (c *AccountsContainersWorkspacesVariablesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesVariablesListCall {
 13253  	c.urlParams_.Set("pageToken", pageToken)
 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 for more
 13259  // details.
 13260  func (c *AccountsContainersWorkspacesVariablesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesListCall {
 13261  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13262  	return c
 13263  }
 13264  
 13265  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13266  // object's ETag matches the given value. This is useful for getting updates
 13267  // only after the object has changed since the last request.
 13268  func (c *AccountsContainersWorkspacesVariablesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesVariablesListCall {
 13269  	c.ifNoneMatch_ = entityTag
 13270  	return c
 13271  }
 13272  
 13273  // Context sets the context to be used in this call's Do method.
 13274  func (c *AccountsContainersWorkspacesVariablesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesListCall {
 13275  	c.ctx_ = ctx
 13276  	return c
 13277  }
 13278  
 13279  // Header returns a http.Header that can be modified by the caller to add
 13280  // headers to the request.
 13281  func (c *AccountsContainersWorkspacesVariablesListCall) Header() http.Header {
 13282  	if c.header_ == nil {
 13283  		c.header_ = make(http.Header)
 13284  	}
 13285  	return c.header_
 13286  }
 13287  
 13288  func (c *AccountsContainersWorkspacesVariablesListCall) doRequest(alt string) (*http.Response, error) {
 13289  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13290  	if c.ifNoneMatch_ != "" {
 13291  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13292  	}
 13293  	var body io.Reader = nil
 13294  	c.urlParams_.Set("alt", alt)
 13295  	c.urlParams_.Set("prettyPrint", "false")
 13296  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/variables")
 13297  	urls += "?" + c.urlParams_.Encode()
 13298  	req, err := http.NewRequest("GET", urls, body)
 13299  	if err != nil {
 13300  		return nil, err
 13301  	}
 13302  	req.Header = reqHeaders
 13303  	googleapi.Expand(req.URL, map[string]string{
 13304  		"parent": c.parent,
 13305  	})
 13306  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13307  }
 13308  
 13309  // Do executes the "tagmanager.accounts.containers.workspaces.variables.list" call.
 13310  // Any non-2xx status code is an error. Response headers are in either
 13311  // *ListVariablesResponse.ServerResponse.Header or (if a response was returned
 13312  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13313  // check whether the returned error was because http.StatusNotModified was
 13314  // returned.
 13315  func (c *AccountsContainersWorkspacesVariablesListCall) Do(opts ...googleapi.CallOption) (*ListVariablesResponse, error) {
 13316  	gensupport.SetOptions(c.urlParams_, opts...)
 13317  	res, err := c.doRequest("json")
 13318  	if res != nil && res.StatusCode == http.StatusNotModified {
 13319  		if res.Body != nil {
 13320  			res.Body.Close()
 13321  		}
 13322  		return nil, gensupport.WrapError(&googleapi.Error{
 13323  			Code:   res.StatusCode,
 13324  			Header: res.Header,
 13325  		})
 13326  	}
 13327  	if err != nil {
 13328  		return nil, err
 13329  	}
 13330  	defer googleapi.CloseBody(res)
 13331  	if err := googleapi.CheckResponse(res); err != nil {
 13332  		return nil, gensupport.WrapError(err)
 13333  	}
 13334  	ret := &ListVariablesResponse{
 13335  		ServerResponse: googleapi.ServerResponse{
 13336  			Header:         res.Header,
 13337  			HTTPStatusCode: res.StatusCode,
 13338  		},
 13339  	}
 13340  	target := &ret
 13341  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13342  		return nil, err
 13343  	}
 13344  	return ret, nil
 13345  }
 13346  
 13347  // Pages invokes f for each page of results.
 13348  // A non-nil error returned from f will halt the iteration.
 13349  // The provided context supersedes any context provided to the Context method.
 13350  func (c *AccountsContainersWorkspacesVariablesListCall) Pages(ctx context.Context, f func(*ListVariablesResponse) error) error {
 13351  	c.ctx_ = ctx
 13352  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 13353  	for {
 13354  		x, err := c.Do()
 13355  		if err != nil {
 13356  			return err
 13357  		}
 13358  		if err := f(x); err != nil {
 13359  			return err
 13360  		}
 13361  		if x.NextPageToken == "" {
 13362  			return nil
 13363  		}
 13364  		c.PageToken(x.NextPageToken)
 13365  	}
 13366  }
 13367  
 13368  type AccountsContainersWorkspacesVariablesRevertCall struct {
 13369  	s          *Service
 13370  	path       string
 13371  	urlParams_ gensupport.URLParams
 13372  	ctx_       context.Context
 13373  	header_    http.Header
 13374  }
 13375  
 13376  // Revert: Reverts changes to a GTM Variable in a GTM Workspace.
 13377  //
 13378  //   - path: GTM Variable's API relative path. Example:
 13379  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/v
 13380  //     ariables/{variable_id}.
 13381  func (r *AccountsContainersWorkspacesVariablesService) Revert(path string) *AccountsContainersWorkspacesVariablesRevertCall {
 13382  	c := &AccountsContainersWorkspacesVariablesRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13383  	c.path = path
 13384  	return c
 13385  }
 13386  
 13387  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 13388  // fingerprint must match the fingerprint of the variable in storage.
 13389  func (c *AccountsContainersWorkspacesVariablesRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesVariablesRevertCall {
 13390  	c.urlParams_.Set("fingerprint", fingerprint)
 13391  	return c
 13392  }
 13393  
 13394  // Fields allows partial responses to be retrieved. See
 13395  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13396  // details.
 13397  func (c *AccountsContainersWorkspacesVariablesRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesRevertCall {
 13398  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13399  	return c
 13400  }
 13401  
 13402  // Context sets the context to be used in this call's Do method.
 13403  func (c *AccountsContainersWorkspacesVariablesRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesRevertCall {
 13404  	c.ctx_ = ctx
 13405  	return c
 13406  }
 13407  
 13408  // Header returns a http.Header that can be modified by the caller to add
 13409  // headers to the request.
 13410  func (c *AccountsContainersWorkspacesVariablesRevertCall) Header() http.Header {
 13411  	if c.header_ == nil {
 13412  		c.header_ = make(http.Header)
 13413  	}
 13414  	return c.header_
 13415  }
 13416  
 13417  func (c *AccountsContainersWorkspacesVariablesRevertCall) doRequest(alt string) (*http.Response, error) {
 13418  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13419  	var body io.Reader = nil
 13420  	c.urlParams_.Set("alt", alt)
 13421  	c.urlParams_.Set("prettyPrint", "false")
 13422  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 13423  	urls += "?" + c.urlParams_.Encode()
 13424  	req, err := http.NewRequest("POST", urls, body)
 13425  	if err != nil {
 13426  		return nil, err
 13427  	}
 13428  	req.Header = reqHeaders
 13429  	googleapi.Expand(req.URL, map[string]string{
 13430  		"path": c.path,
 13431  	})
 13432  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13433  }
 13434  
 13435  // Do executes the "tagmanager.accounts.containers.workspaces.variables.revert" call.
 13436  // Any non-2xx status code is an error. Response headers are in either
 13437  // *RevertVariableResponse.ServerResponse.Header or (if a response was returned
 13438  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13439  // check whether the returned error was because http.StatusNotModified was
 13440  // returned.
 13441  func (c *AccountsContainersWorkspacesVariablesRevertCall) Do(opts ...googleapi.CallOption) (*RevertVariableResponse, error) {
 13442  	gensupport.SetOptions(c.urlParams_, opts...)
 13443  	res, err := c.doRequest("json")
 13444  	if res != nil && res.StatusCode == http.StatusNotModified {
 13445  		if res.Body != nil {
 13446  			res.Body.Close()
 13447  		}
 13448  		return nil, gensupport.WrapError(&googleapi.Error{
 13449  			Code:   res.StatusCode,
 13450  			Header: res.Header,
 13451  		})
 13452  	}
 13453  	if err != nil {
 13454  		return nil, err
 13455  	}
 13456  	defer googleapi.CloseBody(res)
 13457  	if err := googleapi.CheckResponse(res); err != nil {
 13458  		return nil, gensupport.WrapError(err)
 13459  	}
 13460  	ret := &RevertVariableResponse{
 13461  		ServerResponse: googleapi.ServerResponse{
 13462  			Header:         res.Header,
 13463  			HTTPStatusCode: res.StatusCode,
 13464  		},
 13465  	}
 13466  	target := &ret
 13467  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13468  		return nil, err
 13469  	}
 13470  	return ret, nil
 13471  }
 13472  
 13473  type AccountsContainersWorkspacesVariablesUpdateCall struct {
 13474  	s          *Service
 13475  	path       string
 13476  	variable   *Variable
 13477  	urlParams_ gensupport.URLParams
 13478  	ctx_       context.Context
 13479  	header_    http.Header
 13480  }
 13481  
 13482  // Update: Updates a GTM Variable.
 13483  //
 13484  //   - path: GTM Variable's API relative path. Example:
 13485  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/v
 13486  //     ariables/{variable_id}.
 13487  func (r *AccountsContainersWorkspacesVariablesService) Update(path string, variable *Variable) *AccountsContainersWorkspacesVariablesUpdateCall {
 13488  	c := &AccountsContainersWorkspacesVariablesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13489  	c.path = path
 13490  	c.variable = variable
 13491  	return c
 13492  }
 13493  
 13494  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 13495  // fingerprint must match the fingerprint of the variable in storage.
 13496  func (c *AccountsContainersWorkspacesVariablesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesVariablesUpdateCall {
 13497  	c.urlParams_.Set("fingerprint", fingerprint)
 13498  	return c
 13499  }
 13500  
 13501  // Fields allows partial responses to be retrieved. See
 13502  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13503  // details.
 13504  func (c *AccountsContainersWorkspacesVariablesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesVariablesUpdateCall {
 13505  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13506  	return c
 13507  }
 13508  
 13509  // Context sets the context to be used in this call's Do method.
 13510  func (c *AccountsContainersWorkspacesVariablesUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesVariablesUpdateCall {
 13511  	c.ctx_ = ctx
 13512  	return c
 13513  }
 13514  
 13515  // Header returns a http.Header that can be modified by the caller to add
 13516  // headers to the request.
 13517  func (c *AccountsContainersWorkspacesVariablesUpdateCall) Header() http.Header {
 13518  	if c.header_ == nil {
 13519  		c.header_ = make(http.Header)
 13520  	}
 13521  	return c.header_
 13522  }
 13523  
 13524  func (c *AccountsContainersWorkspacesVariablesUpdateCall) doRequest(alt string) (*http.Response, error) {
 13525  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13526  	var body io.Reader = nil
 13527  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.variable)
 13528  	if err != nil {
 13529  		return nil, err
 13530  	}
 13531  	c.urlParams_.Set("alt", alt)
 13532  	c.urlParams_.Set("prettyPrint", "false")
 13533  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 13534  	urls += "?" + c.urlParams_.Encode()
 13535  	req, err := http.NewRequest("PUT", urls, body)
 13536  	if err != nil {
 13537  		return nil, err
 13538  	}
 13539  	req.Header = reqHeaders
 13540  	googleapi.Expand(req.URL, map[string]string{
 13541  		"path": c.path,
 13542  	})
 13543  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13544  }
 13545  
 13546  // Do executes the "tagmanager.accounts.containers.workspaces.variables.update" call.
 13547  // Any non-2xx status code is an error. Response headers are in either
 13548  // *Variable.ServerResponse.Header or (if a response was returned at all) in
 13549  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13550  // whether the returned error was because http.StatusNotModified was returned.
 13551  func (c *AccountsContainersWorkspacesVariablesUpdateCall) Do(opts ...googleapi.CallOption) (*Variable, error) {
 13552  	gensupport.SetOptions(c.urlParams_, opts...)
 13553  	res, err := c.doRequest("json")
 13554  	if res != nil && res.StatusCode == http.StatusNotModified {
 13555  		if res.Body != nil {
 13556  			res.Body.Close()
 13557  		}
 13558  		return nil, gensupport.WrapError(&googleapi.Error{
 13559  			Code:   res.StatusCode,
 13560  			Header: res.Header,
 13561  		})
 13562  	}
 13563  	if err != nil {
 13564  		return nil, err
 13565  	}
 13566  	defer googleapi.CloseBody(res)
 13567  	if err := googleapi.CheckResponse(res); err != nil {
 13568  		return nil, gensupport.WrapError(err)
 13569  	}
 13570  	ret := &Variable{
 13571  		ServerResponse: googleapi.ServerResponse{
 13572  			Header:         res.Header,
 13573  			HTTPStatusCode: res.StatusCode,
 13574  		},
 13575  	}
 13576  	target := &ret
 13577  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13578  		return nil, err
 13579  	}
 13580  	return ret, nil
 13581  }
 13582  
 13583  type AccountsContainersWorkspacesZonesCreateCall struct {
 13584  	s          *Service
 13585  	parent     string
 13586  	zone       *Zone
 13587  	urlParams_ gensupport.URLParams
 13588  	ctx_       context.Context
 13589  	header_    http.Header
 13590  }
 13591  
 13592  // Create: Creates a GTM Zone.
 13593  //
 13594  //   - parent: GTM Workspace's API relative path. Example:
 13595  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 13596  func (r *AccountsContainersWorkspacesZonesService) Create(parent string, zone *Zone) *AccountsContainersWorkspacesZonesCreateCall {
 13597  	c := &AccountsContainersWorkspacesZonesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13598  	c.parent = parent
 13599  	c.zone = zone
 13600  	return c
 13601  }
 13602  
 13603  // Fields allows partial responses to be retrieved. See
 13604  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13605  // details.
 13606  func (c *AccountsContainersWorkspacesZonesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesCreateCall {
 13607  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13608  	return c
 13609  }
 13610  
 13611  // Context sets the context to be used in this call's Do method.
 13612  func (c *AccountsContainersWorkspacesZonesCreateCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesCreateCall {
 13613  	c.ctx_ = ctx
 13614  	return c
 13615  }
 13616  
 13617  // Header returns a http.Header that can be modified by the caller to add
 13618  // headers to the request.
 13619  func (c *AccountsContainersWorkspacesZonesCreateCall) Header() http.Header {
 13620  	if c.header_ == nil {
 13621  		c.header_ = make(http.Header)
 13622  	}
 13623  	return c.header_
 13624  }
 13625  
 13626  func (c *AccountsContainersWorkspacesZonesCreateCall) doRequest(alt string) (*http.Response, error) {
 13627  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13628  	var body io.Reader = nil
 13629  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.zone)
 13630  	if err != nil {
 13631  		return nil, err
 13632  	}
 13633  	c.urlParams_.Set("alt", alt)
 13634  	c.urlParams_.Set("prettyPrint", "false")
 13635  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/zones")
 13636  	urls += "?" + c.urlParams_.Encode()
 13637  	req, err := http.NewRequest("POST", urls, body)
 13638  	if err != nil {
 13639  		return nil, err
 13640  	}
 13641  	req.Header = reqHeaders
 13642  	googleapi.Expand(req.URL, map[string]string{
 13643  		"parent": c.parent,
 13644  	})
 13645  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13646  }
 13647  
 13648  // Do executes the "tagmanager.accounts.containers.workspaces.zones.create" call.
 13649  // Any non-2xx status code is an error. Response headers are in either
 13650  // *Zone.ServerResponse.Header or (if a response was returned at all) in
 13651  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13652  // whether the returned error was because http.StatusNotModified was returned.
 13653  func (c *AccountsContainersWorkspacesZonesCreateCall) Do(opts ...googleapi.CallOption) (*Zone, error) {
 13654  	gensupport.SetOptions(c.urlParams_, opts...)
 13655  	res, err := c.doRequest("json")
 13656  	if res != nil && res.StatusCode == http.StatusNotModified {
 13657  		if res.Body != nil {
 13658  			res.Body.Close()
 13659  		}
 13660  		return nil, gensupport.WrapError(&googleapi.Error{
 13661  			Code:   res.StatusCode,
 13662  			Header: res.Header,
 13663  		})
 13664  	}
 13665  	if err != nil {
 13666  		return nil, err
 13667  	}
 13668  	defer googleapi.CloseBody(res)
 13669  	if err := googleapi.CheckResponse(res); err != nil {
 13670  		return nil, gensupport.WrapError(err)
 13671  	}
 13672  	ret := &Zone{
 13673  		ServerResponse: googleapi.ServerResponse{
 13674  			Header:         res.Header,
 13675  			HTTPStatusCode: res.StatusCode,
 13676  		},
 13677  	}
 13678  	target := &ret
 13679  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13680  		return nil, err
 13681  	}
 13682  	return ret, nil
 13683  }
 13684  
 13685  type AccountsContainersWorkspacesZonesDeleteCall struct {
 13686  	s          *Service
 13687  	path       string
 13688  	urlParams_ gensupport.URLParams
 13689  	ctx_       context.Context
 13690  	header_    http.Header
 13691  }
 13692  
 13693  // Delete: Deletes a GTM Zone.
 13694  //
 13695  //   - path: GTM Zone's API relative path. Example:
 13696  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/z
 13697  //     ones/{zone_id}.
 13698  func (r *AccountsContainersWorkspacesZonesService) Delete(path string) *AccountsContainersWorkspacesZonesDeleteCall {
 13699  	c := &AccountsContainersWorkspacesZonesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13700  	c.path = path
 13701  	return c
 13702  }
 13703  
 13704  // Fields allows partial responses to be retrieved. See
 13705  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13706  // details.
 13707  func (c *AccountsContainersWorkspacesZonesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesDeleteCall {
 13708  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13709  	return c
 13710  }
 13711  
 13712  // Context sets the context to be used in this call's Do method.
 13713  func (c *AccountsContainersWorkspacesZonesDeleteCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesDeleteCall {
 13714  	c.ctx_ = ctx
 13715  	return c
 13716  }
 13717  
 13718  // Header returns a http.Header that can be modified by the caller to add
 13719  // headers to the request.
 13720  func (c *AccountsContainersWorkspacesZonesDeleteCall) Header() http.Header {
 13721  	if c.header_ == nil {
 13722  		c.header_ = make(http.Header)
 13723  	}
 13724  	return c.header_
 13725  }
 13726  
 13727  func (c *AccountsContainersWorkspacesZonesDeleteCall) doRequest(alt string) (*http.Response, error) {
 13728  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13729  	var body io.Reader = nil
 13730  	c.urlParams_.Set("alt", alt)
 13731  	c.urlParams_.Set("prettyPrint", "false")
 13732  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 13733  	urls += "?" + c.urlParams_.Encode()
 13734  	req, err := http.NewRequest("DELETE", urls, body)
 13735  	if err != nil {
 13736  		return nil, err
 13737  	}
 13738  	req.Header = reqHeaders
 13739  	googleapi.Expand(req.URL, map[string]string{
 13740  		"path": c.path,
 13741  	})
 13742  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13743  }
 13744  
 13745  // Do executes the "tagmanager.accounts.containers.workspaces.zones.delete" call.
 13746  func (c *AccountsContainersWorkspacesZonesDeleteCall) Do(opts ...googleapi.CallOption) error {
 13747  	gensupport.SetOptions(c.urlParams_, opts...)
 13748  	res, err := c.doRequest("json")
 13749  	if err != nil {
 13750  		return err
 13751  	}
 13752  	defer googleapi.CloseBody(res)
 13753  	if err := googleapi.CheckResponse(res); err != nil {
 13754  		return gensupport.WrapError(err)
 13755  	}
 13756  	return nil
 13757  }
 13758  
 13759  type AccountsContainersWorkspacesZonesGetCall struct {
 13760  	s            *Service
 13761  	path         string
 13762  	urlParams_   gensupport.URLParams
 13763  	ifNoneMatch_ string
 13764  	ctx_         context.Context
 13765  	header_      http.Header
 13766  }
 13767  
 13768  // Get: Gets a GTM Zone.
 13769  //
 13770  //   - path: GTM Zone's API relative path. Example:
 13771  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/z
 13772  //     ones/{zone_id}.
 13773  func (r *AccountsContainersWorkspacesZonesService) Get(path string) *AccountsContainersWorkspacesZonesGetCall {
 13774  	c := &AccountsContainersWorkspacesZonesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13775  	c.path = path
 13776  	return c
 13777  }
 13778  
 13779  // Fields allows partial responses to be retrieved. See
 13780  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13781  // details.
 13782  func (c *AccountsContainersWorkspacesZonesGetCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesGetCall {
 13783  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13784  	return c
 13785  }
 13786  
 13787  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13788  // object's ETag matches the given value. This is useful for getting updates
 13789  // only after the object has changed since the last request.
 13790  func (c *AccountsContainersWorkspacesZonesGetCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesZonesGetCall {
 13791  	c.ifNoneMatch_ = entityTag
 13792  	return c
 13793  }
 13794  
 13795  // Context sets the context to be used in this call's Do method.
 13796  func (c *AccountsContainersWorkspacesZonesGetCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesGetCall {
 13797  	c.ctx_ = ctx
 13798  	return c
 13799  }
 13800  
 13801  // Header returns a http.Header that can be modified by the caller to add
 13802  // headers to the request.
 13803  func (c *AccountsContainersWorkspacesZonesGetCall) Header() http.Header {
 13804  	if c.header_ == nil {
 13805  		c.header_ = make(http.Header)
 13806  	}
 13807  	return c.header_
 13808  }
 13809  
 13810  func (c *AccountsContainersWorkspacesZonesGetCall) doRequest(alt string) (*http.Response, error) {
 13811  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13812  	if c.ifNoneMatch_ != "" {
 13813  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13814  	}
 13815  	var body io.Reader = nil
 13816  	c.urlParams_.Set("alt", alt)
 13817  	c.urlParams_.Set("prettyPrint", "false")
 13818  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 13819  	urls += "?" + c.urlParams_.Encode()
 13820  	req, err := http.NewRequest("GET", urls, body)
 13821  	if err != nil {
 13822  		return nil, err
 13823  	}
 13824  	req.Header = reqHeaders
 13825  	googleapi.Expand(req.URL, map[string]string{
 13826  		"path": c.path,
 13827  	})
 13828  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13829  }
 13830  
 13831  // Do executes the "tagmanager.accounts.containers.workspaces.zones.get" call.
 13832  // Any non-2xx status code is an error. Response headers are in either
 13833  // *Zone.ServerResponse.Header or (if a response was returned at all) in
 13834  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13835  // whether the returned error was because http.StatusNotModified was returned.
 13836  func (c *AccountsContainersWorkspacesZonesGetCall) Do(opts ...googleapi.CallOption) (*Zone, error) {
 13837  	gensupport.SetOptions(c.urlParams_, opts...)
 13838  	res, err := c.doRequest("json")
 13839  	if res != nil && res.StatusCode == http.StatusNotModified {
 13840  		if res.Body != nil {
 13841  			res.Body.Close()
 13842  		}
 13843  		return nil, gensupport.WrapError(&googleapi.Error{
 13844  			Code:   res.StatusCode,
 13845  			Header: res.Header,
 13846  		})
 13847  	}
 13848  	if err != nil {
 13849  		return nil, err
 13850  	}
 13851  	defer googleapi.CloseBody(res)
 13852  	if err := googleapi.CheckResponse(res); err != nil {
 13853  		return nil, gensupport.WrapError(err)
 13854  	}
 13855  	ret := &Zone{
 13856  		ServerResponse: googleapi.ServerResponse{
 13857  			Header:         res.Header,
 13858  			HTTPStatusCode: res.StatusCode,
 13859  		},
 13860  	}
 13861  	target := &ret
 13862  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13863  		return nil, err
 13864  	}
 13865  	return ret, nil
 13866  }
 13867  
 13868  type AccountsContainersWorkspacesZonesListCall struct {
 13869  	s            *Service
 13870  	parent       string
 13871  	urlParams_   gensupport.URLParams
 13872  	ifNoneMatch_ string
 13873  	ctx_         context.Context
 13874  	header_      http.Header
 13875  }
 13876  
 13877  // List: Lists all GTM Zones of a GTM container workspace.
 13878  //
 13879  //   - parent: GTM Workspace's API relative path. Example:
 13880  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}.
 13881  func (r *AccountsContainersWorkspacesZonesService) List(parent string) *AccountsContainersWorkspacesZonesListCall {
 13882  	c := &AccountsContainersWorkspacesZonesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13883  	c.parent = parent
 13884  	return c
 13885  }
 13886  
 13887  // PageToken sets the optional parameter "pageToken": Continuation token for
 13888  // fetching the next page of results.
 13889  func (c *AccountsContainersWorkspacesZonesListCall) PageToken(pageToken string) *AccountsContainersWorkspacesZonesListCall {
 13890  	c.urlParams_.Set("pageToken", pageToken)
 13891  	return c
 13892  }
 13893  
 13894  // Fields allows partial responses to be retrieved. See
 13895  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13896  // details.
 13897  func (c *AccountsContainersWorkspacesZonesListCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesListCall {
 13898  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13899  	return c
 13900  }
 13901  
 13902  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13903  // object's ETag matches the given value. This is useful for getting updates
 13904  // only after the object has changed since the last request.
 13905  func (c *AccountsContainersWorkspacesZonesListCall) IfNoneMatch(entityTag string) *AccountsContainersWorkspacesZonesListCall {
 13906  	c.ifNoneMatch_ = entityTag
 13907  	return c
 13908  }
 13909  
 13910  // Context sets the context to be used in this call's Do method.
 13911  func (c *AccountsContainersWorkspacesZonesListCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesListCall {
 13912  	c.ctx_ = ctx
 13913  	return c
 13914  }
 13915  
 13916  // Header returns a http.Header that can be modified by the caller to add
 13917  // headers to the request.
 13918  func (c *AccountsContainersWorkspacesZonesListCall) Header() http.Header {
 13919  	if c.header_ == nil {
 13920  		c.header_ = make(http.Header)
 13921  	}
 13922  	return c.header_
 13923  }
 13924  
 13925  func (c *AccountsContainersWorkspacesZonesListCall) doRequest(alt string) (*http.Response, error) {
 13926  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13927  	if c.ifNoneMatch_ != "" {
 13928  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13929  	}
 13930  	var body io.Reader = nil
 13931  	c.urlParams_.Set("alt", alt)
 13932  	c.urlParams_.Set("prettyPrint", "false")
 13933  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/zones")
 13934  	urls += "?" + c.urlParams_.Encode()
 13935  	req, err := http.NewRequest("GET", urls, body)
 13936  	if err != nil {
 13937  		return nil, err
 13938  	}
 13939  	req.Header = reqHeaders
 13940  	googleapi.Expand(req.URL, map[string]string{
 13941  		"parent": c.parent,
 13942  	})
 13943  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13944  }
 13945  
 13946  // Do executes the "tagmanager.accounts.containers.workspaces.zones.list" call.
 13947  // Any non-2xx status code is an error. Response headers are in either
 13948  // *ListZonesResponse.ServerResponse.Header or (if a response was returned at
 13949  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13950  // check whether the returned error was because http.StatusNotModified was
 13951  // returned.
 13952  func (c *AccountsContainersWorkspacesZonesListCall) Do(opts ...googleapi.CallOption) (*ListZonesResponse, error) {
 13953  	gensupport.SetOptions(c.urlParams_, opts...)
 13954  	res, err := c.doRequest("json")
 13955  	if res != nil && res.StatusCode == http.StatusNotModified {
 13956  		if res.Body != nil {
 13957  			res.Body.Close()
 13958  		}
 13959  		return nil, gensupport.WrapError(&googleapi.Error{
 13960  			Code:   res.StatusCode,
 13961  			Header: res.Header,
 13962  		})
 13963  	}
 13964  	if err != nil {
 13965  		return nil, err
 13966  	}
 13967  	defer googleapi.CloseBody(res)
 13968  	if err := googleapi.CheckResponse(res); err != nil {
 13969  		return nil, gensupport.WrapError(err)
 13970  	}
 13971  	ret := &ListZonesResponse{
 13972  		ServerResponse: googleapi.ServerResponse{
 13973  			Header:         res.Header,
 13974  			HTTPStatusCode: res.StatusCode,
 13975  		},
 13976  	}
 13977  	target := &ret
 13978  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13979  		return nil, err
 13980  	}
 13981  	return ret, nil
 13982  }
 13983  
 13984  // Pages invokes f for each page of results.
 13985  // A non-nil error returned from f will halt the iteration.
 13986  // The provided context supersedes any context provided to the Context method.
 13987  func (c *AccountsContainersWorkspacesZonesListCall) Pages(ctx context.Context, f func(*ListZonesResponse) error) error {
 13988  	c.ctx_ = ctx
 13989  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 13990  	for {
 13991  		x, err := c.Do()
 13992  		if err != nil {
 13993  			return err
 13994  		}
 13995  		if err := f(x); err != nil {
 13996  			return err
 13997  		}
 13998  		if x.NextPageToken == "" {
 13999  			return nil
 14000  		}
 14001  		c.PageToken(x.NextPageToken)
 14002  	}
 14003  }
 14004  
 14005  type AccountsContainersWorkspacesZonesRevertCall struct {
 14006  	s          *Service
 14007  	path       string
 14008  	urlParams_ gensupport.URLParams
 14009  	ctx_       context.Context
 14010  	header_    http.Header
 14011  }
 14012  
 14013  // Revert: Reverts changes to a GTM Zone in a GTM Workspace.
 14014  //
 14015  //   - path: GTM Zone's API relative path. Example:
 14016  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/z
 14017  //     ones/{zone_id}.
 14018  func (r *AccountsContainersWorkspacesZonesService) Revert(path string) *AccountsContainersWorkspacesZonesRevertCall {
 14019  	c := &AccountsContainersWorkspacesZonesRevertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14020  	c.path = path
 14021  	return c
 14022  }
 14023  
 14024  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 14025  // fingerprint must match the fingerprint of the zone in storage.
 14026  func (c *AccountsContainersWorkspacesZonesRevertCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesZonesRevertCall {
 14027  	c.urlParams_.Set("fingerprint", fingerprint)
 14028  	return c
 14029  }
 14030  
 14031  // Fields allows partial responses to be retrieved. See
 14032  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14033  // details.
 14034  func (c *AccountsContainersWorkspacesZonesRevertCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesRevertCall {
 14035  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14036  	return c
 14037  }
 14038  
 14039  // Context sets the context to be used in this call's Do method.
 14040  func (c *AccountsContainersWorkspacesZonesRevertCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesRevertCall {
 14041  	c.ctx_ = ctx
 14042  	return c
 14043  }
 14044  
 14045  // Header returns a http.Header that can be modified by the caller to add
 14046  // headers to the request.
 14047  func (c *AccountsContainersWorkspacesZonesRevertCall) Header() http.Header {
 14048  	if c.header_ == nil {
 14049  		c.header_ = make(http.Header)
 14050  	}
 14051  	return c.header_
 14052  }
 14053  
 14054  func (c *AccountsContainersWorkspacesZonesRevertCall) doRequest(alt string) (*http.Response, error) {
 14055  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14056  	var body io.Reader = nil
 14057  	c.urlParams_.Set("alt", alt)
 14058  	c.urlParams_.Set("prettyPrint", "false")
 14059  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}:revert")
 14060  	urls += "?" + c.urlParams_.Encode()
 14061  	req, err := http.NewRequest("POST", urls, body)
 14062  	if err != nil {
 14063  		return nil, err
 14064  	}
 14065  	req.Header = reqHeaders
 14066  	googleapi.Expand(req.URL, map[string]string{
 14067  		"path": c.path,
 14068  	})
 14069  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14070  }
 14071  
 14072  // Do executes the "tagmanager.accounts.containers.workspaces.zones.revert" call.
 14073  // Any non-2xx status code is an error. Response headers are in either
 14074  // *RevertZoneResponse.ServerResponse.Header or (if a response was returned at
 14075  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 14076  // check whether the returned error was because http.StatusNotModified was
 14077  // returned.
 14078  func (c *AccountsContainersWorkspacesZonesRevertCall) Do(opts ...googleapi.CallOption) (*RevertZoneResponse, error) {
 14079  	gensupport.SetOptions(c.urlParams_, opts...)
 14080  	res, err := c.doRequest("json")
 14081  	if res != nil && res.StatusCode == http.StatusNotModified {
 14082  		if res.Body != nil {
 14083  			res.Body.Close()
 14084  		}
 14085  		return nil, gensupport.WrapError(&googleapi.Error{
 14086  			Code:   res.StatusCode,
 14087  			Header: res.Header,
 14088  		})
 14089  	}
 14090  	if err != nil {
 14091  		return nil, err
 14092  	}
 14093  	defer googleapi.CloseBody(res)
 14094  	if err := googleapi.CheckResponse(res); err != nil {
 14095  		return nil, gensupport.WrapError(err)
 14096  	}
 14097  	ret := &RevertZoneResponse{
 14098  		ServerResponse: googleapi.ServerResponse{
 14099  			Header:         res.Header,
 14100  			HTTPStatusCode: res.StatusCode,
 14101  		},
 14102  	}
 14103  	target := &ret
 14104  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14105  		return nil, err
 14106  	}
 14107  	return ret, nil
 14108  }
 14109  
 14110  type AccountsContainersWorkspacesZonesUpdateCall struct {
 14111  	s          *Service
 14112  	path       string
 14113  	zone       *Zone
 14114  	urlParams_ gensupport.URLParams
 14115  	ctx_       context.Context
 14116  	header_    http.Header
 14117  }
 14118  
 14119  // Update: Updates a GTM Zone.
 14120  //
 14121  //   - path: GTM Zone's API relative path. Example:
 14122  //     accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/z
 14123  //     ones/{zone_id}.
 14124  func (r *AccountsContainersWorkspacesZonesService) Update(path string, zone *Zone) *AccountsContainersWorkspacesZonesUpdateCall {
 14125  	c := &AccountsContainersWorkspacesZonesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14126  	c.path = path
 14127  	c.zone = zone
 14128  	return c
 14129  }
 14130  
 14131  // Fingerprint sets the optional parameter "fingerprint": When provided, this
 14132  // fingerprint must match the fingerprint of the zone in storage.
 14133  func (c *AccountsContainersWorkspacesZonesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersWorkspacesZonesUpdateCall {
 14134  	c.urlParams_.Set("fingerprint", fingerprint)
 14135  	return c
 14136  }
 14137  
 14138  // Fields allows partial responses to be retrieved. See
 14139  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14140  // details.
 14141  func (c *AccountsContainersWorkspacesZonesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersWorkspacesZonesUpdateCall {
 14142  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14143  	return c
 14144  }
 14145  
 14146  // Context sets the context to be used in this call's Do method.
 14147  func (c *AccountsContainersWorkspacesZonesUpdateCall) Context(ctx context.Context) *AccountsContainersWorkspacesZonesUpdateCall {
 14148  	c.ctx_ = ctx
 14149  	return c
 14150  }
 14151  
 14152  // Header returns a http.Header that can be modified by the caller to add
 14153  // headers to the request.
 14154  func (c *AccountsContainersWorkspacesZonesUpdateCall) Header() http.Header {
 14155  	if c.header_ == nil {
 14156  		c.header_ = make(http.Header)
 14157  	}
 14158  	return c.header_
 14159  }
 14160  
 14161  func (c *AccountsContainersWorkspacesZonesUpdateCall) doRequest(alt string) (*http.Response, error) {
 14162  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14163  	var body io.Reader = nil
 14164  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.zone)
 14165  	if err != nil {
 14166  		return nil, err
 14167  	}
 14168  	c.urlParams_.Set("alt", alt)
 14169  	c.urlParams_.Set("prettyPrint", "false")
 14170  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 14171  	urls += "?" + c.urlParams_.Encode()
 14172  	req, err := http.NewRequest("PUT", urls, body)
 14173  	if err != nil {
 14174  		return nil, err
 14175  	}
 14176  	req.Header = reqHeaders
 14177  	googleapi.Expand(req.URL, map[string]string{
 14178  		"path": c.path,
 14179  	})
 14180  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14181  }
 14182  
 14183  // Do executes the "tagmanager.accounts.containers.workspaces.zones.update" call.
 14184  // Any non-2xx status code is an error. Response headers are in either
 14185  // *Zone.ServerResponse.Header or (if a response was returned at all) in
 14186  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14187  // whether the returned error was because http.StatusNotModified was returned.
 14188  func (c *AccountsContainersWorkspacesZonesUpdateCall) Do(opts ...googleapi.CallOption) (*Zone, error) {
 14189  	gensupport.SetOptions(c.urlParams_, opts...)
 14190  	res, err := c.doRequest("json")
 14191  	if res != nil && res.StatusCode == http.StatusNotModified {
 14192  		if res.Body != nil {
 14193  			res.Body.Close()
 14194  		}
 14195  		return nil, gensupport.WrapError(&googleapi.Error{
 14196  			Code:   res.StatusCode,
 14197  			Header: res.Header,
 14198  		})
 14199  	}
 14200  	if err != nil {
 14201  		return nil, err
 14202  	}
 14203  	defer googleapi.CloseBody(res)
 14204  	if err := googleapi.CheckResponse(res); err != nil {
 14205  		return nil, gensupport.WrapError(err)
 14206  	}
 14207  	ret := &Zone{
 14208  		ServerResponse: googleapi.ServerResponse{
 14209  			Header:         res.Header,
 14210  			HTTPStatusCode: res.StatusCode,
 14211  		},
 14212  	}
 14213  	target := &ret
 14214  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14215  		return nil, err
 14216  	}
 14217  	return ret, nil
 14218  }
 14219  
 14220  type AccountsUserPermissionsCreateCall struct {
 14221  	s              *Service
 14222  	parent         string
 14223  	userpermission *UserPermission
 14224  	urlParams_     gensupport.URLParams
 14225  	ctx_           context.Context
 14226  	header_        http.Header
 14227  }
 14228  
 14229  // Create: Creates a user's Account & Container access.
 14230  //
 14231  // - parent: GTM Account's API relative path. Example: accounts/{account_id}.
 14232  func (r *AccountsUserPermissionsService) Create(parent string, userpermission *UserPermission) *AccountsUserPermissionsCreateCall {
 14233  	c := &AccountsUserPermissionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14234  	c.parent = parent
 14235  	c.userpermission = userpermission
 14236  	return c
 14237  }
 14238  
 14239  // Fields allows partial responses to be retrieved. See
 14240  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14241  // details.
 14242  func (c *AccountsUserPermissionsCreateCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsCreateCall {
 14243  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14244  	return c
 14245  }
 14246  
 14247  // Context sets the context to be used in this call's Do method.
 14248  func (c *AccountsUserPermissionsCreateCall) Context(ctx context.Context) *AccountsUserPermissionsCreateCall {
 14249  	c.ctx_ = ctx
 14250  	return c
 14251  }
 14252  
 14253  // Header returns a http.Header that can be modified by the caller to add
 14254  // headers to the request.
 14255  func (c *AccountsUserPermissionsCreateCall) Header() http.Header {
 14256  	if c.header_ == nil {
 14257  		c.header_ = make(http.Header)
 14258  	}
 14259  	return c.header_
 14260  }
 14261  
 14262  func (c *AccountsUserPermissionsCreateCall) doRequest(alt string) (*http.Response, error) {
 14263  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14264  	var body io.Reader = nil
 14265  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userpermission)
 14266  	if err != nil {
 14267  		return nil, err
 14268  	}
 14269  	c.urlParams_.Set("alt", alt)
 14270  	c.urlParams_.Set("prettyPrint", "false")
 14271  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/user_permissions")
 14272  	urls += "?" + c.urlParams_.Encode()
 14273  	req, err := http.NewRequest("POST", urls, body)
 14274  	if err != nil {
 14275  		return nil, err
 14276  	}
 14277  	req.Header = reqHeaders
 14278  	googleapi.Expand(req.URL, map[string]string{
 14279  		"parent": c.parent,
 14280  	})
 14281  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14282  }
 14283  
 14284  // Do executes the "tagmanager.accounts.user_permissions.create" call.
 14285  // Any non-2xx status code is an error. Response headers are in either
 14286  // *UserPermission.ServerResponse.Header or (if a response was returned at all)
 14287  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14288  // whether the returned error was because http.StatusNotModified was returned.
 14289  func (c *AccountsUserPermissionsCreateCall) Do(opts ...googleapi.CallOption) (*UserPermission, error) {
 14290  	gensupport.SetOptions(c.urlParams_, opts...)
 14291  	res, err := c.doRequest("json")
 14292  	if res != nil && res.StatusCode == http.StatusNotModified {
 14293  		if res.Body != nil {
 14294  			res.Body.Close()
 14295  		}
 14296  		return nil, gensupport.WrapError(&googleapi.Error{
 14297  			Code:   res.StatusCode,
 14298  			Header: res.Header,
 14299  		})
 14300  	}
 14301  	if err != nil {
 14302  		return nil, err
 14303  	}
 14304  	defer googleapi.CloseBody(res)
 14305  	if err := googleapi.CheckResponse(res); err != nil {
 14306  		return nil, gensupport.WrapError(err)
 14307  	}
 14308  	ret := &UserPermission{
 14309  		ServerResponse: googleapi.ServerResponse{
 14310  			Header:         res.Header,
 14311  			HTTPStatusCode: res.StatusCode,
 14312  		},
 14313  	}
 14314  	target := &ret
 14315  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14316  		return nil, err
 14317  	}
 14318  	return ret, nil
 14319  }
 14320  
 14321  type AccountsUserPermissionsDeleteCall struct {
 14322  	s          *Service
 14323  	path       string
 14324  	urlParams_ gensupport.URLParams
 14325  	ctx_       context.Context
 14326  	header_    http.Header
 14327  }
 14328  
 14329  // Delete: Removes a user from the account, revoking access to it and all of
 14330  // its containers.
 14331  //
 14332  //   - path: GTM UserPermission's API relative path. Example:
 14333  //     accounts/{account_id}/user_permissions/{user_permission_id}.
 14334  func (r *AccountsUserPermissionsService) Delete(path string) *AccountsUserPermissionsDeleteCall {
 14335  	c := &AccountsUserPermissionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14336  	c.path = path
 14337  	return c
 14338  }
 14339  
 14340  // Fields allows partial responses to be retrieved. See
 14341  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14342  // details.
 14343  func (c *AccountsUserPermissionsDeleteCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsDeleteCall {
 14344  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14345  	return c
 14346  }
 14347  
 14348  // Context sets the context to be used in this call's Do method.
 14349  func (c *AccountsUserPermissionsDeleteCall) Context(ctx context.Context) *AccountsUserPermissionsDeleteCall {
 14350  	c.ctx_ = ctx
 14351  	return c
 14352  }
 14353  
 14354  // Header returns a http.Header that can be modified by the caller to add
 14355  // headers to the request.
 14356  func (c *AccountsUserPermissionsDeleteCall) Header() http.Header {
 14357  	if c.header_ == nil {
 14358  		c.header_ = make(http.Header)
 14359  	}
 14360  	return c.header_
 14361  }
 14362  
 14363  func (c *AccountsUserPermissionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 14364  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14365  	var body io.Reader = nil
 14366  	c.urlParams_.Set("alt", alt)
 14367  	c.urlParams_.Set("prettyPrint", "false")
 14368  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 14369  	urls += "?" + c.urlParams_.Encode()
 14370  	req, err := http.NewRequest("DELETE", urls, body)
 14371  	if err != nil {
 14372  		return nil, err
 14373  	}
 14374  	req.Header = reqHeaders
 14375  	googleapi.Expand(req.URL, map[string]string{
 14376  		"path": c.path,
 14377  	})
 14378  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14379  }
 14380  
 14381  // Do executes the "tagmanager.accounts.user_permissions.delete" call.
 14382  func (c *AccountsUserPermissionsDeleteCall) Do(opts ...googleapi.CallOption) error {
 14383  	gensupport.SetOptions(c.urlParams_, opts...)
 14384  	res, err := c.doRequest("json")
 14385  	if err != nil {
 14386  		return err
 14387  	}
 14388  	defer googleapi.CloseBody(res)
 14389  	if err := googleapi.CheckResponse(res); err != nil {
 14390  		return gensupport.WrapError(err)
 14391  	}
 14392  	return nil
 14393  }
 14394  
 14395  type AccountsUserPermissionsGetCall struct {
 14396  	s            *Service
 14397  	path         string
 14398  	urlParams_   gensupport.URLParams
 14399  	ifNoneMatch_ string
 14400  	ctx_         context.Context
 14401  	header_      http.Header
 14402  }
 14403  
 14404  // Get: Gets a user's Account & Container access.
 14405  //
 14406  //   - path: GTM UserPermission's API relative path. Example:
 14407  //     accounts/{account_id}/user_permissions/{user_permission_id}.
 14408  func (r *AccountsUserPermissionsService) Get(path string) *AccountsUserPermissionsGetCall {
 14409  	c := &AccountsUserPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14410  	c.path = path
 14411  	return c
 14412  }
 14413  
 14414  // Fields allows partial responses to be retrieved. See
 14415  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14416  // details.
 14417  func (c *AccountsUserPermissionsGetCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsGetCall {
 14418  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14419  	return c
 14420  }
 14421  
 14422  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 14423  // object's ETag matches the given value. This is useful for getting updates
 14424  // only after the object has changed since the last request.
 14425  func (c *AccountsUserPermissionsGetCall) IfNoneMatch(entityTag string) *AccountsUserPermissionsGetCall {
 14426  	c.ifNoneMatch_ = entityTag
 14427  	return c
 14428  }
 14429  
 14430  // Context sets the context to be used in this call's Do method.
 14431  func (c *AccountsUserPermissionsGetCall) Context(ctx context.Context) *AccountsUserPermissionsGetCall {
 14432  	c.ctx_ = ctx
 14433  	return c
 14434  }
 14435  
 14436  // Header returns a http.Header that can be modified by the caller to add
 14437  // headers to the request.
 14438  func (c *AccountsUserPermissionsGetCall) Header() http.Header {
 14439  	if c.header_ == nil {
 14440  		c.header_ = make(http.Header)
 14441  	}
 14442  	return c.header_
 14443  }
 14444  
 14445  func (c *AccountsUserPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 14446  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14447  	if c.ifNoneMatch_ != "" {
 14448  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14449  	}
 14450  	var body io.Reader = nil
 14451  	c.urlParams_.Set("alt", alt)
 14452  	c.urlParams_.Set("prettyPrint", "false")
 14453  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 14454  	urls += "?" + c.urlParams_.Encode()
 14455  	req, err := http.NewRequest("GET", urls, body)
 14456  	if err != nil {
 14457  		return nil, err
 14458  	}
 14459  	req.Header = reqHeaders
 14460  	googleapi.Expand(req.URL, map[string]string{
 14461  		"path": c.path,
 14462  	})
 14463  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14464  }
 14465  
 14466  // Do executes the "tagmanager.accounts.user_permissions.get" call.
 14467  // Any non-2xx status code is an error. Response headers are in either
 14468  // *UserPermission.ServerResponse.Header or (if a response was returned at all)
 14469  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14470  // whether the returned error was because http.StatusNotModified was returned.
 14471  func (c *AccountsUserPermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserPermission, error) {
 14472  	gensupport.SetOptions(c.urlParams_, opts...)
 14473  	res, err := c.doRequest("json")
 14474  	if res != nil && res.StatusCode == http.StatusNotModified {
 14475  		if res.Body != nil {
 14476  			res.Body.Close()
 14477  		}
 14478  		return nil, gensupport.WrapError(&googleapi.Error{
 14479  			Code:   res.StatusCode,
 14480  			Header: res.Header,
 14481  		})
 14482  	}
 14483  	if err != nil {
 14484  		return nil, err
 14485  	}
 14486  	defer googleapi.CloseBody(res)
 14487  	if err := googleapi.CheckResponse(res); err != nil {
 14488  		return nil, gensupport.WrapError(err)
 14489  	}
 14490  	ret := &UserPermission{
 14491  		ServerResponse: googleapi.ServerResponse{
 14492  			Header:         res.Header,
 14493  			HTTPStatusCode: res.StatusCode,
 14494  		},
 14495  	}
 14496  	target := &ret
 14497  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14498  		return nil, err
 14499  	}
 14500  	return ret, nil
 14501  }
 14502  
 14503  type AccountsUserPermissionsListCall struct {
 14504  	s            *Service
 14505  	parent       string
 14506  	urlParams_   gensupport.URLParams
 14507  	ifNoneMatch_ string
 14508  	ctx_         context.Context
 14509  	header_      http.Header
 14510  }
 14511  
 14512  // List: List all users that have access to the account along with Account and
 14513  // Container user access granted to each of them.
 14514  //
 14515  // - parent: GTM Account's API relative path. Example: accounts/{account_id}.
 14516  func (r *AccountsUserPermissionsService) List(parent string) *AccountsUserPermissionsListCall {
 14517  	c := &AccountsUserPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14518  	c.parent = parent
 14519  	return c
 14520  }
 14521  
 14522  // PageToken sets the optional parameter "pageToken": Continuation token for
 14523  // fetching the next page of results.
 14524  func (c *AccountsUserPermissionsListCall) PageToken(pageToken string) *AccountsUserPermissionsListCall {
 14525  	c.urlParams_.Set("pageToken", pageToken)
 14526  	return c
 14527  }
 14528  
 14529  // Fields allows partial responses to be retrieved. See
 14530  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14531  // details.
 14532  func (c *AccountsUserPermissionsListCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsListCall {
 14533  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14534  	return c
 14535  }
 14536  
 14537  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 14538  // object's ETag matches the given value. This is useful for getting updates
 14539  // only after the object has changed since the last request.
 14540  func (c *AccountsUserPermissionsListCall) IfNoneMatch(entityTag string) *AccountsUserPermissionsListCall {
 14541  	c.ifNoneMatch_ = entityTag
 14542  	return c
 14543  }
 14544  
 14545  // Context sets the context to be used in this call's Do method.
 14546  func (c *AccountsUserPermissionsListCall) Context(ctx context.Context) *AccountsUserPermissionsListCall {
 14547  	c.ctx_ = ctx
 14548  	return c
 14549  }
 14550  
 14551  // Header returns a http.Header that can be modified by the caller to add
 14552  // headers to the request.
 14553  func (c *AccountsUserPermissionsListCall) Header() http.Header {
 14554  	if c.header_ == nil {
 14555  		c.header_ = make(http.Header)
 14556  	}
 14557  	return c.header_
 14558  }
 14559  
 14560  func (c *AccountsUserPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 14561  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 14562  	if c.ifNoneMatch_ != "" {
 14563  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14564  	}
 14565  	var body io.Reader = nil
 14566  	c.urlParams_.Set("alt", alt)
 14567  	c.urlParams_.Set("prettyPrint", "false")
 14568  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+parent}/user_permissions")
 14569  	urls += "?" + c.urlParams_.Encode()
 14570  	req, err := http.NewRequest("GET", urls, body)
 14571  	if err != nil {
 14572  		return nil, err
 14573  	}
 14574  	req.Header = reqHeaders
 14575  	googleapi.Expand(req.URL, map[string]string{
 14576  		"parent": c.parent,
 14577  	})
 14578  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14579  }
 14580  
 14581  // Do executes the "tagmanager.accounts.user_permissions.list" call.
 14582  // Any non-2xx status code is an error. Response headers are in either
 14583  // *ListUserPermissionsResponse.ServerResponse.Header or (if a response was
 14584  // returned at all) in error.(*googleapi.Error).Header. Use
 14585  // googleapi.IsNotModified to check whether the returned error was because
 14586  // http.StatusNotModified was returned.
 14587  func (c *AccountsUserPermissionsListCall) Do(opts ...googleapi.CallOption) (*ListUserPermissionsResponse, error) {
 14588  	gensupport.SetOptions(c.urlParams_, opts...)
 14589  	res, err := c.doRequest("json")
 14590  	if res != nil && res.StatusCode == http.StatusNotModified {
 14591  		if res.Body != nil {
 14592  			res.Body.Close()
 14593  		}
 14594  		return nil, gensupport.WrapError(&googleapi.Error{
 14595  			Code:   res.StatusCode,
 14596  			Header: res.Header,
 14597  		})
 14598  	}
 14599  	if err != nil {
 14600  		return nil, err
 14601  	}
 14602  	defer googleapi.CloseBody(res)
 14603  	if err := googleapi.CheckResponse(res); err != nil {
 14604  		return nil, gensupport.WrapError(err)
 14605  	}
 14606  	ret := &ListUserPermissionsResponse{
 14607  		ServerResponse: googleapi.ServerResponse{
 14608  			Header:         res.Header,
 14609  			HTTPStatusCode: res.StatusCode,
 14610  		},
 14611  	}
 14612  	target := &ret
 14613  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14614  		return nil, err
 14615  	}
 14616  	return ret, nil
 14617  }
 14618  
 14619  // Pages invokes f for each page of results.
 14620  // A non-nil error returned from f will halt the iteration.
 14621  // The provided context supersedes any context provided to the Context method.
 14622  func (c *AccountsUserPermissionsListCall) Pages(ctx context.Context, f func(*ListUserPermissionsResponse) error) error {
 14623  	c.ctx_ = ctx
 14624  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 14625  	for {
 14626  		x, err := c.Do()
 14627  		if err != nil {
 14628  			return err
 14629  		}
 14630  		if err := f(x); err != nil {
 14631  			return err
 14632  		}
 14633  		if x.NextPageToken == "" {
 14634  			return nil
 14635  		}
 14636  		c.PageToken(x.NextPageToken)
 14637  	}
 14638  }
 14639  
 14640  type AccountsUserPermissionsUpdateCall struct {
 14641  	s              *Service
 14642  	path           string
 14643  	userpermission *UserPermission
 14644  	urlParams_     gensupport.URLParams
 14645  	ctx_           context.Context
 14646  	header_        http.Header
 14647  }
 14648  
 14649  // Update: Updates a user's Account & Container access.
 14650  //
 14651  //   - path: GTM UserPermission's API relative path. Example:
 14652  //     accounts/{account_id}/user_permissions/{user_permission_id}.
 14653  func (r *AccountsUserPermissionsService) Update(path string, userpermission *UserPermission) *AccountsUserPermissionsUpdateCall {
 14654  	c := &AccountsUserPermissionsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14655  	c.path = path
 14656  	c.userpermission = userpermission
 14657  	return c
 14658  }
 14659  
 14660  // Fields allows partial responses to be retrieved. See
 14661  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 14662  // details.
 14663  func (c *AccountsUserPermissionsUpdateCall) Fields(s ...googleapi.Field) *AccountsUserPermissionsUpdateCall {
 14664  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14665  	return c
 14666  }
 14667  
 14668  // Context sets the context to be used in this call's Do method.
 14669  func (c *AccountsUserPermissionsUpdateCall) Context(ctx context.Context) *AccountsUserPermissionsUpdateCall {
 14670  	c.ctx_ = ctx
 14671  	return c
 14672  }
 14673  
 14674  // Header returns a http.Header that can be modified by the caller to add
 14675  // headers to the request.
 14676  func (c *AccountsUserPermissionsUpdateCall) Header() http.Header {
 14677  	if c.header_ == nil {
 14678  		c.header_ = make(http.Header)
 14679  	}
 14680  	return c.header_
 14681  }
 14682  
 14683  func (c *AccountsUserPermissionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 14684  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 14685  	var body io.Reader = nil
 14686  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userpermission)
 14687  	if err != nil {
 14688  		return nil, err
 14689  	}
 14690  	c.urlParams_.Set("alt", alt)
 14691  	c.urlParams_.Set("prettyPrint", "false")
 14692  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v2/{+path}")
 14693  	urls += "?" + c.urlParams_.Encode()
 14694  	req, err := http.NewRequest("PUT", urls, body)
 14695  	if err != nil {
 14696  		return nil, err
 14697  	}
 14698  	req.Header = reqHeaders
 14699  	googleapi.Expand(req.URL, map[string]string{
 14700  		"path": c.path,
 14701  	})
 14702  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14703  }
 14704  
 14705  // Do executes the "tagmanager.accounts.user_permissions.update" call.
 14706  // Any non-2xx status code is an error. Response headers are in either
 14707  // *UserPermission.ServerResponse.Header or (if a response was returned at all)
 14708  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14709  // whether the returned error was because http.StatusNotModified was returned.
 14710  func (c *AccountsUserPermissionsUpdateCall) Do(opts ...googleapi.CallOption) (*UserPermission, error) {
 14711  	gensupport.SetOptions(c.urlParams_, opts...)
 14712  	res, err := c.doRequest("json")
 14713  	if res != nil && res.StatusCode == http.StatusNotModified {
 14714  		if res.Body != nil {
 14715  			res.Body.Close()
 14716  		}
 14717  		return nil, gensupport.WrapError(&googleapi.Error{
 14718  			Code:   res.StatusCode,
 14719  			Header: res.Header,
 14720  		})
 14721  	}
 14722  	if err != nil {
 14723  		return nil, err
 14724  	}
 14725  	defer googleapi.CloseBody(res)
 14726  	if err := googleapi.CheckResponse(res); err != nil {
 14727  		return nil, gensupport.WrapError(err)
 14728  	}
 14729  	ret := &UserPermission{
 14730  		ServerResponse: googleapi.ServerResponse{
 14731  			Header:         res.Header,
 14732  			HTTPStatusCode: res.StatusCode,
 14733  		},
 14734  	}
 14735  	target := &ret
 14736  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14737  		return nil, err
 14738  	}
 14739  	return ret, nil
 14740  }
 14741  

View as plain text