...

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

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

     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/v1"
    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/v1"
    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:v1"
    95  const apiName = "tagmanager"
    96  const apiVersion = "v1"
    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.Permissions = NewAccountsPermissionsService(s)
   190  	return rs
   191  }
   192  
   193  type AccountsService struct {
   194  	s *Service
   195  
   196  	Containers *AccountsContainersService
   197  
   198  	Permissions *AccountsPermissionsService
   199  }
   200  
   201  func NewAccountsContainersService(s *Service) *AccountsContainersService {
   202  	rs := &AccountsContainersService{s: s}
   203  	rs.Environments = NewAccountsContainersEnvironmentsService(s)
   204  	rs.Folders = NewAccountsContainersFoldersService(s)
   205  	rs.MoveFolders = NewAccountsContainersMoveFoldersService(s)
   206  	rs.ReauthorizeEnvironments = NewAccountsContainersReauthorizeEnvironmentsService(s)
   207  	rs.Tags = NewAccountsContainersTagsService(s)
   208  	rs.Triggers = NewAccountsContainersTriggersService(s)
   209  	rs.Variables = NewAccountsContainersVariablesService(s)
   210  	rs.Versions = NewAccountsContainersVersionsService(s)
   211  	return rs
   212  }
   213  
   214  type AccountsContainersService struct {
   215  	s *Service
   216  
   217  	Environments *AccountsContainersEnvironmentsService
   218  
   219  	Folders *AccountsContainersFoldersService
   220  
   221  	MoveFolders *AccountsContainersMoveFoldersService
   222  
   223  	ReauthorizeEnvironments *AccountsContainersReauthorizeEnvironmentsService
   224  
   225  	Tags *AccountsContainersTagsService
   226  
   227  	Triggers *AccountsContainersTriggersService
   228  
   229  	Variables *AccountsContainersVariablesService
   230  
   231  	Versions *AccountsContainersVersionsService
   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 NewAccountsContainersFoldersService(s *Service) *AccountsContainersFoldersService {
   244  	rs := &AccountsContainersFoldersService{s: s}
   245  	rs.Entities = NewAccountsContainersFoldersEntitiesService(s)
   246  	return rs
   247  }
   248  
   249  type AccountsContainersFoldersService struct {
   250  	s *Service
   251  
   252  	Entities *AccountsContainersFoldersEntitiesService
   253  }
   254  
   255  func NewAccountsContainersFoldersEntitiesService(s *Service) *AccountsContainersFoldersEntitiesService {
   256  	rs := &AccountsContainersFoldersEntitiesService{s: s}
   257  	return rs
   258  }
   259  
   260  type AccountsContainersFoldersEntitiesService struct {
   261  	s *Service
   262  }
   263  
   264  func NewAccountsContainersMoveFoldersService(s *Service) *AccountsContainersMoveFoldersService {
   265  	rs := &AccountsContainersMoveFoldersService{s: s}
   266  	return rs
   267  }
   268  
   269  type AccountsContainersMoveFoldersService struct {
   270  	s *Service
   271  }
   272  
   273  func NewAccountsContainersReauthorizeEnvironmentsService(s *Service) *AccountsContainersReauthorizeEnvironmentsService {
   274  	rs := &AccountsContainersReauthorizeEnvironmentsService{s: s}
   275  	return rs
   276  }
   277  
   278  type AccountsContainersReauthorizeEnvironmentsService struct {
   279  	s *Service
   280  }
   281  
   282  func NewAccountsContainersTagsService(s *Service) *AccountsContainersTagsService {
   283  	rs := &AccountsContainersTagsService{s: s}
   284  	return rs
   285  }
   286  
   287  type AccountsContainersTagsService struct {
   288  	s *Service
   289  }
   290  
   291  func NewAccountsContainersTriggersService(s *Service) *AccountsContainersTriggersService {
   292  	rs := &AccountsContainersTriggersService{s: s}
   293  	return rs
   294  }
   295  
   296  type AccountsContainersTriggersService struct {
   297  	s *Service
   298  }
   299  
   300  func NewAccountsContainersVariablesService(s *Service) *AccountsContainersVariablesService {
   301  	rs := &AccountsContainersVariablesService{s: s}
   302  	return rs
   303  }
   304  
   305  type AccountsContainersVariablesService struct {
   306  	s *Service
   307  }
   308  
   309  func NewAccountsContainersVersionsService(s *Service) *AccountsContainersVersionsService {
   310  	rs := &AccountsContainersVersionsService{s: s}
   311  	return rs
   312  }
   313  
   314  type AccountsContainersVersionsService struct {
   315  	s *Service
   316  }
   317  
   318  func NewAccountsPermissionsService(s *Service) *AccountsPermissionsService {
   319  	rs := &AccountsPermissionsService{s: s}
   320  	return rs
   321  }
   322  
   323  type AccountsPermissionsService struct {
   324  	s *Service
   325  }
   326  
   327  // Account: Represents a Google Tag Manager Account.
   328  type Account struct {
   329  	// AccountId: The Account ID uniquely identifies the GTM Account.
   330  	AccountId string `json:"accountId,omitempty"`
   331  	// Fingerprint: The fingerprint of the GTM Account as computed at storage time.
   332  	// This value is recomputed whenever the account is modified.
   333  	Fingerprint string `json:"fingerprint,omitempty"`
   334  	// Name: Account display name. @mutable tagmanager.accounts.create @mutable
   335  	// tagmanager.accounts.update
   336  	Name string `json:"name,omitempty"`
   337  	// ShareData: Whether the account shares data anonymously with Google and
   338  	// others. @mutable tagmanager.accounts.create @mutable
   339  	// tagmanager.accounts.update
   340  	ShareData bool `json:"shareData,omitempty"`
   341  
   342  	// ServerResponse contains the HTTP response code and headers from the server.
   343  	googleapi.ServerResponse `json:"-"`
   344  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   345  	// unconditionally include in API requests. By default, fields with empty or
   346  	// default values are omitted from API requests. See
   347  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   348  	// details.
   349  	ForceSendFields []string `json:"-"`
   350  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   351  	// requests with the JSON null value. By default, fields with empty values are
   352  	// omitted from API requests. See
   353  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   354  	NullFields []string `json:"-"`
   355  }
   356  
   357  func (s *Account) MarshalJSON() ([]byte, error) {
   358  	type NoMethod Account
   359  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   360  }
   361  
   362  // AccountAccess: Defines the Google Tag Manager Account access permissions.
   363  type AccountAccess struct {
   364  	// Permission: List of Account permissions. Valid account permissions are read
   365  	// and manage. @mutable tagmanager.accounts.permissions.create @mutable
   366  	// tagmanager.accounts.permissions.update
   367  	//
   368  	// Possible values:
   369  	//   "read"
   370  	//   "edit"
   371  	//   "publish"
   372  	//   "delete"
   373  	//   "manage"
   374  	//   "editWorkspace"
   375  	Permission []string `json:"permission,omitempty"`
   376  	// ForceSendFields is a list of field names (e.g. "Permission") to
   377  	// unconditionally include in API requests. By default, fields with empty or
   378  	// default values are omitted from API requests. See
   379  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   380  	// details.
   381  	ForceSendFields []string `json:"-"`
   382  	// NullFields is a list of field names (e.g. "Permission") to include in API
   383  	// requests with the JSON null value. By default, fields with empty values are
   384  	// omitted from API requests. See
   385  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   386  	NullFields []string `json:"-"`
   387  }
   388  
   389  func (s *AccountAccess) MarshalJSON() ([]byte, error) {
   390  	type NoMethod AccountAccess
   391  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   392  }
   393  
   394  // Condition: Represents a predicate.
   395  type Condition struct {
   396  	// Parameter: A list of named parameters (key/value), depending on the
   397  	// condition's type. Notes: - For binary operators, include parameters named
   398  	// arg0 and arg1 for specifying the left and right operands, respectively. - At
   399  	// this time, the left operand (arg0) must be a reference to a variable. - For
   400  	// case-insensitive Regex matching, include a boolean parameter named
   401  	// ignore_case that is set to true. If not specified or set to any other value,
   402  	// the matching will be case sensitive. - To negate an operator, include a
   403  	// boolean parameter named negate boolean parameter that is set to true.
   404  	// @mutable tagmanager.accounts.containers.triggers.create @mutable
   405  	// tagmanager.accounts.containers.triggers.update
   406  	Parameter []*Parameter `json:"parameter,omitempty"`
   407  	// Type: The type of operator for this condition. @mutable
   408  	// tagmanager.accounts.containers.triggers.create @mutable
   409  	// tagmanager.accounts.containers.triggers.update
   410  	//
   411  	// Possible values:
   412  	//   "equals"
   413  	//   "contains"
   414  	//   "startsWith"
   415  	//   "endsWith"
   416  	//   "matchRegex"
   417  	//   "greater"
   418  	//   "greaterOrEquals"
   419  	//   "less"
   420  	//   "lessOrEquals"
   421  	//   "cssSelector"
   422  	//   "urlMatches"
   423  	Type string `json:"type,omitempty"`
   424  	// ForceSendFields is a list of field names (e.g. "Parameter") to
   425  	// unconditionally include in API requests. By default, fields with empty or
   426  	// default values are omitted from API requests. See
   427  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   428  	// details.
   429  	ForceSendFields []string `json:"-"`
   430  	// NullFields is a list of field names (e.g. "Parameter") to include in API
   431  	// requests with the JSON null value. By default, fields with empty values are
   432  	// omitted from API requests. See
   433  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   434  	NullFields []string `json:"-"`
   435  }
   436  
   437  func (s *Condition) MarshalJSON() ([]byte, error) {
   438  	type NoMethod Condition
   439  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   440  }
   441  
   442  // Container: Represents a Google Tag Manager Container.
   443  type Container struct {
   444  	// AccountId: GTM Account ID.
   445  	AccountId string `json:"accountId,omitempty"`
   446  	// ContainerId: The Container ID uniquely identifies the GTM Container.
   447  	ContainerId string `json:"containerId,omitempty"`
   448  	// DomainName: Optional list of domain names associated with the Container.
   449  	// @mutable tagmanager.accounts.containers.create @mutable
   450  	// tagmanager.accounts.containers.update
   451  	DomainName []string `json:"domainName,omitempty"`
   452  	// EnabledBuiltInVariable: List of enabled built-in variables. Valid values
   453  	// include: pageUrl, pageHostname, pagePath, referrer, event, clickElement,
   454  	// clickClasses, clickId, clickTarget, clickUrl, clickText, formElement,
   455  	// formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl,
   456  	// errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState,
   457  	// oldHistoryState, historySource, containerVersion, debugMode, randomNumber,
   458  	// containerId. @mutable tagmanager.accounts.containers.create @mutable
   459  	// tagmanager.accounts.containers.update
   460  	//
   461  	// Possible values:
   462  	//   "pageUrl"
   463  	//   "pageHostname"
   464  	//   "pagePath"
   465  	//   "referrer"
   466  	//   "event" - For web or mobile.
   467  	//   "clickElement"
   468  	//   "clickClasses"
   469  	//   "clickId"
   470  	//   "clickTarget"
   471  	//   "clickUrl"
   472  	//   "clickText"
   473  	//   "firstPartyServingUrl"
   474  	//   "formElement"
   475  	//   "formClasses"
   476  	//   "formId"
   477  	//   "formTarget"
   478  	//   "formUrl"
   479  	//   "formText"
   480  	//   "environmentName"
   481  	//   "errorMessage"
   482  	//   "errorUrl"
   483  	//   "errorLine"
   484  	//   "newHistoryUrl"
   485  	//   "oldHistoryUrl"
   486  	//   "newHistoryFragment"
   487  	//   "oldHistoryFragment"
   488  	//   "newHistoryState"
   489  	//   "oldHistoryState"
   490  	//   "historySource"
   491  	//   "containerVersion" - For web or mobile.
   492  	//   "debugMode"
   493  	//   "randomNumber" - For web or mobile.
   494  	//   "containerId" - For web or mobile.
   495  	//   "appId"
   496  	//   "appName"
   497  	//   "appVersionCode"
   498  	//   "appVersionName"
   499  	//   "language"
   500  	//   "osVersion"
   501  	//   "platform"
   502  	//   "sdkVersion"
   503  	//   "deviceName"
   504  	//   "resolution"
   505  	//   "advertiserId"
   506  	//   "advertisingTrackingEnabled"
   507  	//   "htmlId"
   508  	//   "ampBrowserLanguage"
   509  	//   "ampCanonicalPath"
   510  	//   "ampCanonicalUrl"
   511  	//   "ampCanonicalHost"
   512  	//   "ampReferrer"
   513  	//   "ampTitle"
   514  	//   "ampClientId"
   515  	//   "ampClientTimezone"
   516  	//   "ampClientTimestamp"
   517  	//   "ampClientScreenWidth"
   518  	//   "ampClientScreenHeight"
   519  	//   "ampClientScrollX"
   520  	//   "ampClientScrollY"
   521  	//   "ampClientMaxScrollX"
   522  	//   "ampClientMaxScrollY"
   523  	//   "ampTotalEngagedTime"
   524  	//   "ampPageViewId"
   525  	//   "ampPageLoadTime"
   526  	//   "ampPageDownloadTime"
   527  	//   "ampGtmEvent"
   528  	//   "eventName"
   529  	//   "firebaseEventParameterCampaign"
   530  	//   "firebaseEventParameterCampaignAclid"
   531  	//   "firebaseEventParameterCampaignAnid"
   532  	//   "firebaseEventParameterCampaignClickTimestamp"
   533  	//   "firebaseEventParameterCampaignContent"
   534  	//   "firebaseEventParameterCampaignCp1"
   535  	//   "firebaseEventParameterCampaignGclid"
   536  	//   "firebaseEventParameterCampaignSource"
   537  	//   "firebaseEventParameterCampaignTerm"
   538  	//   "firebaseEventParameterCurrency"
   539  	//   "firebaseEventParameterDynamicLinkAcceptTime"
   540  	//   "firebaseEventParameterDynamicLinkLinkid"
   541  	//   "firebaseEventParameterNotificationMessageDeviceTime"
   542  	//   "firebaseEventParameterNotificationMessageId"
   543  	//   "firebaseEventParameterNotificationMessageName"
   544  	//   "firebaseEventParameterNotificationMessageTime"
   545  	//   "firebaseEventParameterNotificationTopic"
   546  	//   "firebaseEventParameterPreviousAppVersion"
   547  	//   "firebaseEventParameterPreviousOsVersion"
   548  	//   "firebaseEventParameterPrice"
   549  	//   "firebaseEventParameterProductId"
   550  	//   "firebaseEventParameterQuantity"
   551  	//   "firebaseEventParameterValue"
   552  	//   "videoProvider"
   553  	//   "videoUrl"
   554  	//   "videoTitle"
   555  	//   "videoDuration"
   556  	//   "videoPercent"
   557  	//   "videoVisible"
   558  	//   "videoStatus"
   559  	//   "videoCurrentTime"
   560  	//   "scrollDepthThreshold"
   561  	//   "scrollDepthUnits"
   562  	//   "scrollDepthDirection"
   563  	//   "elementVisibilityRatio"
   564  	//   "elementVisibilityTime"
   565  	//   "elementVisibilityFirstTime"
   566  	//   "elementVisibilityRecentTime"
   567  	EnabledBuiltInVariable []string `json:"enabledBuiltInVariable,omitempty"`
   568  	// Fingerprint: The fingerprint of the GTM Container as computed at storage
   569  	// time. This value is recomputed whenever the account is modified.
   570  	Fingerprint string `json:"fingerprint,omitempty"`
   571  	// Name: Container display name. @mutable tagmanager.accounts.containers.create
   572  	// @mutable tagmanager.accounts.containers.update
   573  	Name string `json:"name,omitempty"`
   574  	// Notes: Container Notes. @mutable tagmanager.accounts.containers.create
   575  	// @mutable tagmanager.accounts.containers.update
   576  	Notes string `json:"notes,omitempty"`
   577  	// PublicId: Container Public ID.
   578  	PublicId string `json:"publicId,omitempty"`
   579  	// TimeZoneCountryId: Container Country ID. @mutable
   580  	// tagmanager.accounts.containers.create @mutable
   581  	// tagmanager.accounts.containers.update
   582  	TimeZoneCountryId string `json:"timeZoneCountryId,omitempty"`
   583  	// TimeZoneId: Container Time Zone ID. @mutable
   584  	// tagmanager.accounts.containers.create @mutable
   585  	// tagmanager.accounts.containers.update
   586  	TimeZoneId string `json:"timeZoneId,omitempty"`
   587  	// UsageContext: List of Usage Contexts for the Container. Valid values
   588  	// include: web, android, ios. @mutable tagmanager.accounts.containers.create
   589  	// @mutable tagmanager.accounts.containers.update
   590  	//
   591  	// Possible values:
   592  	//   "web"
   593  	//   "android"
   594  	//   "ios"
   595  	//   "androidSdk5"
   596  	//   "iosSdk5"
   597  	//   "amp"
   598  	UsageContext []string `json:"usageContext,omitempty"`
   599  
   600  	// ServerResponse contains the HTTP response code and headers from the server.
   601  	googleapi.ServerResponse `json:"-"`
   602  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   603  	// unconditionally include in API requests. By default, fields with empty or
   604  	// default values are omitted from API requests. See
   605  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   606  	// details.
   607  	ForceSendFields []string `json:"-"`
   608  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   609  	// requests with the JSON null value. By default, fields with empty values are
   610  	// omitted from API requests. See
   611  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   612  	NullFields []string `json:"-"`
   613  }
   614  
   615  func (s *Container) MarshalJSON() ([]byte, error) {
   616  	type NoMethod Container
   617  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   618  }
   619  
   620  // ContainerAccess: Defines the Google Tag Manager Container access
   621  // permissions.
   622  type ContainerAccess struct {
   623  	// ContainerId: GTM Container ID. @mutable
   624  	// tagmanager.accounts.permissions.create @mutable
   625  	// tagmanager.accounts.permissions.update
   626  	ContainerId string `json:"containerId,omitempty"`
   627  	// Permission: List of Container permissions. Valid container permissions are:
   628  	// read, edit, delete, publish. @mutable tagmanager.accounts.permissions.create
   629  	// @mutable tagmanager.accounts.permissions.update
   630  	//
   631  	// Possible values:
   632  	//   "read"
   633  	//   "edit"
   634  	//   "publish"
   635  	//   "delete"
   636  	//   "manage"
   637  	//   "editWorkspace"
   638  	Permission []string `json:"permission,omitempty"`
   639  	// ForceSendFields is a list of field names (e.g. "ContainerId") to
   640  	// unconditionally include in API requests. By default, fields with empty or
   641  	// default values are omitted from API requests. See
   642  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   643  	// details.
   644  	ForceSendFields []string `json:"-"`
   645  	// NullFields is a list of field names (e.g. "ContainerId") to include in API
   646  	// requests with the JSON null value. By default, fields with empty values are
   647  	// omitted from API requests. See
   648  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   649  	NullFields []string `json:"-"`
   650  }
   651  
   652  func (s *ContainerAccess) MarshalJSON() ([]byte, error) {
   653  	type NoMethod ContainerAccess
   654  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   655  }
   656  
   657  // ContainerVersion: Represents a Google Tag Manager Container Version.
   658  type ContainerVersion struct {
   659  	// AccountId: GTM Account ID.
   660  	AccountId string `json:"accountId,omitempty"`
   661  	// Container: The container that this version was taken from.
   662  	Container *Container `json:"container,omitempty"`
   663  	// ContainerId: GTM Container ID.
   664  	ContainerId string `json:"containerId,omitempty"`
   665  	// ContainerVersionId: The Container Version ID uniquely identifies the GTM
   666  	// Container Version.
   667  	ContainerVersionId string `json:"containerVersionId,omitempty"`
   668  	// Deleted: A value of true indicates this container version has been deleted.
   669  	Deleted bool `json:"deleted,omitempty"`
   670  	// Fingerprint: The fingerprint of the GTM Container Version as computed at
   671  	// storage time. This value is recomputed whenever the container version is
   672  	// modified.
   673  	Fingerprint string `json:"fingerprint,omitempty"`
   674  	// Folder: The folders in the container that this version was taken from.
   675  	Folder []*Folder `json:"folder,omitempty"`
   676  	// Macro: The macros in the container that this version was taken from.
   677  	Macro []*Macro `json:"macro,omitempty"`
   678  	// Name: Container version display name. @mutable
   679  	// tagmanager.accounts.containers.versions.update
   680  	Name string `json:"name,omitempty"`
   681  	// Notes: User notes on how to apply this container version in the container.
   682  	// @mutable tagmanager.accounts.containers.versions.update
   683  	Notes string `json:"notes,omitempty"`
   684  	// Rule: The rules in the container that this version was taken from.
   685  	Rule []*Rule `json:"rule,omitempty"`
   686  	// Tag: The tags in the container that this version was taken from.
   687  	Tag []*Tag `json:"tag,omitempty"`
   688  	// Trigger: The triggers in the container that this version was taken from.
   689  	Trigger []*Trigger `json:"trigger,omitempty"`
   690  	// Variable: The variables in the container that this version was taken from.
   691  	Variable []*Variable `json:"variable,omitempty"`
   692  
   693  	// ServerResponse contains the HTTP response code and headers from the server.
   694  	googleapi.ServerResponse `json:"-"`
   695  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   696  	// unconditionally include in API requests. By default, fields with empty or
   697  	// default values are omitted from API requests. See
   698  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   699  	// details.
   700  	ForceSendFields []string `json:"-"`
   701  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   702  	// requests with the JSON null value. By default, fields with empty values are
   703  	// omitted from API requests. See
   704  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   705  	NullFields []string `json:"-"`
   706  }
   707  
   708  func (s *ContainerVersion) MarshalJSON() ([]byte, error) {
   709  	type NoMethod ContainerVersion
   710  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   711  }
   712  
   713  // ContainerVersionHeader: Represents a Google Tag Manager Container Version
   714  // Header.
   715  type ContainerVersionHeader struct {
   716  	// AccountId: GTM Account ID.
   717  	AccountId string `json:"accountId,omitempty"`
   718  	// ContainerId: GTM Container ID.
   719  	ContainerId string `json:"containerId,omitempty"`
   720  	// ContainerVersionId: The Container Version ID uniquely identifies the GTM
   721  	// Container Version.
   722  	ContainerVersionId string `json:"containerVersionId,omitempty"`
   723  	// Deleted: A value of true indicates this container version has been deleted.
   724  	Deleted bool `json:"deleted,omitempty"`
   725  	// Name: Container version display name.
   726  	Name string `json:"name,omitempty"`
   727  	// NumMacros: Number of macros in the container version.
   728  	NumMacros string `json:"numMacros,omitempty"`
   729  	// NumRules: Number of rules in the container version.
   730  	NumRules string `json:"numRules,omitempty"`
   731  	// NumTags: Number of tags in the container version.
   732  	NumTags string `json:"numTags,omitempty"`
   733  	// NumTriggers: Number of triggers in the container version.
   734  	NumTriggers string `json:"numTriggers,omitempty"`
   735  	// NumVariables: Number of variables in the container version.
   736  	NumVariables string `json:"numVariables,omitempty"`
   737  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   738  	// unconditionally include in API requests. By default, fields with empty or
   739  	// default values are omitted from API requests. See
   740  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   741  	// details.
   742  	ForceSendFields []string `json:"-"`
   743  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   744  	// requests with the JSON null value. By default, fields with empty values are
   745  	// omitted from API requests. See
   746  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   747  	NullFields []string `json:"-"`
   748  }
   749  
   750  func (s *ContainerVersionHeader) MarshalJSON() ([]byte, error) {
   751  	type NoMethod ContainerVersionHeader
   752  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   753  }
   754  
   755  // CreateContainerVersionRequestVersionOptions: Options for new container
   756  // versions.
   757  type CreateContainerVersionRequestVersionOptions struct {
   758  	// Name: The name of the container version to be created.
   759  	Name string `json:"name,omitempty"`
   760  	// Notes: The notes of the container version to be created.
   761  	Notes string `json:"notes,omitempty"`
   762  	// QuickPreview: The creation of this version may be for quick preview and
   763  	// shouldn't be saved.
   764  	QuickPreview bool `json:"quickPreview,omitempty"`
   765  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
   766  	// include in API requests. By default, fields with empty or default values are
   767  	// omitted from API requests. See
   768  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   769  	// details.
   770  	ForceSendFields []string `json:"-"`
   771  	// NullFields is a list of field names (e.g. "Name") to include in API requests
   772  	// with the JSON null value. By default, fields with empty values are omitted
   773  	// from API requests. See
   774  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   775  	NullFields []string `json:"-"`
   776  }
   777  
   778  func (s *CreateContainerVersionRequestVersionOptions) MarshalJSON() ([]byte, error) {
   779  	type NoMethod CreateContainerVersionRequestVersionOptions
   780  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   781  }
   782  
   783  // CreateContainerVersionResponse: Create container versions response.
   784  type CreateContainerVersionResponse struct {
   785  	// CompilerError: Compiler errors or not.
   786  	CompilerError bool `json:"compilerError,omitempty"`
   787  	// ContainerVersion: The container version created.
   788  	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
   789  
   790  	// ServerResponse contains the HTTP response code and headers from the server.
   791  	googleapi.ServerResponse `json:"-"`
   792  	// ForceSendFields is a list of field names (e.g. "CompilerError") to
   793  	// unconditionally include in API requests. By default, fields with empty or
   794  	// default values are omitted from API requests. See
   795  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   796  	// details.
   797  	ForceSendFields []string `json:"-"`
   798  	// NullFields is a list of field names (e.g. "CompilerError") to include in API
   799  	// requests with the JSON null value. By default, fields with empty values are
   800  	// omitted from API requests. See
   801  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   802  	NullFields []string `json:"-"`
   803  }
   804  
   805  func (s *CreateContainerVersionResponse) MarshalJSON() ([]byte, error) {
   806  	type NoMethod CreateContainerVersionResponse
   807  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   808  }
   809  
   810  // Environment: Represents a Google Tag Manager Environment. Note that a user
   811  // can create, delete and update environments of type USER, but can only update
   812  // the enable_debug and url fields of environments of other types.
   813  type Environment struct {
   814  	// AccountId: GTM Account ID.
   815  	AccountId string `json:"accountId,omitempty"`
   816  	// AuthorizationCode: The environment authorization code.
   817  	AuthorizationCode string `json:"authorizationCode,omitempty"`
   818  	// AuthorizationTimestampMs: The last update time-stamp for the authorization
   819  	// code.
   820  	AuthorizationTimestampMs int64 `json:"authorizationTimestampMs,omitempty,string"`
   821  	// ContainerId: GTM Container ID.
   822  	ContainerId        string `json:"containerId,omitempty"`
   823  	ContainerVersionId string `json:"containerVersionId,omitempty"`
   824  	// Description: The environment description. Can be set or changed only on USER
   825  	// type environments. @mutable
   826  	// tagmanager.accounts.containers.environments.create @mutable
   827  	// tagmanager.accounts.containers.environments.update
   828  	Description string `json:"description,omitempty"`
   829  	// EnableDebug: Whether or not to enable debug by default on for the
   830  	// environment. @mutable tagmanager.accounts.containers.environments.create
   831  	// @mutable tagmanager.accounts.containers.environments.update
   832  	EnableDebug bool `json:"enableDebug,omitempty"`
   833  	// EnvironmentId: GTM Environment ID uniquely identifies the GTM Environment.
   834  	EnvironmentId string `json:"environmentId,omitempty"`
   835  	// Fingerprint: The fingerprint of the GTM environment as computed at storage
   836  	// time. This value is recomputed whenever the environment is modified.
   837  	Fingerprint string `json:"fingerprint,omitempty"`
   838  	// Name: The environment display name. Can be set or changed only on USER type
   839  	// environments. @mutable tagmanager.accounts.containers.environments.create
   840  	// @mutable tagmanager.accounts.containers.environments.update
   841  	Name string `json:"name,omitempty"`
   842  	// Type: The type of this environment.
   843  	//
   844  	// Possible values:
   845  	//   "user" - Used for user defined environments.
   846  	//   "live" - Used for Live environment, which points to the live published
   847  	// container version.
   848  	//   "latest" - Used for Latest environment, which points to the latest created
   849  	// container version.
   850  	//   "draft" - Used for Draft environment, which points to the single draft in
   851  	// the container.
   852  	Type string `json:"type,omitempty"`
   853  	// Url: Default preview page url for the environment. @mutable
   854  	// tagmanager.accounts.containers.environments.create @mutable
   855  	// tagmanager.accounts.containers.environments.update
   856  	Url string `json:"url,omitempty"`
   857  
   858  	// ServerResponse contains the HTTP response code and headers from the server.
   859  	googleapi.ServerResponse `json:"-"`
   860  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   861  	// unconditionally include in API requests. By default, fields with empty or
   862  	// default values are omitted from API requests. See
   863  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   864  	// details.
   865  	ForceSendFields []string `json:"-"`
   866  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   867  	// requests with the JSON null value. By default, fields with empty values are
   868  	// omitted from API requests. See
   869  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   870  	NullFields []string `json:"-"`
   871  }
   872  
   873  func (s *Environment) MarshalJSON() ([]byte, error) {
   874  	type NoMethod Environment
   875  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   876  }
   877  
   878  // Folder: Represents a Google Tag Manager Folder.
   879  type Folder struct {
   880  	// AccountId: GTM Account ID.
   881  	AccountId string `json:"accountId,omitempty"`
   882  	// ContainerId: GTM Container ID.
   883  	ContainerId string `json:"containerId,omitempty"`
   884  	// Fingerprint: The fingerprint of the GTM Folder as computed at storage time.
   885  	// This value is recomputed whenever the folder is modified.
   886  	Fingerprint string `json:"fingerprint,omitempty"`
   887  	// FolderId: The Folder ID uniquely identifies the GTM Folder.
   888  	FolderId string `json:"folderId,omitempty"`
   889  	// Name: Folder display name. @mutable
   890  	// tagmanager.accounts.containers.folders.create @mutable
   891  	// tagmanager.accounts.containers.folders.update
   892  	Name string `json:"name,omitempty"`
   893  
   894  	// ServerResponse contains the HTTP response code and headers from the server.
   895  	googleapi.ServerResponse `json:"-"`
   896  	// ForceSendFields is a list of field names (e.g. "AccountId") to
   897  	// unconditionally include in API requests. By default, fields with empty or
   898  	// default values are omitted from API requests. See
   899  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   900  	// details.
   901  	ForceSendFields []string `json:"-"`
   902  	// NullFields is a list of field names (e.g. "AccountId") to include in API
   903  	// requests with the JSON null value. By default, fields with empty values are
   904  	// omitted from API requests. See
   905  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   906  	NullFields []string `json:"-"`
   907  }
   908  
   909  func (s *Folder) MarshalJSON() ([]byte, error) {
   910  	type NoMethod Folder
   911  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   912  }
   913  
   914  // FolderEntities: Represents a Google Tag Manager Folder's contents.
   915  type FolderEntities struct {
   916  	// Tag: The list of tags inside the folder.
   917  	Tag []*Tag `json:"tag,omitempty"`
   918  	// Trigger: The list of triggers inside the folder.
   919  	Trigger []*Trigger `json:"trigger,omitempty"`
   920  	// Variable: The list of variables inside the folder.
   921  	Variable []*Variable `json:"variable,omitempty"`
   922  
   923  	// ServerResponse contains the HTTP response code and headers from the server.
   924  	googleapi.ServerResponse `json:"-"`
   925  	// ForceSendFields is a list of field names (e.g. "Tag") to unconditionally
   926  	// include in API requests. By default, fields with empty or default values are
   927  	// omitted from API requests. See
   928  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   929  	// details.
   930  	ForceSendFields []string `json:"-"`
   931  	// NullFields is a list of field names (e.g. "Tag") to include in API requests
   932  	// with the JSON null value. By default, fields with empty values are omitted
   933  	// from API requests. See
   934  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   935  	NullFields []string `json:"-"`
   936  }
   937  
   938  func (s *FolderEntities) MarshalJSON() ([]byte, error) {
   939  	type NoMethod FolderEntities
   940  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   941  }
   942  
   943  // ListAccountUsersResponse: List AccountUsers Response.
   944  type ListAccountUsersResponse struct {
   945  	// UserAccess: All GTM AccountUsers of a GTM Account.
   946  	UserAccess []*UserAccess `json:"userAccess,omitempty"`
   947  
   948  	// ServerResponse contains the HTTP response code and headers from the server.
   949  	googleapi.ServerResponse `json:"-"`
   950  	// ForceSendFields is a list of field names (e.g. "UserAccess") to
   951  	// unconditionally include in API requests. By default, fields with empty or
   952  	// default values are omitted from API requests. See
   953  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   954  	// details.
   955  	ForceSendFields []string `json:"-"`
   956  	// NullFields is a list of field names (e.g. "UserAccess") to include in API
   957  	// requests with the JSON null value. By default, fields with empty values are
   958  	// omitted from API requests. See
   959  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   960  	NullFields []string `json:"-"`
   961  }
   962  
   963  func (s *ListAccountUsersResponse) MarshalJSON() ([]byte, error) {
   964  	type NoMethod ListAccountUsersResponse
   965  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   966  }
   967  
   968  // ListAccountsResponse: List Accounts Response.
   969  type ListAccountsResponse struct {
   970  	// Accounts: List of GTM Accounts that a user has access to.
   971  	Accounts []*Account `json:"accounts,omitempty"`
   972  
   973  	// ServerResponse contains the HTTP response code and headers from the server.
   974  	googleapi.ServerResponse `json:"-"`
   975  	// ForceSendFields is a list of field names (e.g. "Accounts") to
   976  	// unconditionally include in API requests. By default, fields with empty or
   977  	// default values are omitted from API requests. See
   978  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   979  	// details.
   980  	ForceSendFields []string `json:"-"`
   981  	// NullFields is a list of field names (e.g. "Accounts") to include in API
   982  	// requests with the JSON null value. By default, fields with empty values are
   983  	// omitted from API requests. See
   984  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   985  	NullFields []string `json:"-"`
   986  }
   987  
   988  func (s *ListAccountsResponse) MarshalJSON() ([]byte, error) {
   989  	type NoMethod ListAccountsResponse
   990  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   991  }
   992  
   993  // ListContainerVersionsResponse: List container versions response.
   994  type ListContainerVersionsResponse struct {
   995  	// ContainerVersion: All versions of a GTM Container.
   996  	ContainerVersion []*ContainerVersion `json:"containerVersion,omitempty"`
   997  	// ContainerVersionHeader: All container version headers of a GTM Container.
   998  	ContainerVersionHeader []*ContainerVersionHeader `json:"containerVersionHeader,omitempty"`
   999  
  1000  	// ServerResponse contains the HTTP response code and headers from the server.
  1001  	googleapi.ServerResponse `json:"-"`
  1002  	// ForceSendFields is a list of field names (e.g. "ContainerVersion") to
  1003  	// unconditionally include in API requests. By default, fields with empty or
  1004  	// default values are omitted from API requests. See
  1005  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1006  	// details.
  1007  	ForceSendFields []string `json:"-"`
  1008  	// NullFields is a list of field names (e.g. "ContainerVersion") to include in
  1009  	// API requests with the JSON null value. By default, fields with empty values
  1010  	// are omitted from API requests. See
  1011  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1012  	NullFields []string `json:"-"`
  1013  }
  1014  
  1015  func (s *ListContainerVersionsResponse) MarshalJSON() ([]byte, error) {
  1016  	type NoMethod ListContainerVersionsResponse
  1017  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1018  }
  1019  
  1020  // ListContainersResponse: List Containers Response.
  1021  type ListContainersResponse struct {
  1022  	// Containers: All Containers of a GTM Account.
  1023  	Containers []*Container `json:"containers,omitempty"`
  1024  
  1025  	// ServerResponse contains the HTTP response code and headers from the server.
  1026  	googleapi.ServerResponse `json:"-"`
  1027  	// ForceSendFields is a list of field names (e.g. "Containers") to
  1028  	// unconditionally include in API requests. By default, fields with empty or
  1029  	// default values are omitted from API requests. See
  1030  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1031  	// details.
  1032  	ForceSendFields []string `json:"-"`
  1033  	// NullFields is a list of field names (e.g. "Containers") to include in API
  1034  	// requests with the JSON null value. By default, fields with empty values are
  1035  	// omitted from API requests. See
  1036  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1037  	NullFields []string `json:"-"`
  1038  }
  1039  
  1040  func (s *ListContainersResponse) MarshalJSON() ([]byte, error) {
  1041  	type NoMethod ListContainersResponse
  1042  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1043  }
  1044  
  1045  // ListEnvironmentsResponse: List Environments Response.
  1046  type ListEnvironmentsResponse struct {
  1047  	// Environments: All Environments of a GTM Container.
  1048  	Environments []*Environment `json:"environments,omitempty"`
  1049  
  1050  	// ServerResponse contains the HTTP response code and headers from the server.
  1051  	googleapi.ServerResponse `json:"-"`
  1052  	// ForceSendFields is a list of field names (e.g. "Environments") to
  1053  	// unconditionally include in API requests. By default, fields with empty or
  1054  	// default values are omitted from API requests. See
  1055  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1056  	// details.
  1057  	ForceSendFields []string `json:"-"`
  1058  	// NullFields is a list of field names (e.g. "Environments") to include in API
  1059  	// requests with the JSON null value. By default, fields with empty values are
  1060  	// omitted from API requests. See
  1061  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1062  	NullFields []string `json:"-"`
  1063  }
  1064  
  1065  func (s *ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
  1066  	type NoMethod ListEnvironmentsResponse
  1067  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1068  }
  1069  
  1070  // ListFoldersResponse: List Folders Response.
  1071  type ListFoldersResponse struct {
  1072  	// Folders: All GTM Folders of a GTM Container.
  1073  	Folders []*Folder `json:"folders,omitempty"`
  1074  
  1075  	// ServerResponse contains the HTTP response code and headers from the server.
  1076  	googleapi.ServerResponse `json:"-"`
  1077  	// ForceSendFields is a list of field names (e.g. "Folders") to unconditionally
  1078  	// include in API requests. By default, fields with empty or default values are
  1079  	// omitted from API requests. See
  1080  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1081  	// details.
  1082  	ForceSendFields []string `json:"-"`
  1083  	// NullFields is a list of field names (e.g. "Folders") to include in API
  1084  	// requests with the JSON null value. By default, fields with empty values are
  1085  	// omitted from API requests. See
  1086  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1087  	NullFields []string `json:"-"`
  1088  }
  1089  
  1090  func (s *ListFoldersResponse) MarshalJSON() ([]byte, error) {
  1091  	type NoMethod ListFoldersResponse
  1092  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1093  }
  1094  
  1095  // ListTagsResponse: List Tags Response.
  1096  type ListTagsResponse struct {
  1097  	// Tags: All GTM Tags of a GTM Container.
  1098  	Tags []*Tag `json:"tags,omitempty"`
  1099  
  1100  	// ServerResponse contains the HTTP response code and headers from the server.
  1101  	googleapi.ServerResponse `json:"-"`
  1102  	// ForceSendFields is a list of field names (e.g. "Tags") to unconditionally
  1103  	// include in API requests. By default, fields with empty or default values are
  1104  	// omitted from API requests. See
  1105  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1106  	// details.
  1107  	ForceSendFields []string `json:"-"`
  1108  	// NullFields is a list of field names (e.g. "Tags") to include in API requests
  1109  	// with the JSON null value. By default, fields with empty values are omitted
  1110  	// from API requests. See
  1111  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1112  	NullFields []string `json:"-"`
  1113  }
  1114  
  1115  func (s *ListTagsResponse) MarshalJSON() ([]byte, error) {
  1116  	type NoMethod ListTagsResponse
  1117  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1118  }
  1119  
  1120  // ListTriggersResponse: List triggers response.
  1121  type ListTriggersResponse struct {
  1122  	// Triggers: All GTM Triggers of a GTM Container.
  1123  	Triggers []*Trigger `json:"triggers,omitempty"`
  1124  
  1125  	// ServerResponse contains the HTTP response code and headers from the server.
  1126  	googleapi.ServerResponse `json:"-"`
  1127  	// ForceSendFields is a list of field names (e.g. "Triggers") to
  1128  	// unconditionally include in API requests. By default, fields with empty or
  1129  	// default values are omitted from API requests. See
  1130  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1131  	// details.
  1132  	ForceSendFields []string `json:"-"`
  1133  	// NullFields is a list of field names (e.g. "Triggers") to include in API
  1134  	// requests with the JSON null value. By default, fields with empty values are
  1135  	// omitted from API requests. See
  1136  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1137  	NullFields []string `json:"-"`
  1138  }
  1139  
  1140  func (s *ListTriggersResponse) MarshalJSON() ([]byte, error) {
  1141  	type NoMethod ListTriggersResponse
  1142  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1143  }
  1144  
  1145  // ListVariablesResponse: List Variables Response.
  1146  type ListVariablesResponse struct {
  1147  	// Variables: All GTM Variables of a GTM Container.
  1148  	Variables []*Variable `json:"variables,omitempty"`
  1149  
  1150  	// ServerResponse contains the HTTP response code and headers from the server.
  1151  	googleapi.ServerResponse `json:"-"`
  1152  	// ForceSendFields is a list of field names (e.g. "Variables") to
  1153  	// unconditionally include in API requests. By default, fields with empty or
  1154  	// default values are omitted from API requests. See
  1155  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1156  	// details.
  1157  	ForceSendFields []string `json:"-"`
  1158  	// NullFields is a list of field names (e.g. "Variables") to include in API
  1159  	// requests with the JSON null value. By default, fields with empty values are
  1160  	// omitted from API requests. See
  1161  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1162  	NullFields []string `json:"-"`
  1163  }
  1164  
  1165  func (s *ListVariablesResponse) MarshalJSON() ([]byte, error) {
  1166  	type NoMethod ListVariablesResponse
  1167  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1168  }
  1169  
  1170  // Macro: Represents a Google Tag Manager Macro.
  1171  type Macro struct {
  1172  	// AccountId: GTM Account ID.
  1173  	AccountId string `json:"accountId,omitempty"`
  1174  	// ContainerId: GTM Container ID.
  1175  	ContainerId string `json:"containerId,omitempty"`
  1176  	// DisablingRuleId: For mobile containers only: A list of rule IDs for
  1177  	// disabling conditional macros; the macro is enabled if one of the enabling
  1178  	// rules is true while all the disabling rules are false. Treated as an
  1179  	// unordered set. @mutable tagmanager.accounts.containers.macros.create
  1180  	// @mutable tagmanager.accounts.containers.macros.update
  1181  	DisablingRuleId []string `json:"disablingRuleId,omitempty"`
  1182  	// EnablingRuleId: For mobile containers only: A list of rule IDs for enabling
  1183  	// conditional macros; the macro is enabled if one of the enabling rules is
  1184  	// true while all the disabling rules are false. Treated as an unordered set.
  1185  	// @mutable tagmanager.accounts.containers.macros.create @mutable
  1186  	// tagmanager.accounts.containers.macros.update
  1187  	EnablingRuleId []string `json:"enablingRuleId,omitempty"`
  1188  	// Fingerprint: The fingerprint of the GTM Macro as computed at storage time.
  1189  	// This value is recomputed whenever the macro is modified.
  1190  	Fingerprint string `json:"fingerprint,omitempty"`
  1191  	// MacroId: The Macro ID uniquely identifies the GTM Macro.
  1192  	MacroId string `json:"macroId,omitempty"`
  1193  	// Name: Macro display name. @mutable
  1194  	// tagmanager.accounts.containers.macros.create @mutable
  1195  	// tagmanager.accounts.containers.macros.update
  1196  	Name string `json:"name,omitempty"`
  1197  	// Notes: User notes on how to apply this macro in the container. @mutable
  1198  	// tagmanager.accounts.containers.macros.create @mutable
  1199  	// tagmanager.accounts.containers.macros.update
  1200  	Notes string `json:"notes,omitempty"`
  1201  	// Parameter: The macro's parameters. @mutable
  1202  	// tagmanager.accounts.containers.macros.create @mutable
  1203  	// tagmanager.accounts.containers.macros.update
  1204  	Parameter []*Parameter `json:"parameter,omitempty"`
  1205  	// ParentFolderId: Parent folder id.
  1206  	ParentFolderId string `json:"parentFolderId,omitempty"`
  1207  	// ScheduleEndMs: The end timestamp in milliseconds to schedule a macro.
  1208  	// @mutable tagmanager.accounts.containers.macros.create @mutable
  1209  	// tagmanager.accounts.containers.macros.update
  1210  	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
  1211  	// ScheduleStartMs: The start timestamp in milliseconds to schedule a macro.
  1212  	// @mutable tagmanager.accounts.containers.macros.create @mutable
  1213  	// tagmanager.accounts.containers.macros.update
  1214  	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
  1215  	// Type: GTM Macro Type. @mutable tagmanager.accounts.containers.macros.create
  1216  	// @mutable tagmanager.accounts.containers.macros.update
  1217  	Type string `json:"type,omitempty"`
  1218  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1219  	// unconditionally include in API requests. By default, fields with empty or
  1220  	// default values are omitted from API requests. See
  1221  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1222  	// details.
  1223  	ForceSendFields []string `json:"-"`
  1224  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1225  	// requests with the JSON null value. By default, fields with empty values are
  1226  	// omitted from API requests. See
  1227  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1228  	NullFields []string `json:"-"`
  1229  }
  1230  
  1231  func (s *Macro) MarshalJSON() ([]byte, error) {
  1232  	type NoMethod Macro
  1233  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1234  }
  1235  
  1236  // Parameter: Represents a Google Tag Manager Parameter.
  1237  type Parameter struct {
  1238  	// Key: The named key that uniquely identifies a parameter. Required for
  1239  	// top-level parameters, as well as map values. Ignored for list values.
  1240  	// @mutable tagmanager.accounts.containers.variables.create @mutable
  1241  	// tagmanager.accounts.containers.variables.update @mutable
  1242  	// tagmanager.accounts.containers.triggers.create @mutable
  1243  	// tagmanager.accounts.containers.triggers.update @mutable
  1244  	// tagmanager.accounts.containers.tags.create @mutable
  1245  	// tagmanager.accounts.containers.tags.update
  1246  	Key string `json:"key,omitempty"`
  1247  	// List: This list parameter's parameters (keys will be ignored). @mutable
  1248  	// tagmanager.accounts.containers.variables.create @mutable
  1249  	// tagmanager.accounts.containers.variables.update @mutable
  1250  	// tagmanager.accounts.containers.triggers.create @mutable
  1251  	// tagmanager.accounts.containers.triggers.update @mutable
  1252  	// tagmanager.accounts.containers.tags.create @mutable
  1253  	// tagmanager.accounts.containers.tags.update
  1254  	List []*Parameter `json:"list,omitempty"`
  1255  	// Map: This map parameter's parameters (must have keys; keys must be unique).
  1256  	// @mutable tagmanager.accounts.containers.variables.create @mutable
  1257  	// tagmanager.accounts.containers.variables.update @mutable
  1258  	// tagmanager.accounts.containers.triggers.create @mutable
  1259  	// tagmanager.accounts.containers.triggers.update @mutable
  1260  	// tagmanager.accounts.containers.tags.create @mutable
  1261  	// tagmanager.accounts.containers.tags.update
  1262  	Map []*Parameter `json:"map,omitempty"`
  1263  	// Type: The parameter type. Valid values are: - boolean: The value represents
  1264  	// a boolean, represented as 'true' or 'false' - integer: The value represents
  1265  	// a 64-bit signed integer value, in base 10 - list: A list of parameters
  1266  	// should be specified - map: A map of parameters should be specified -
  1267  	// template: The value represents any text; this can include variable
  1268  	// references (even variable references that might return non-string types) -
  1269  	// trigger_reference: The value represents a trigger, represented as the
  1270  	// trigger id - tag_reference: The value represents a tag, represented as the
  1271  	// tag name @mutable tagmanager.accounts.containers.variables.create @mutable
  1272  	// tagmanager.accounts.containers.variables.update @mutable
  1273  	// tagmanager.accounts.containers.triggers.create @mutable
  1274  	// tagmanager.accounts.containers.triggers.update @mutable
  1275  	// tagmanager.accounts.containers.tags.create @mutable
  1276  	// tagmanager.accounts.containers.tags.update
  1277  	//
  1278  	// Possible values:
  1279  	//   "template" - May include variable references (such as "{{myVariable}}").
  1280  	//   "integer"
  1281  	//   "boolean"
  1282  	//   "list"
  1283  	//   "map"
  1284  	//   "triggerReference"
  1285  	//   "tagReference"
  1286  	Type string `json:"type,omitempty"`
  1287  	// Value: A parameter's value (may contain variable references such as
  1288  	// "{{myVariable}}") as appropriate to the specified type. @mutable
  1289  	// tagmanager.accounts.containers.variables.create @mutable
  1290  	// tagmanager.accounts.containers.variables.update @mutable
  1291  	// tagmanager.accounts.containers.triggers.create @mutable
  1292  	// tagmanager.accounts.containers.triggers.update @mutable
  1293  	// tagmanager.accounts.containers.tags.create @mutable
  1294  	// tagmanager.accounts.containers.tags.update
  1295  	Value string `json:"value,omitempty"`
  1296  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  1297  	// include in API requests. By default, fields with empty or default values are
  1298  	// omitted from API requests. See
  1299  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1300  	// details.
  1301  	ForceSendFields []string `json:"-"`
  1302  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  1303  	// with the JSON null value. By default, fields with empty values are omitted
  1304  	// from API requests. See
  1305  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1306  	NullFields []string `json:"-"`
  1307  }
  1308  
  1309  func (s *Parameter) MarshalJSON() ([]byte, error) {
  1310  	type NoMethod Parameter
  1311  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1312  }
  1313  
  1314  // PublishContainerVersionResponse: Publish container version response.
  1315  type PublishContainerVersionResponse struct {
  1316  	// CompilerError: Compiler errors or not.
  1317  	CompilerError bool `json:"compilerError,omitempty"`
  1318  	// ContainerVersion: The container version created.
  1319  	ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
  1320  
  1321  	// ServerResponse contains the HTTP response code and headers from the server.
  1322  	googleapi.ServerResponse `json:"-"`
  1323  	// ForceSendFields is a list of field names (e.g. "CompilerError") to
  1324  	// unconditionally include in API requests. By default, fields with empty or
  1325  	// default values are omitted from API requests. See
  1326  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1327  	// details.
  1328  	ForceSendFields []string `json:"-"`
  1329  	// NullFields is a list of field names (e.g. "CompilerError") to include in API
  1330  	// requests with the JSON null value. By default, fields with empty values are
  1331  	// omitted from API requests. See
  1332  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1333  	NullFields []string `json:"-"`
  1334  }
  1335  
  1336  func (s *PublishContainerVersionResponse) MarshalJSON() ([]byte, error) {
  1337  	type NoMethod PublishContainerVersionResponse
  1338  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1339  }
  1340  
  1341  // Rule: Represents a Google Tag Manager Rule.
  1342  type Rule struct {
  1343  	// AccountId: GTM Account ID.
  1344  	AccountId string `json:"accountId,omitempty"`
  1345  	// Condition: The list of conditions that make up this rule (implicit AND
  1346  	// between them). @mutable tagmanager.accounts.containers.rules.create @mutable
  1347  	// tagmanager.accounts.containers.rules.update
  1348  	Condition []*Condition `json:"condition,omitempty"`
  1349  	// ContainerId: GTM Container ID.
  1350  	ContainerId string `json:"containerId,omitempty"`
  1351  	// Fingerprint: The fingerprint of the GTM Rule as computed at storage time.
  1352  	// This value is recomputed whenever the rule is modified.
  1353  	Fingerprint string `json:"fingerprint,omitempty"`
  1354  	// Name: Rule display name. @mutable
  1355  	// tagmanager.accounts.containers.rules.create @mutable
  1356  	// tagmanager.accounts.containers.rules.update
  1357  	Name string `json:"name,omitempty"`
  1358  	// Notes: User notes on how to apply this rule in the container. @mutable
  1359  	// tagmanager.accounts.containers.rules.create @mutable
  1360  	// tagmanager.accounts.containers.rules.update
  1361  	Notes string `json:"notes,omitempty"`
  1362  	// RuleId: The Rule ID uniquely identifies the GTM Rule.
  1363  	RuleId string `json:"ruleId,omitempty"`
  1364  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1365  	// unconditionally include in API requests. By default, fields with empty or
  1366  	// default values are omitted from API requests. See
  1367  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1368  	// details.
  1369  	ForceSendFields []string `json:"-"`
  1370  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1371  	// requests with the JSON null value. By default, fields with empty values are
  1372  	// omitted from API requests. See
  1373  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1374  	NullFields []string `json:"-"`
  1375  }
  1376  
  1377  func (s *Rule) MarshalJSON() ([]byte, error) {
  1378  	type NoMethod Rule
  1379  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1380  }
  1381  
  1382  type SetupTag struct {
  1383  	// StopOnSetupFailure: If true, fire the main tag if and only if the setup tag
  1384  	// fires successfully. If false, fire the main tag regardless of setup tag
  1385  	// firing status.
  1386  	StopOnSetupFailure bool `json:"stopOnSetupFailure,omitempty"`
  1387  	// TagName: The name of the setup tag.
  1388  	TagName string `json:"tagName,omitempty"`
  1389  	// ForceSendFields is a list of field names (e.g. "StopOnSetupFailure") to
  1390  	// unconditionally include in API requests. By default, fields with empty or
  1391  	// default values are omitted from API requests. See
  1392  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1393  	// details.
  1394  	ForceSendFields []string `json:"-"`
  1395  	// NullFields is a list of field names (e.g. "StopOnSetupFailure") to include
  1396  	// in API requests with the JSON null value. By default, fields with empty
  1397  	// values are omitted from API requests. See
  1398  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1399  	NullFields []string `json:"-"`
  1400  }
  1401  
  1402  func (s *SetupTag) MarshalJSON() ([]byte, error) {
  1403  	type NoMethod SetupTag
  1404  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1405  }
  1406  
  1407  // Tag: Represents a Google Tag Manager Tag.
  1408  type Tag struct {
  1409  	// AccountId: GTM Account ID.
  1410  	AccountId string `json:"accountId,omitempty"`
  1411  	// BlockingRuleId: Blocking rule IDs. If any of the listed rules evaluate to
  1412  	// true, the tag will not fire. @mutable
  1413  	// tagmanager.accounts.containers.tags.create @mutable
  1414  	// tagmanager.accounts.containers.tags.update
  1415  	BlockingRuleId []string `json:"blockingRuleId,omitempty"`
  1416  	// BlockingTriggerId: Blocking trigger IDs. If any of the listed triggers
  1417  	// evaluate to true, the tag will not fire. @mutable
  1418  	// tagmanager.accounts.containers.tags.create @mutable
  1419  	// tagmanager.accounts.containers.tags.update
  1420  	BlockingTriggerId []string `json:"blockingTriggerId,omitempty"`
  1421  	// ContainerId: GTM Container ID.
  1422  	ContainerId string `json:"containerId,omitempty"`
  1423  	// Fingerprint: The fingerprint of the GTM Tag as computed at storage time.
  1424  	// This value is recomputed whenever the tag is modified.
  1425  	Fingerprint string `json:"fingerprint,omitempty"`
  1426  	// FiringRuleId: Firing rule IDs. A tag will fire when any of the listed rules
  1427  	// are true and all of its blockingRuleIds (if any specified) are false.
  1428  	// @mutable tagmanager.accounts.containers.tags.create @mutable
  1429  	// tagmanager.accounts.containers.tags.update
  1430  	FiringRuleId []string `json:"firingRuleId,omitempty"`
  1431  	// FiringTriggerId: Firing trigger IDs. A tag will fire when any of the listed
  1432  	// triggers are true and all of its blockingTriggerIds (if any specified) are
  1433  	// false. @mutable tagmanager.accounts.containers.tags.create @mutable
  1434  	// tagmanager.accounts.containers.tags.update
  1435  	FiringTriggerId []string `json:"firingTriggerId,omitempty"`
  1436  	// LiveOnly: If set to true, this tag will only fire in the live environment
  1437  	// (e.g. not in preview or debug mode). @mutable
  1438  	// tagmanager.accounts.containers.tags.create @mutable
  1439  	// tagmanager.accounts.containers.tags.update
  1440  	LiveOnly bool `json:"liveOnly,omitempty"`
  1441  	// Name: Tag display name. @mutable tagmanager.accounts.containers.tags.create
  1442  	// @mutable tagmanager.accounts.containers.tags.update
  1443  	Name string `json:"name,omitempty"`
  1444  	// Notes: User notes on how to apply this tag in the container. @mutable
  1445  	// tagmanager.accounts.containers.tags.create @mutable
  1446  	// tagmanager.accounts.containers.tags.update
  1447  	Notes string `json:"notes,omitempty"`
  1448  	// Parameter: The tag's parameters. @mutable
  1449  	// tagmanager.accounts.containers.tags.create @mutable
  1450  	// tagmanager.accounts.containers.tags.update
  1451  	Parameter []*Parameter `json:"parameter,omitempty"`
  1452  	// ParentFolderId: Parent folder id.
  1453  	ParentFolderId string `json:"parentFolderId,omitempty"`
  1454  	// Paused: True if the tag is paused. @mutable
  1455  	// tagmanager.accounts.containers.tags.create @mutable
  1456  	// tagmanager.accounts.containers.tags.update
  1457  	Paused bool `json:"paused,omitempty"`
  1458  	// Priority: User defined numeric priority of the tag. Tags are fired
  1459  	// asynchronously in order of priority. Tags with higher numeric value fire
  1460  	// first. A tag's priority can be a positive or negative value. The default
  1461  	// value is 0. @mutable tagmanager.accounts.containers.tags.create @mutable
  1462  	// tagmanager.accounts.containers.tags.update
  1463  	Priority *Parameter `json:"priority,omitempty"`
  1464  	// ScheduleEndMs: The end timestamp in milliseconds to schedule a tag. @mutable
  1465  	// tagmanager.accounts.containers.tags.create @mutable
  1466  	// tagmanager.accounts.containers.tags.update
  1467  	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
  1468  	// ScheduleStartMs: The start timestamp in milliseconds to schedule a tag.
  1469  	// @mutable tagmanager.accounts.containers.tags.create @mutable
  1470  	// tagmanager.accounts.containers.tags.update
  1471  	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
  1472  	// SetupTag: The list of setup tags. Currently we only allow one.
  1473  	SetupTag []*SetupTag `json:"setupTag,omitempty"`
  1474  	// TagFiringOption: Option to fire this tag.
  1475  	//
  1476  	// Possible values:
  1477  	//   "unlimited" - Tag can be fired multiple times per event.
  1478  	//   "oncePerEvent" - Tag can only be fired per event but can be fired multiple
  1479  	// times per load (e.g., app load or page load).
  1480  	//   "oncePerLoad" - Tag can only be fired per load (e.g., app load or page
  1481  	// load).
  1482  	TagFiringOption string `json:"tagFiringOption,omitempty"`
  1483  	// TagId: The Tag ID uniquely identifies the GTM Tag.
  1484  	TagId string `json:"tagId,omitempty"`
  1485  	// TeardownTag: The list of teardown tags. Currently we only allow one.
  1486  	TeardownTag []*TeardownTag `json:"teardownTag,omitempty"`
  1487  	// Type: GTM Tag Type. @mutable tagmanager.accounts.containers.tags.create
  1488  	// @mutable tagmanager.accounts.containers.tags.update
  1489  	Type string `json:"type,omitempty"`
  1490  
  1491  	// ServerResponse contains the HTTP response code and headers from the server.
  1492  	googleapi.ServerResponse `json:"-"`
  1493  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1494  	// unconditionally include in API requests. By default, fields with empty or
  1495  	// default values are omitted from API requests. See
  1496  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1497  	// details.
  1498  	ForceSendFields []string `json:"-"`
  1499  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1500  	// requests with the JSON null value. By default, fields with empty values are
  1501  	// omitted from API requests. See
  1502  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1503  	NullFields []string `json:"-"`
  1504  }
  1505  
  1506  func (s *Tag) MarshalJSON() ([]byte, error) {
  1507  	type NoMethod Tag
  1508  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1509  }
  1510  
  1511  type TeardownTag struct {
  1512  	// StopTeardownOnFailure: If true, fire the teardown tag if and only if the
  1513  	// main tag fires successfully. If false, fire the teardown tag regardless of
  1514  	// main tag firing status.
  1515  	StopTeardownOnFailure bool `json:"stopTeardownOnFailure,omitempty"`
  1516  	// TagName: The name of the teardown tag.
  1517  	TagName string `json:"tagName,omitempty"`
  1518  	// ForceSendFields is a list of field names (e.g. "StopTeardownOnFailure") to
  1519  	// unconditionally include in API requests. By default, fields with empty or
  1520  	// default values are omitted from API requests. See
  1521  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1522  	// details.
  1523  	ForceSendFields []string `json:"-"`
  1524  	// NullFields is a list of field names (e.g. "StopTeardownOnFailure") to
  1525  	// include in API requests with the JSON null value. By default, fields with
  1526  	// empty values are omitted from API requests. See
  1527  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1528  	NullFields []string `json:"-"`
  1529  }
  1530  
  1531  func (s *TeardownTag) MarshalJSON() ([]byte, error) {
  1532  	type NoMethod TeardownTag
  1533  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1534  }
  1535  
  1536  // Trigger: Represents a Google Tag Manager Trigger
  1537  type Trigger struct {
  1538  	// AccountId: GTM Account ID.
  1539  	AccountId string `json:"accountId,omitempty"`
  1540  	// AutoEventFilter: Used in the case of auto event tracking. @mutable
  1541  	// tagmanager.accounts.containers.triggers.create @mutable
  1542  	// tagmanager.accounts.containers.triggers.update
  1543  	AutoEventFilter []*Condition `json:"autoEventFilter,omitempty"`
  1544  	// CheckValidation: Whether or not we should only fire tags if the form submit
  1545  	// or link click event is not cancelled by some other event handler (e.g.
  1546  	// because of validation). Only valid for Form Submission and Link Click
  1547  	// triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable
  1548  	// tagmanager.accounts.containers.triggers.update
  1549  	CheckValidation *Parameter `json:"checkValidation,omitempty"`
  1550  	// ContainerId: GTM Container ID.
  1551  	ContainerId string `json:"containerId,omitempty"`
  1552  	// ContinuousTimeMinMilliseconds: A visibility trigger minimum continuous
  1553  	// visible time (in milliseconds). Only valid for AMP Visibility trigger.
  1554  	// @mutable tagmanager.accounts.containers.triggers.create @mutable
  1555  	// tagmanager.accounts.containers.triggers.update
  1556  	ContinuousTimeMinMilliseconds *Parameter `json:"continuousTimeMinMilliseconds,omitempty"`
  1557  	// CustomEventFilter: Used in the case of custom event, which is fired iff all
  1558  	// Conditions are true. @mutable tagmanager.accounts.containers.triggers.create
  1559  	// @mutable tagmanager.accounts.containers.triggers.update
  1560  	CustomEventFilter []*Condition `json:"customEventFilter,omitempty"`
  1561  	// EventName: Name of the GTM event that is fired. Only valid for Timer
  1562  	// triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable
  1563  	// tagmanager.accounts.containers.triggers.update
  1564  	EventName *Parameter `json:"eventName,omitempty"`
  1565  	// Filter: The trigger will only fire iff all Conditions are true. @mutable
  1566  	// tagmanager.accounts.containers.triggers.create @mutable
  1567  	// tagmanager.accounts.containers.triggers.update
  1568  	Filter []*Condition `json:"filter,omitempty"`
  1569  	// Fingerprint: The fingerprint of the GTM Trigger as computed at storage time.
  1570  	// This value is recomputed whenever the trigger is modified.
  1571  	Fingerprint string `json:"fingerprint,omitempty"`
  1572  	// HorizontalScrollPercentageList: List of integer percentage values for scroll
  1573  	// triggers. The trigger will fire when each percentage is reached when the
  1574  	// view is scrolled horizontally. Only valid for AMP scroll triggers. @mutable
  1575  	// tagmanager.accounts.containers.triggers.create @mutable
  1576  	// tagmanager.accounts.containers.triggers.update
  1577  	HorizontalScrollPercentageList *Parameter `json:"horizontalScrollPercentageList,omitempty"`
  1578  	// Interval: Time between triggering recurring Timer Events (in milliseconds).
  1579  	// Only valid for Timer triggers. @mutable
  1580  	// tagmanager.accounts.containers.triggers.create @mutable
  1581  	// tagmanager.accounts.containers.triggers.update
  1582  	Interval *Parameter `json:"interval,omitempty"`
  1583  	// IntervalSeconds: Time between Timer Events to fire (in seconds). Only valid
  1584  	// for AMP Timer trigger. @mutable
  1585  	// tagmanager.accounts.containers.triggers.create @mutable
  1586  	// tagmanager.accounts.containers.triggers.update
  1587  	IntervalSeconds *Parameter `json:"intervalSeconds,omitempty"`
  1588  	// Limit: Limit of the number of GTM events this Timer Trigger will fire. If no
  1589  	// limit is set, we will continue to fire GTM events until the user leaves the
  1590  	// page. Only valid for Timer triggers. @mutable
  1591  	// tagmanager.accounts.containers.triggers.create @mutable
  1592  	// tagmanager.accounts.containers.triggers.update
  1593  	Limit *Parameter `json:"limit,omitempty"`
  1594  	// MaxTimerLengthSeconds: Max time to fire Timer Events (in seconds). Only
  1595  	// valid for AMP Timer trigger. @mutable
  1596  	// tagmanager.accounts.containers.triggers.create @mutable
  1597  	// tagmanager.accounts.containers.triggers.update
  1598  	MaxTimerLengthSeconds *Parameter `json:"maxTimerLengthSeconds,omitempty"`
  1599  	// Name: Trigger display name. @mutable
  1600  	// tagmanager.accounts.containers.triggers.create @mutable
  1601  	// tagmanager.accounts.containers.triggers.update
  1602  	Name string `json:"name,omitempty"`
  1603  	// Parameter: Additional parameters. @mutable
  1604  	// tagmanager.accounts.containers.workspaces.triggers.create @mutable
  1605  	// tagmanager.accounts.containers.workspaces.triggers.update
  1606  	Parameter []*Parameter `json:"parameter,omitempty"`
  1607  	// ParentFolderId: Parent folder id.
  1608  	ParentFolderId string `json:"parentFolderId,omitempty"`
  1609  	// Selector: A click trigger CSS selector (i.e. "a", "button" etc.). Only valid
  1610  	// for AMP Click trigger. @mutable
  1611  	// tagmanager.accounts.containers.triggers.create @mutable
  1612  	// tagmanager.accounts.containers.triggers.update
  1613  	Selector *Parameter `json:"selector,omitempty"`
  1614  	// TotalTimeMinMilliseconds: A visibility trigger minimum total visible time
  1615  	// (in milliseconds). Only valid for AMP Visibility trigger. @mutable
  1616  	// tagmanager.accounts.containers.triggers.create @mutable
  1617  	// tagmanager.accounts.containers.triggers.update
  1618  	TotalTimeMinMilliseconds *Parameter `json:"totalTimeMinMilliseconds,omitempty"`
  1619  	// TriggerId: The Trigger ID uniquely identifies the GTM Trigger.
  1620  	TriggerId string `json:"triggerId,omitempty"`
  1621  	// Type: Defines the data layer event that causes this trigger. @mutable
  1622  	// tagmanager.accounts.containers.triggers.create @mutable
  1623  	// tagmanager.accounts.containers.triggers.update
  1624  	//
  1625  	// Possible values:
  1626  	//   "pageview"
  1627  	//   "domReady"
  1628  	//   "windowLoaded"
  1629  	//   "customEvent"
  1630  	//   "triggerGroup"
  1631  	//   "always"
  1632  	//   "formSubmission"
  1633  	//   "click"
  1634  	//   "linkClick"
  1635  	//   "jsError"
  1636  	//   "historyChange"
  1637  	//   "timer"
  1638  	//   "ampClick"
  1639  	//   "ampTimer"
  1640  	//   "ampScroll"
  1641  	//   "ampVisibility"
  1642  	//   "youTubeVideo"
  1643  	//   "scrollDepth"
  1644  	//   "elementVisibility"
  1645  	Type string `json:"type,omitempty"`
  1646  	// UniqueTriggerId: Globally unique id of the trigger that auto-generates this
  1647  	// (a Form Submit, Link Click or Timer listener) if any. Used to make
  1648  	// incompatible auto-events work together with trigger filtering based on
  1649  	// trigger ids. This value is populated during output generation since the tags
  1650  	// implied by triggers don't exist until then. Only valid for Form Submit, Link
  1651  	// Click and Timer triggers. @mutable
  1652  	// tagmanager.accounts.containers.triggers.create @mutable
  1653  	// tagmanager.accounts.containers.triggers.update
  1654  	UniqueTriggerId *Parameter `json:"uniqueTriggerId,omitempty"`
  1655  	// VerticalScrollPercentageList: List of integer percentage values for scroll
  1656  	// triggers. The trigger will fire when each percentage is reached when the
  1657  	// view is scrolled vertically. Only valid for AMP scroll triggers. @mutable
  1658  	// tagmanager.accounts.containers.triggers.create @mutable
  1659  	// tagmanager.accounts.containers.triggers.update
  1660  	VerticalScrollPercentageList *Parameter `json:"verticalScrollPercentageList,omitempty"`
  1661  	// VisibilitySelector: A visibility trigger CSS selector (i.e. "#id"). Only
  1662  	// valid for AMP Visibility trigger. @mutable
  1663  	// tagmanager.accounts.containers.triggers.create @mutable
  1664  	// tagmanager.accounts.containers.triggers.update
  1665  	VisibilitySelector *Parameter `json:"visibilitySelector,omitempty"`
  1666  	// VisiblePercentageMax: A visibility trigger maximum percent visibility. Only
  1667  	// valid for AMP Visibility trigger. @mutable
  1668  	// tagmanager.accounts.containers.triggers.create @mutable
  1669  	// tagmanager.accounts.containers.triggers.update
  1670  	VisiblePercentageMax *Parameter `json:"visiblePercentageMax,omitempty"`
  1671  	// VisiblePercentageMin: A visibility trigger minimum percent visibility. Only
  1672  	// valid for AMP Visibility trigger. @mutable
  1673  	// tagmanager.accounts.containers.triggers.create @mutable
  1674  	// tagmanager.accounts.containers.triggers.update
  1675  	VisiblePercentageMin *Parameter `json:"visiblePercentageMin,omitempty"`
  1676  	// WaitForTags: Whether or not we should delay the form submissions or link
  1677  	// opening until all of the tags have fired (by preventing the default action
  1678  	// and later simulating the default action). Only valid for Form Submission and
  1679  	// Link Click triggers. @mutable tagmanager.accounts.containers.triggers.create
  1680  	// @mutable tagmanager.accounts.containers.triggers.update
  1681  	WaitForTags *Parameter `json:"waitForTags,omitempty"`
  1682  	// WaitForTagsTimeout: How long to wait (in milliseconds) for tags to fire when
  1683  	// 'waits_for_tags' above evaluates to true. Only valid for Form Submission and
  1684  	// Link Click triggers. @mutable tagmanager.accounts.containers.triggers.create
  1685  	// @mutable tagmanager.accounts.containers.triggers.update
  1686  	WaitForTagsTimeout *Parameter `json:"waitForTagsTimeout,omitempty"`
  1687  
  1688  	// ServerResponse contains the HTTP response code and headers from the server.
  1689  	googleapi.ServerResponse `json:"-"`
  1690  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1691  	// unconditionally include in API requests. By default, fields with empty or
  1692  	// default values are omitted from API requests. See
  1693  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1694  	// details.
  1695  	ForceSendFields []string `json:"-"`
  1696  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1697  	// requests with the JSON null value. By default, fields with empty values are
  1698  	// omitted from API requests. See
  1699  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1700  	NullFields []string `json:"-"`
  1701  }
  1702  
  1703  func (s *Trigger) MarshalJSON() ([]byte, error) {
  1704  	type NoMethod Trigger
  1705  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1706  }
  1707  
  1708  // UserAccess: Represents a user's permissions to an account and its container.
  1709  type UserAccess struct {
  1710  	// AccountAccess: GTM Account access permissions. @mutable
  1711  	// tagmanager.accounts.permissions.create @mutable
  1712  	// tagmanager.accounts.permissions.update
  1713  	AccountAccess *AccountAccess `json:"accountAccess,omitempty"`
  1714  	// AccountId: GTM Account ID.
  1715  	AccountId string `json:"accountId,omitempty"`
  1716  	// ContainerAccess: GTM Container access permissions. @mutable
  1717  	// tagmanager.accounts.permissions.create @mutable
  1718  	// tagmanager.accounts.permissions.update
  1719  	ContainerAccess []*ContainerAccess `json:"containerAccess,omitempty"`
  1720  	// EmailAddress: User's email address. @mutable
  1721  	// tagmanager.accounts.permissions.create
  1722  	EmailAddress string `json:"emailAddress,omitempty"`
  1723  	// PermissionId: Account Permission ID.
  1724  	PermissionId string `json:"permissionId,omitempty"`
  1725  
  1726  	// ServerResponse contains the HTTP response code and headers from the server.
  1727  	googleapi.ServerResponse `json:"-"`
  1728  	// ForceSendFields is a list of field names (e.g. "AccountAccess") to
  1729  	// unconditionally include in API requests. By default, fields with empty or
  1730  	// default values are omitted from API requests. See
  1731  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1732  	// details.
  1733  	ForceSendFields []string `json:"-"`
  1734  	// NullFields is a list of field names (e.g. "AccountAccess") to include in API
  1735  	// requests with the JSON null value. By default, fields with empty values are
  1736  	// omitted from API requests. See
  1737  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1738  	NullFields []string `json:"-"`
  1739  }
  1740  
  1741  func (s *UserAccess) MarshalJSON() ([]byte, error) {
  1742  	type NoMethod UserAccess
  1743  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1744  }
  1745  
  1746  // Variable: Represents a Google Tag Manager Variable.
  1747  type Variable struct {
  1748  	// AccountId: GTM Account ID.
  1749  	AccountId string `json:"accountId,omitempty"`
  1750  	// ContainerId: GTM Container ID.
  1751  	ContainerId string `json:"containerId,omitempty"`
  1752  	// DisablingTriggerId: For mobile containers only: A list of trigger IDs for
  1753  	// disabling conditional variables; the variable is enabled if one of the
  1754  	// enabling trigger is true while all the disabling trigger are false. Treated
  1755  	// as an unordered set. @mutable
  1756  	// tagmanager.accounts.containers.variables.create @mutable
  1757  	// tagmanager.accounts.containers.variables.update
  1758  	DisablingTriggerId []string `json:"disablingTriggerId,omitempty"`
  1759  	// EnablingTriggerId: For mobile containers only: A list of trigger IDs for
  1760  	// enabling conditional variables; the variable is enabled if one of the
  1761  	// enabling triggers is true while all the disabling triggers are false.
  1762  	// Treated as an unordered set. @mutable
  1763  	// tagmanager.accounts.containers.variables.create @mutable
  1764  	// tagmanager.accounts.containers.variables.update
  1765  	EnablingTriggerId []string `json:"enablingTriggerId,omitempty"`
  1766  	// Fingerprint: The fingerprint of the GTM Variable as computed at storage
  1767  	// time. This value is recomputed whenever the variable is modified.
  1768  	Fingerprint string `json:"fingerprint,omitempty"`
  1769  	// Name: Variable display name. @mutable
  1770  	// tagmanager.accounts.containers.variables.create @mutable
  1771  	// tagmanager.accounts.containers.variables.update
  1772  	Name string `json:"name,omitempty"`
  1773  	// Notes: User notes on how to apply this variable in the container. @mutable
  1774  	// tagmanager.accounts.containers.variables.create @mutable
  1775  	// tagmanager.accounts.containers.variables.update
  1776  	Notes string `json:"notes,omitempty"`
  1777  	// Parameter: The variable's parameters. @mutable
  1778  	// tagmanager.accounts.containers.variables.create @mutable
  1779  	// tagmanager.accounts.containers.variables.update
  1780  	Parameter []*Parameter `json:"parameter,omitempty"`
  1781  	// ParentFolderId: Parent folder id.
  1782  	ParentFolderId string `json:"parentFolderId,omitempty"`
  1783  	// ScheduleEndMs: The end timestamp in milliseconds to schedule a variable.
  1784  	// @mutable tagmanager.accounts.containers.variables.create @mutable
  1785  	// tagmanager.accounts.containers.variables.update
  1786  	ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
  1787  	// ScheduleStartMs: The start timestamp in milliseconds to schedule a variable.
  1788  	// @mutable tagmanager.accounts.containers.variables.create @mutable
  1789  	// tagmanager.accounts.containers.variables.update
  1790  	ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
  1791  	// Type: GTM Variable Type. @mutable
  1792  	// tagmanager.accounts.containers.variables.create @mutable
  1793  	// tagmanager.accounts.containers.variables.update
  1794  	Type string `json:"type,omitempty"`
  1795  	// VariableId: The Variable ID uniquely identifies the GTM Variable.
  1796  	VariableId string `json:"variableId,omitempty"`
  1797  
  1798  	// ServerResponse contains the HTTP response code and headers from the server.
  1799  	googleapi.ServerResponse `json:"-"`
  1800  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1801  	// unconditionally include in API requests. By default, fields with empty or
  1802  	// default values are omitted from API requests. See
  1803  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1804  	// details.
  1805  	ForceSendFields []string `json:"-"`
  1806  	// NullFields is a list of field names (e.g. "AccountId") to include in API
  1807  	// requests with the JSON null value. By default, fields with empty values are
  1808  	// omitted from API requests. See
  1809  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1810  	NullFields []string `json:"-"`
  1811  }
  1812  
  1813  func (s *Variable) MarshalJSON() ([]byte, error) {
  1814  	type NoMethod Variable
  1815  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1816  }
  1817  
  1818  type AccountsGetCall struct {
  1819  	s            *Service
  1820  	accountId    string
  1821  	urlParams_   gensupport.URLParams
  1822  	ifNoneMatch_ string
  1823  	ctx_         context.Context
  1824  	header_      http.Header
  1825  }
  1826  
  1827  // Get: Gets a GTM Account.
  1828  //
  1829  // - accountId: The GTM Account ID.
  1830  func (r *AccountsService) Get(accountId string) *AccountsGetCall {
  1831  	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1832  	c.accountId = accountId
  1833  	return c
  1834  }
  1835  
  1836  // Fields allows partial responses to be retrieved. See
  1837  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  1838  // details.
  1839  func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
  1840  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1841  	return c
  1842  }
  1843  
  1844  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  1845  // object's ETag matches the given value. This is useful for getting updates
  1846  // only after the object has changed since the last request.
  1847  func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
  1848  	c.ifNoneMatch_ = entityTag
  1849  	return c
  1850  }
  1851  
  1852  // Context sets the context to be used in this call's Do method.
  1853  func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
  1854  	c.ctx_ = ctx
  1855  	return c
  1856  }
  1857  
  1858  // Header returns a http.Header that can be modified by the caller to add
  1859  // headers to the request.
  1860  func (c *AccountsGetCall) Header() http.Header {
  1861  	if c.header_ == nil {
  1862  		c.header_ = make(http.Header)
  1863  	}
  1864  	return c.header_
  1865  }
  1866  
  1867  func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
  1868  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  1869  	if c.ifNoneMatch_ != "" {
  1870  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  1871  	}
  1872  	var body io.Reader = nil
  1873  	c.urlParams_.Set("alt", alt)
  1874  	c.urlParams_.Set("prettyPrint", "false")
  1875  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}")
  1876  	urls += "?" + c.urlParams_.Encode()
  1877  	req, err := http.NewRequest("GET", urls, body)
  1878  	if err != nil {
  1879  		return nil, err
  1880  	}
  1881  	req.Header = reqHeaders
  1882  	googleapi.Expand(req.URL, map[string]string{
  1883  		"accountId": c.accountId,
  1884  	})
  1885  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1886  }
  1887  
  1888  // Do executes the "tagmanager.accounts.get" call.
  1889  // Any non-2xx status code is an error. Response headers are in either
  1890  // *Account.ServerResponse.Header or (if a response was returned at all) in
  1891  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  1892  // whether the returned error was because http.StatusNotModified was returned.
  1893  func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
  1894  	gensupport.SetOptions(c.urlParams_, opts...)
  1895  	res, err := c.doRequest("json")
  1896  	if res != nil && res.StatusCode == http.StatusNotModified {
  1897  		if res.Body != nil {
  1898  			res.Body.Close()
  1899  		}
  1900  		return nil, gensupport.WrapError(&googleapi.Error{
  1901  			Code:   res.StatusCode,
  1902  			Header: res.Header,
  1903  		})
  1904  	}
  1905  	if err != nil {
  1906  		return nil, err
  1907  	}
  1908  	defer googleapi.CloseBody(res)
  1909  	if err := googleapi.CheckResponse(res); err != nil {
  1910  		return nil, gensupport.WrapError(err)
  1911  	}
  1912  	ret := &Account{
  1913  		ServerResponse: googleapi.ServerResponse{
  1914  			Header:         res.Header,
  1915  			HTTPStatusCode: res.StatusCode,
  1916  		},
  1917  	}
  1918  	target := &ret
  1919  	if err := gensupport.DecodeResponse(target, res); err != nil {
  1920  		return nil, err
  1921  	}
  1922  	return ret, nil
  1923  }
  1924  
  1925  type AccountsListCall struct {
  1926  	s            *Service
  1927  	urlParams_   gensupport.URLParams
  1928  	ifNoneMatch_ string
  1929  	ctx_         context.Context
  1930  	header_      http.Header
  1931  }
  1932  
  1933  // List: Lists all GTM Accounts that a user has access to.
  1934  func (r *AccountsService) List() *AccountsListCall {
  1935  	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  1936  	return c
  1937  }
  1938  
  1939  // Fields allows partial responses to be retrieved. See
  1940  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  1941  // details.
  1942  func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
  1943  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  1944  	return c
  1945  }
  1946  
  1947  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  1948  // object's ETag matches the given value. This is useful for getting updates
  1949  // only after the object has changed since the last request.
  1950  func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
  1951  	c.ifNoneMatch_ = entityTag
  1952  	return c
  1953  }
  1954  
  1955  // Context sets the context to be used in this call's Do method.
  1956  func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
  1957  	c.ctx_ = ctx
  1958  	return c
  1959  }
  1960  
  1961  // Header returns a http.Header that can be modified by the caller to add
  1962  // headers to the request.
  1963  func (c *AccountsListCall) Header() http.Header {
  1964  	if c.header_ == nil {
  1965  		c.header_ = make(http.Header)
  1966  	}
  1967  	return c.header_
  1968  }
  1969  
  1970  func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
  1971  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  1972  	if c.ifNoneMatch_ != "" {
  1973  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  1974  	}
  1975  	var body io.Reader = nil
  1976  	c.urlParams_.Set("alt", alt)
  1977  	c.urlParams_.Set("prettyPrint", "false")
  1978  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts")
  1979  	urls += "?" + c.urlParams_.Encode()
  1980  	req, err := http.NewRequest("GET", urls, body)
  1981  	if err != nil {
  1982  		return nil, err
  1983  	}
  1984  	req.Header = reqHeaders
  1985  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  1986  }
  1987  
  1988  // Do executes the "tagmanager.accounts.list" call.
  1989  // Any non-2xx status code is an error. Response headers are in either
  1990  // *ListAccountsResponse.ServerResponse.Header or (if a response was returned
  1991  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  1992  // check whether the returned error was because http.StatusNotModified was
  1993  // returned.
  1994  func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*ListAccountsResponse, error) {
  1995  	gensupport.SetOptions(c.urlParams_, opts...)
  1996  	res, err := c.doRequest("json")
  1997  	if res != nil && res.StatusCode == http.StatusNotModified {
  1998  		if res.Body != nil {
  1999  			res.Body.Close()
  2000  		}
  2001  		return nil, gensupport.WrapError(&googleapi.Error{
  2002  			Code:   res.StatusCode,
  2003  			Header: res.Header,
  2004  		})
  2005  	}
  2006  	if err != nil {
  2007  		return nil, err
  2008  	}
  2009  	defer googleapi.CloseBody(res)
  2010  	if err := googleapi.CheckResponse(res); err != nil {
  2011  		return nil, gensupport.WrapError(err)
  2012  	}
  2013  	ret := &ListAccountsResponse{
  2014  		ServerResponse: googleapi.ServerResponse{
  2015  			Header:         res.Header,
  2016  			HTTPStatusCode: res.StatusCode,
  2017  		},
  2018  	}
  2019  	target := &ret
  2020  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2021  		return nil, err
  2022  	}
  2023  	return ret, nil
  2024  }
  2025  
  2026  type AccountsUpdateCall struct {
  2027  	s          *Service
  2028  	accountId  string
  2029  	account    *Account
  2030  	urlParams_ gensupport.URLParams
  2031  	ctx_       context.Context
  2032  	header_    http.Header
  2033  }
  2034  
  2035  // Update: Updates a GTM Account.
  2036  //
  2037  // - accountId: The GTM Account ID.
  2038  func (r *AccountsService) Update(accountId string, account *Account) *AccountsUpdateCall {
  2039  	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2040  	c.accountId = accountId
  2041  	c.account = account
  2042  	return c
  2043  }
  2044  
  2045  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  2046  // fingerprint must match the fingerprint of the account in storage.
  2047  func (c *AccountsUpdateCall) Fingerprint(fingerprint string) *AccountsUpdateCall {
  2048  	c.urlParams_.Set("fingerprint", fingerprint)
  2049  	return c
  2050  }
  2051  
  2052  // Fields allows partial responses to be retrieved. See
  2053  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2054  // details.
  2055  func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
  2056  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2057  	return c
  2058  }
  2059  
  2060  // Context sets the context to be used in this call's Do method.
  2061  func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
  2062  	c.ctx_ = ctx
  2063  	return c
  2064  }
  2065  
  2066  // Header returns a http.Header that can be modified by the caller to add
  2067  // headers to the request.
  2068  func (c *AccountsUpdateCall) Header() http.Header {
  2069  	if c.header_ == nil {
  2070  		c.header_ = make(http.Header)
  2071  	}
  2072  	return c.header_
  2073  }
  2074  
  2075  func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
  2076  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2077  	var body io.Reader = nil
  2078  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
  2079  	if err != nil {
  2080  		return nil, err
  2081  	}
  2082  	c.urlParams_.Set("alt", alt)
  2083  	c.urlParams_.Set("prettyPrint", "false")
  2084  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}")
  2085  	urls += "?" + c.urlParams_.Encode()
  2086  	req, err := http.NewRequest("PUT", urls, body)
  2087  	if err != nil {
  2088  		return nil, err
  2089  	}
  2090  	req.Header = reqHeaders
  2091  	googleapi.Expand(req.URL, map[string]string{
  2092  		"accountId": c.accountId,
  2093  	})
  2094  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2095  }
  2096  
  2097  // Do executes the "tagmanager.accounts.update" call.
  2098  // Any non-2xx status code is an error. Response headers are in either
  2099  // *Account.ServerResponse.Header or (if a response was returned at all) in
  2100  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2101  // whether the returned error was because http.StatusNotModified was returned.
  2102  func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
  2103  	gensupport.SetOptions(c.urlParams_, opts...)
  2104  	res, err := c.doRequest("json")
  2105  	if res != nil && res.StatusCode == http.StatusNotModified {
  2106  		if res.Body != nil {
  2107  			res.Body.Close()
  2108  		}
  2109  		return nil, gensupport.WrapError(&googleapi.Error{
  2110  			Code:   res.StatusCode,
  2111  			Header: res.Header,
  2112  		})
  2113  	}
  2114  	if err != nil {
  2115  		return nil, err
  2116  	}
  2117  	defer googleapi.CloseBody(res)
  2118  	if err := googleapi.CheckResponse(res); err != nil {
  2119  		return nil, gensupport.WrapError(err)
  2120  	}
  2121  	ret := &Account{
  2122  		ServerResponse: googleapi.ServerResponse{
  2123  			Header:         res.Header,
  2124  			HTTPStatusCode: res.StatusCode,
  2125  		},
  2126  	}
  2127  	target := &ret
  2128  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2129  		return nil, err
  2130  	}
  2131  	return ret, nil
  2132  }
  2133  
  2134  type AccountsContainersCreateCall struct {
  2135  	s          *Service
  2136  	accountId  string
  2137  	container  *Container
  2138  	urlParams_ gensupport.URLParams
  2139  	ctx_       context.Context
  2140  	header_    http.Header
  2141  }
  2142  
  2143  // Create: Creates a Container.
  2144  //
  2145  // - accountId: The GTM Account ID.
  2146  func (r *AccountsContainersService) Create(accountId string, container *Container) *AccountsContainersCreateCall {
  2147  	c := &AccountsContainersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2148  	c.accountId = accountId
  2149  	c.container = container
  2150  	return c
  2151  }
  2152  
  2153  // Fields allows partial responses to be retrieved. See
  2154  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2155  // details.
  2156  func (c *AccountsContainersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersCreateCall {
  2157  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2158  	return c
  2159  }
  2160  
  2161  // Context sets the context to be used in this call's Do method.
  2162  func (c *AccountsContainersCreateCall) Context(ctx context.Context) *AccountsContainersCreateCall {
  2163  	c.ctx_ = ctx
  2164  	return c
  2165  }
  2166  
  2167  // Header returns a http.Header that can be modified by the caller to add
  2168  // headers to the request.
  2169  func (c *AccountsContainersCreateCall) Header() http.Header {
  2170  	if c.header_ == nil {
  2171  		c.header_ = make(http.Header)
  2172  	}
  2173  	return c.header_
  2174  }
  2175  
  2176  func (c *AccountsContainersCreateCall) doRequest(alt string) (*http.Response, error) {
  2177  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2178  	var body io.Reader = nil
  2179  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.container)
  2180  	if err != nil {
  2181  		return nil, err
  2182  	}
  2183  	c.urlParams_.Set("alt", alt)
  2184  	c.urlParams_.Set("prettyPrint", "false")
  2185  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers")
  2186  	urls += "?" + c.urlParams_.Encode()
  2187  	req, err := http.NewRequest("POST", urls, body)
  2188  	if err != nil {
  2189  		return nil, err
  2190  	}
  2191  	req.Header = reqHeaders
  2192  	googleapi.Expand(req.URL, map[string]string{
  2193  		"accountId": c.accountId,
  2194  	})
  2195  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2196  }
  2197  
  2198  // Do executes the "tagmanager.accounts.containers.create" call.
  2199  // Any non-2xx status code is an error. Response headers are in either
  2200  // *Container.ServerResponse.Header or (if a response was returned at all) in
  2201  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2202  // whether the returned error was because http.StatusNotModified was returned.
  2203  func (c *AccountsContainersCreateCall) Do(opts ...googleapi.CallOption) (*Container, error) {
  2204  	gensupport.SetOptions(c.urlParams_, opts...)
  2205  	res, err := c.doRequest("json")
  2206  	if res != nil && res.StatusCode == http.StatusNotModified {
  2207  		if res.Body != nil {
  2208  			res.Body.Close()
  2209  		}
  2210  		return nil, gensupport.WrapError(&googleapi.Error{
  2211  			Code:   res.StatusCode,
  2212  			Header: res.Header,
  2213  		})
  2214  	}
  2215  	if err != nil {
  2216  		return nil, err
  2217  	}
  2218  	defer googleapi.CloseBody(res)
  2219  	if err := googleapi.CheckResponse(res); err != nil {
  2220  		return nil, gensupport.WrapError(err)
  2221  	}
  2222  	ret := &Container{
  2223  		ServerResponse: googleapi.ServerResponse{
  2224  			Header:         res.Header,
  2225  			HTTPStatusCode: res.StatusCode,
  2226  		},
  2227  	}
  2228  	target := &ret
  2229  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2230  		return nil, err
  2231  	}
  2232  	return ret, nil
  2233  }
  2234  
  2235  type AccountsContainersDeleteCall struct {
  2236  	s           *Service
  2237  	accountId   string
  2238  	containerId string
  2239  	urlParams_  gensupport.URLParams
  2240  	ctx_        context.Context
  2241  	header_     http.Header
  2242  }
  2243  
  2244  // Delete: Deletes a Container.
  2245  //
  2246  // - accountId: The GTM Account ID.
  2247  // - containerId: The GTM Container ID.
  2248  func (r *AccountsContainersService) Delete(accountId string, containerId string) *AccountsContainersDeleteCall {
  2249  	c := &AccountsContainersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2250  	c.accountId = accountId
  2251  	c.containerId = containerId
  2252  	return c
  2253  }
  2254  
  2255  // Fields allows partial responses to be retrieved. See
  2256  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2257  // details.
  2258  func (c *AccountsContainersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersDeleteCall {
  2259  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2260  	return c
  2261  }
  2262  
  2263  // Context sets the context to be used in this call's Do method.
  2264  func (c *AccountsContainersDeleteCall) Context(ctx context.Context) *AccountsContainersDeleteCall {
  2265  	c.ctx_ = ctx
  2266  	return c
  2267  }
  2268  
  2269  // Header returns a http.Header that can be modified by the caller to add
  2270  // headers to the request.
  2271  func (c *AccountsContainersDeleteCall) Header() http.Header {
  2272  	if c.header_ == nil {
  2273  		c.header_ = make(http.Header)
  2274  	}
  2275  	return c.header_
  2276  }
  2277  
  2278  func (c *AccountsContainersDeleteCall) doRequest(alt string) (*http.Response, error) {
  2279  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2280  	var body io.Reader = nil
  2281  	c.urlParams_.Set("alt", alt)
  2282  	c.urlParams_.Set("prettyPrint", "false")
  2283  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}")
  2284  	urls += "?" + c.urlParams_.Encode()
  2285  	req, err := http.NewRequest("DELETE", urls, body)
  2286  	if err != nil {
  2287  		return nil, err
  2288  	}
  2289  	req.Header = reqHeaders
  2290  	googleapi.Expand(req.URL, map[string]string{
  2291  		"accountId":   c.accountId,
  2292  		"containerId": c.containerId,
  2293  	})
  2294  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2295  }
  2296  
  2297  // Do executes the "tagmanager.accounts.containers.delete" call.
  2298  func (c *AccountsContainersDeleteCall) Do(opts ...googleapi.CallOption) error {
  2299  	gensupport.SetOptions(c.urlParams_, opts...)
  2300  	res, err := c.doRequest("json")
  2301  	if err != nil {
  2302  		return err
  2303  	}
  2304  	defer googleapi.CloseBody(res)
  2305  	if err := googleapi.CheckResponse(res); err != nil {
  2306  		return gensupport.WrapError(err)
  2307  	}
  2308  	return nil
  2309  }
  2310  
  2311  type AccountsContainersGetCall struct {
  2312  	s            *Service
  2313  	accountId    string
  2314  	containerId  string
  2315  	urlParams_   gensupport.URLParams
  2316  	ifNoneMatch_ string
  2317  	ctx_         context.Context
  2318  	header_      http.Header
  2319  }
  2320  
  2321  // Get: Gets a Container.
  2322  //
  2323  // - accountId: The GTM Account ID.
  2324  // - containerId: The GTM Container ID.
  2325  func (r *AccountsContainersService) Get(accountId string, containerId string) *AccountsContainersGetCall {
  2326  	c := &AccountsContainersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2327  	c.accountId = accountId
  2328  	c.containerId = containerId
  2329  	return c
  2330  }
  2331  
  2332  // Fields allows partial responses to be retrieved. See
  2333  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2334  // details.
  2335  func (c *AccountsContainersGetCall) Fields(s ...googleapi.Field) *AccountsContainersGetCall {
  2336  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2337  	return c
  2338  }
  2339  
  2340  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  2341  // object's ETag matches the given value. This is useful for getting updates
  2342  // only after the object has changed since the last request.
  2343  func (c *AccountsContainersGetCall) IfNoneMatch(entityTag string) *AccountsContainersGetCall {
  2344  	c.ifNoneMatch_ = entityTag
  2345  	return c
  2346  }
  2347  
  2348  // Context sets the context to be used in this call's Do method.
  2349  func (c *AccountsContainersGetCall) Context(ctx context.Context) *AccountsContainersGetCall {
  2350  	c.ctx_ = ctx
  2351  	return c
  2352  }
  2353  
  2354  // Header returns a http.Header that can be modified by the caller to add
  2355  // headers to the request.
  2356  func (c *AccountsContainersGetCall) Header() http.Header {
  2357  	if c.header_ == nil {
  2358  		c.header_ = make(http.Header)
  2359  	}
  2360  	return c.header_
  2361  }
  2362  
  2363  func (c *AccountsContainersGetCall) doRequest(alt string) (*http.Response, error) {
  2364  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2365  	if c.ifNoneMatch_ != "" {
  2366  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2367  	}
  2368  	var body io.Reader = nil
  2369  	c.urlParams_.Set("alt", alt)
  2370  	c.urlParams_.Set("prettyPrint", "false")
  2371  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}")
  2372  	urls += "?" + c.urlParams_.Encode()
  2373  	req, err := http.NewRequest("GET", urls, body)
  2374  	if err != nil {
  2375  		return nil, err
  2376  	}
  2377  	req.Header = reqHeaders
  2378  	googleapi.Expand(req.URL, map[string]string{
  2379  		"accountId":   c.accountId,
  2380  		"containerId": c.containerId,
  2381  	})
  2382  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2383  }
  2384  
  2385  // Do executes the "tagmanager.accounts.containers.get" call.
  2386  // Any non-2xx status code is an error. Response headers are in either
  2387  // *Container.ServerResponse.Header or (if a response was returned at all) in
  2388  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2389  // whether the returned error was because http.StatusNotModified was returned.
  2390  func (c *AccountsContainersGetCall) Do(opts ...googleapi.CallOption) (*Container, error) {
  2391  	gensupport.SetOptions(c.urlParams_, opts...)
  2392  	res, err := c.doRequest("json")
  2393  	if res != nil && res.StatusCode == http.StatusNotModified {
  2394  		if res.Body != nil {
  2395  			res.Body.Close()
  2396  		}
  2397  		return nil, gensupport.WrapError(&googleapi.Error{
  2398  			Code:   res.StatusCode,
  2399  			Header: res.Header,
  2400  		})
  2401  	}
  2402  	if err != nil {
  2403  		return nil, err
  2404  	}
  2405  	defer googleapi.CloseBody(res)
  2406  	if err := googleapi.CheckResponse(res); err != nil {
  2407  		return nil, gensupport.WrapError(err)
  2408  	}
  2409  	ret := &Container{
  2410  		ServerResponse: googleapi.ServerResponse{
  2411  			Header:         res.Header,
  2412  			HTTPStatusCode: res.StatusCode,
  2413  		},
  2414  	}
  2415  	target := &ret
  2416  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2417  		return nil, err
  2418  	}
  2419  	return ret, nil
  2420  }
  2421  
  2422  type AccountsContainersListCall struct {
  2423  	s            *Service
  2424  	accountId    string
  2425  	urlParams_   gensupport.URLParams
  2426  	ifNoneMatch_ string
  2427  	ctx_         context.Context
  2428  	header_      http.Header
  2429  }
  2430  
  2431  // List: Lists all Containers that belongs to a GTM Account.
  2432  //
  2433  // - accountId: The GTM Account ID.
  2434  func (r *AccountsContainersService) List(accountId string) *AccountsContainersListCall {
  2435  	c := &AccountsContainersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2436  	c.accountId = accountId
  2437  	return c
  2438  }
  2439  
  2440  // Fields allows partial responses to be retrieved. See
  2441  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2442  // details.
  2443  func (c *AccountsContainersListCall) Fields(s ...googleapi.Field) *AccountsContainersListCall {
  2444  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2445  	return c
  2446  }
  2447  
  2448  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  2449  // object's ETag matches the given value. This is useful for getting updates
  2450  // only after the object has changed since the last request.
  2451  func (c *AccountsContainersListCall) IfNoneMatch(entityTag string) *AccountsContainersListCall {
  2452  	c.ifNoneMatch_ = entityTag
  2453  	return c
  2454  }
  2455  
  2456  // Context sets the context to be used in this call's Do method.
  2457  func (c *AccountsContainersListCall) Context(ctx context.Context) *AccountsContainersListCall {
  2458  	c.ctx_ = ctx
  2459  	return c
  2460  }
  2461  
  2462  // Header returns a http.Header that can be modified by the caller to add
  2463  // headers to the request.
  2464  func (c *AccountsContainersListCall) Header() http.Header {
  2465  	if c.header_ == nil {
  2466  		c.header_ = make(http.Header)
  2467  	}
  2468  	return c.header_
  2469  }
  2470  
  2471  func (c *AccountsContainersListCall) doRequest(alt string) (*http.Response, error) {
  2472  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2473  	if c.ifNoneMatch_ != "" {
  2474  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2475  	}
  2476  	var body io.Reader = nil
  2477  	c.urlParams_.Set("alt", alt)
  2478  	c.urlParams_.Set("prettyPrint", "false")
  2479  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers")
  2480  	urls += "?" + c.urlParams_.Encode()
  2481  	req, err := http.NewRequest("GET", urls, body)
  2482  	if err != nil {
  2483  		return nil, err
  2484  	}
  2485  	req.Header = reqHeaders
  2486  	googleapi.Expand(req.URL, map[string]string{
  2487  		"accountId": c.accountId,
  2488  	})
  2489  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2490  }
  2491  
  2492  // Do executes the "tagmanager.accounts.containers.list" call.
  2493  // Any non-2xx status code is an error. Response headers are in either
  2494  // *ListContainersResponse.ServerResponse.Header or (if a response was returned
  2495  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  2496  // check whether the returned error was because http.StatusNotModified was
  2497  // returned.
  2498  func (c *AccountsContainersListCall) Do(opts ...googleapi.CallOption) (*ListContainersResponse, error) {
  2499  	gensupport.SetOptions(c.urlParams_, opts...)
  2500  	res, err := c.doRequest("json")
  2501  	if res != nil && res.StatusCode == http.StatusNotModified {
  2502  		if res.Body != nil {
  2503  			res.Body.Close()
  2504  		}
  2505  		return nil, gensupport.WrapError(&googleapi.Error{
  2506  			Code:   res.StatusCode,
  2507  			Header: res.Header,
  2508  		})
  2509  	}
  2510  	if err != nil {
  2511  		return nil, err
  2512  	}
  2513  	defer googleapi.CloseBody(res)
  2514  	if err := googleapi.CheckResponse(res); err != nil {
  2515  		return nil, gensupport.WrapError(err)
  2516  	}
  2517  	ret := &ListContainersResponse{
  2518  		ServerResponse: googleapi.ServerResponse{
  2519  			Header:         res.Header,
  2520  			HTTPStatusCode: res.StatusCode,
  2521  		},
  2522  	}
  2523  	target := &ret
  2524  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2525  		return nil, err
  2526  	}
  2527  	return ret, nil
  2528  }
  2529  
  2530  type AccountsContainersUpdateCall struct {
  2531  	s           *Service
  2532  	accountId   string
  2533  	containerId string
  2534  	container   *Container
  2535  	urlParams_  gensupport.URLParams
  2536  	ctx_        context.Context
  2537  	header_     http.Header
  2538  }
  2539  
  2540  // Update: Updates a Container.
  2541  //
  2542  // - accountId: The GTM Account ID.
  2543  // - containerId: The GTM Container ID.
  2544  func (r *AccountsContainersService) Update(accountId string, containerId string, container *Container) *AccountsContainersUpdateCall {
  2545  	c := &AccountsContainersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2546  	c.accountId = accountId
  2547  	c.containerId = containerId
  2548  	c.container = container
  2549  	return c
  2550  }
  2551  
  2552  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  2553  // fingerprint must match the fingerprint of the container in storage.
  2554  func (c *AccountsContainersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersUpdateCall {
  2555  	c.urlParams_.Set("fingerprint", fingerprint)
  2556  	return c
  2557  }
  2558  
  2559  // Fields allows partial responses to be retrieved. See
  2560  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2561  // details.
  2562  func (c *AccountsContainersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersUpdateCall {
  2563  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2564  	return c
  2565  }
  2566  
  2567  // Context sets the context to be used in this call's Do method.
  2568  func (c *AccountsContainersUpdateCall) Context(ctx context.Context) *AccountsContainersUpdateCall {
  2569  	c.ctx_ = ctx
  2570  	return c
  2571  }
  2572  
  2573  // Header returns a http.Header that can be modified by the caller to add
  2574  // headers to the request.
  2575  func (c *AccountsContainersUpdateCall) Header() http.Header {
  2576  	if c.header_ == nil {
  2577  		c.header_ = make(http.Header)
  2578  	}
  2579  	return c.header_
  2580  }
  2581  
  2582  func (c *AccountsContainersUpdateCall) doRequest(alt string) (*http.Response, error) {
  2583  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2584  	var body io.Reader = nil
  2585  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.container)
  2586  	if err != nil {
  2587  		return nil, err
  2588  	}
  2589  	c.urlParams_.Set("alt", alt)
  2590  	c.urlParams_.Set("prettyPrint", "false")
  2591  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}")
  2592  	urls += "?" + c.urlParams_.Encode()
  2593  	req, err := http.NewRequest("PUT", urls, body)
  2594  	if err != nil {
  2595  		return nil, err
  2596  	}
  2597  	req.Header = reqHeaders
  2598  	googleapi.Expand(req.URL, map[string]string{
  2599  		"accountId":   c.accountId,
  2600  		"containerId": c.containerId,
  2601  	})
  2602  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2603  }
  2604  
  2605  // Do executes the "tagmanager.accounts.containers.update" call.
  2606  // Any non-2xx status code is an error. Response headers are in either
  2607  // *Container.ServerResponse.Header or (if a response was returned at all) in
  2608  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2609  // whether the returned error was because http.StatusNotModified was returned.
  2610  func (c *AccountsContainersUpdateCall) Do(opts ...googleapi.CallOption) (*Container, error) {
  2611  	gensupport.SetOptions(c.urlParams_, opts...)
  2612  	res, err := c.doRequest("json")
  2613  	if res != nil && res.StatusCode == http.StatusNotModified {
  2614  		if res.Body != nil {
  2615  			res.Body.Close()
  2616  		}
  2617  		return nil, gensupport.WrapError(&googleapi.Error{
  2618  			Code:   res.StatusCode,
  2619  			Header: res.Header,
  2620  		})
  2621  	}
  2622  	if err != nil {
  2623  		return nil, err
  2624  	}
  2625  	defer googleapi.CloseBody(res)
  2626  	if err := googleapi.CheckResponse(res); err != nil {
  2627  		return nil, gensupport.WrapError(err)
  2628  	}
  2629  	ret := &Container{
  2630  		ServerResponse: googleapi.ServerResponse{
  2631  			Header:         res.Header,
  2632  			HTTPStatusCode: res.StatusCode,
  2633  		},
  2634  	}
  2635  	target := &ret
  2636  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2637  		return nil, err
  2638  	}
  2639  	return ret, nil
  2640  }
  2641  
  2642  type AccountsContainersEnvironmentsCreateCall struct {
  2643  	s           *Service
  2644  	accountId   string
  2645  	containerId string
  2646  	environment *Environment
  2647  	urlParams_  gensupport.URLParams
  2648  	ctx_        context.Context
  2649  	header_     http.Header
  2650  }
  2651  
  2652  // Create: Creates a GTM Environment.
  2653  //
  2654  // - accountId: The GTM Account ID.
  2655  // - containerId: The GTM Container ID.
  2656  func (r *AccountsContainersEnvironmentsService) Create(accountId string, containerId string, environment *Environment) *AccountsContainersEnvironmentsCreateCall {
  2657  	c := &AccountsContainersEnvironmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2658  	c.accountId = accountId
  2659  	c.containerId = containerId
  2660  	c.environment = environment
  2661  	return c
  2662  }
  2663  
  2664  // Fields allows partial responses to be retrieved. See
  2665  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2666  // details.
  2667  func (c *AccountsContainersEnvironmentsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsCreateCall {
  2668  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2669  	return c
  2670  }
  2671  
  2672  // Context sets the context to be used in this call's Do method.
  2673  func (c *AccountsContainersEnvironmentsCreateCall) Context(ctx context.Context) *AccountsContainersEnvironmentsCreateCall {
  2674  	c.ctx_ = ctx
  2675  	return c
  2676  }
  2677  
  2678  // Header returns a http.Header that can be modified by the caller to add
  2679  // headers to the request.
  2680  func (c *AccountsContainersEnvironmentsCreateCall) Header() http.Header {
  2681  	if c.header_ == nil {
  2682  		c.header_ = make(http.Header)
  2683  	}
  2684  	return c.header_
  2685  }
  2686  
  2687  func (c *AccountsContainersEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
  2688  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  2689  	var body io.Reader = nil
  2690  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
  2691  	if err != nil {
  2692  		return nil, err
  2693  	}
  2694  	c.urlParams_.Set("alt", alt)
  2695  	c.urlParams_.Set("prettyPrint", "false")
  2696  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments")
  2697  	urls += "?" + c.urlParams_.Encode()
  2698  	req, err := http.NewRequest("POST", urls, body)
  2699  	if err != nil {
  2700  		return nil, err
  2701  	}
  2702  	req.Header = reqHeaders
  2703  	googleapi.Expand(req.URL, map[string]string{
  2704  		"accountId":   c.accountId,
  2705  		"containerId": c.containerId,
  2706  	})
  2707  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2708  }
  2709  
  2710  // Do executes the "tagmanager.accounts.containers.environments.create" call.
  2711  // Any non-2xx status code is an error. Response headers are in either
  2712  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  2713  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2714  // whether the returned error was because http.StatusNotModified was returned.
  2715  func (c *AccountsContainersEnvironmentsCreateCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  2716  	gensupport.SetOptions(c.urlParams_, opts...)
  2717  	res, err := c.doRequest("json")
  2718  	if res != nil && res.StatusCode == http.StatusNotModified {
  2719  		if res.Body != nil {
  2720  			res.Body.Close()
  2721  		}
  2722  		return nil, gensupport.WrapError(&googleapi.Error{
  2723  			Code:   res.StatusCode,
  2724  			Header: res.Header,
  2725  		})
  2726  	}
  2727  	if err != nil {
  2728  		return nil, err
  2729  	}
  2730  	defer googleapi.CloseBody(res)
  2731  	if err := googleapi.CheckResponse(res); err != nil {
  2732  		return nil, gensupport.WrapError(err)
  2733  	}
  2734  	ret := &Environment{
  2735  		ServerResponse: googleapi.ServerResponse{
  2736  			Header:         res.Header,
  2737  			HTTPStatusCode: res.StatusCode,
  2738  		},
  2739  	}
  2740  	target := &ret
  2741  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2742  		return nil, err
  2743  	}
  2744  	return ret, nil
  2745  }
  2746  
  2747  type AccountsContainersEnvironmentsDeleteCall struct {
  2748  	s             *Service
  2749  	accountId     string
  2750  	containerId   string
  2751  	environmentId string
  2752  	urlParams_    gensupport.URLParams
  2753  	ctx_          context.Context
  2754  	header_       http.Header
  2755  }
  2756  
  2757  // Delete: Deletes a GTM Environment.
  2758  //
  2759  // - accountId: The GTM Account ID.
  2760  // - containerId: The GTM Container ID.
  2761  // - environmentId: The GTM Environment ID.
  2762  func (r *AccountsContainersEnvironmentsService) Delete(accountId string, containerId string, environmentId string) *AccountsContainersEnvironmentsDeleteCall {
  2763  	c := &AccountsContainersEnvironmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2764  	c.accountId = accountId
  2765  	c.containerId = containerId
  2766  	c.environmentId = environmentId
  2767  	return c
  2768  }
  2769  
  2770  // Fields allows partial responses to be retrieved. See
  2771  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2772  // details.
  2773  func (c *AccountsContainersEnvironmentsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsDeleteCall {
  2774  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2775  	return c
  2776  }
  2777  
  2778  // Context sets the context to be used in this call's Do method.
  2779  func (c *AccountsContainersEnvironmentsDeleteCall) Context(ctx context.Context) *AccountsContainersEnvironmentsDeleteCall {
  2780  	c.ctx_ = ctx
  2781  	return c
  2782  }
  2783  
  2784  // Header returns a http.Header that can be modified by the caller to add
  2785  // headers to the request.
  2786  func (c *AccountsContainersEnvironmentsDeleteCall) Header() http.Header {
  2787  	if c.header_ == nil {
  2788  		c.header_ = make(http.Header)
  2789  	}
  2790  	return c.header_
  2791  }
  2792  
  2793  func (c *AccountsContainersEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
  2794  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2795  	var body io.Reader = nil
  2796  	c.urlParams_.Set("alt", alt)
  2797  	c.urlParams_.Set("prettyPrint", "false")
  2798  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}")
  2799  	urls += "?" + c.urlParams_.Encode()
  2800  	req, err := http.NewRequest("DELETE", urls, body)
  2801  	if err != nil {
  2802  		return nil, err
  2803  	}
  2804  	req.Header = reqHeaders
  2805  	googleapi.Expand(req.URL, map[string]string{
  2806  		"accountId":     c.accountId,
  2807  		"containerId":   c.containerId,
  2808  		"environmentId": c.environmentId,
  2809  	})
  2810  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2811  }
  2812  
  2813  // Do executes the "tagmanager.accounts.containers.environments.delete" call.
  2814  func (c *AccountsContainersEnvironmentsDeleteCall) Do(opts ...googleapi.CallOption) error {
  2815  	gensupport.SetOptions(c.urlParams_, opts...)
  2816  	res, err := c.doRequest("json")
  2817  	if err != nil {
  2818  		return err
  2819  	}
  2820  	defer googleapi.CloseBody(res)
  2821  	if err := googleapi.CheckResponse(res); err != nil {
  2822  		return gensupport.WrapError(err)
  2823  	}
  2824  	return nil
  2825  }
  2826  
  2827  type AccountsContainersEnvironmentsGetCall struct {
  2828  	s             *Service
  2829  	accountId     string
  2830  	containerId   string
  2831  	environmentId string
  2832  	urlParams_    gensupport.URLParams
  2833  	ifNoneMatch_  string
  2834  	ctx_          context.Context
  2835  	header_       http.Header
  2836  }
  2837  
  2838  // Get: Gets a GTM Environment.
  2839  //
  2840  // - accountId: The GTM Account ID.
  2841  // - containerId: The GTM Container ID.
  2842  // - environmentId: The GTM Environment ID.
  2843  func (r *AccountsContainersEnvironmentsService) Get(accountId string, containerId string, environmentId string) *AccountsContainersEnvironmentsGetCall {
  2844  	c := &AccountsContainersEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2845  	c.accountId = accountId
  2846  	c.containerId = containerId
  2847  	c.environmentId = environmentId
  2848  	return c
  2849  }
  2850  
  2851  // Fields allows partial responses to be retrieved. See
  2852  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2853  // details.
  2854  func (c *AccountsContainersEnvironmentsGetCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsGetCall {
  2855  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2856  	return c
  2857  }
  2858  
  2859  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  2860  // object's ETag matches the given value. This is useful for getting updates
  2861  // only after the object has changed since the last request.
  2862  func (c *AccountsContainersEnvironmentsGetCall) IfNoneMatch(entityTag string) *AccountsContainersEnvironmentsGetCall {
  2863  	c.ifNoneMatch_ = entityTag
  2864  	return c
  2865  }
  2866  
  2867  // Context sets the context to be used in this call's Do method.
  2868  func (c *AccountsContainersEnvironmentsGetCall) Context(ctx context.Context) *AccountsContainersEnvironmentsGetCall {
  2869  	c.ctx_ = ctx
  2870  	return c
  2871  }
  2872  
  2873  // Header returns a http.Header that can be modified by the caller to add
  2874  // headers to the request.
  2875  func (c *AccountsContainersEnvironmentsGetCall) Header() http.Header {
  2876  	if c.header_ == nil {
  2877  		c.header_ = make(http.Header)
  2878  	}
  2879  	return c.header_
  2880  }
  2881  
  2882  func (c *AccountsContainersEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
  2883  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2884  	if c.ifNoneMatch_ != "" {
  2885  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2886  	}
  2887  	var body io.Reader = nil
  2888  	c.urlParams_.Set("alt", alt)
  2889  	c.urlParams_.Set("prettyPrint", "false")
  2890  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}")
  2891  	urls += "?" + c.urlParams_.Encode()
  2892  	req, err := http.NewRequest("GET", urls, body)
  2893  	if err != nil {
  2894  		return nil, err
  2895  	}
  2896  	req.Header = reqHeaders
  2897  	googleapi.Expand(req.URL, map[string]string{
  2898  		"accountId":     c.accountId,
  2899  		"containerId":   c.containerId,
  2900  		"environmentId": c.environmentId,
  2901  	})
  2902  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2903  }
  2904  
  2905  // Do executes the "tagmanager.accounts.containers.environments.get" call.
  2906  // Any non-2xx status code is an error. Response headers are in either
  2907  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  2908  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  2909  // whether the returned error was because http.StatusNotModified was returned.
  2910  func (c *AccountsContainersEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  2911  	gensupport.SetOptions(c.urlParams_, opts...)
  2912  	res, err := c.doRequest("json")
  2913  	if res != nil && res.StatusCode == http.StatusNotModified {
  2914  		if res.Body != nil {
  2915  			res.Body.Close()
  2916  		}
  2917  		return nil, gensupport.WrapError(&googleapi.Error{
  2918  			Code:   res.StatusCode,
  2919  			Header: res.Header,
  2920  		})
  2921  	}
  2922  	if err != nil {
  2923  		return nil, err
  2924  	}
  2925  	defer googleapi.CloseBody(res)
  2926  	if err := googleapi.CheckResponse(res); err != nil {
  2927  		return nil, gensupport.WrapError(err)
  2928  	}
  2929  	ret := &Environment{
  2930  		ServerResponse: googleapi.ServerResponse{
  2931  			Header:         res.Header,
  2932  			HTTPStatusCode: res.StatusCode,
  2933  		},
  2934  	}
  2935  	target := &ret
  2936  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2937  		return nil, err
  2938  	}
  2939  	return ret, nil
  2940  }
  2941  
  2942  type AccountsContainersEnvironmentsListCall struct {
  2943  	s            *Service
  2944  	accountId    string
  2945  	containerId  string
  2946  	urlParams_   gensupport.URLParams
  2947  	ifNoneMatch_ string
  2948  	ctx_         context.Context
  2949  	header_      http.Header
  2950  }
  2951  
  2952  // List: Lists all GTM Environments of a GTM Container.
  2953  //
  2954  // - accountId: The GTM Account ID.
  2955  // - containerId: The GTM Container ID.
  2956  func (r *AccountsContainersEnvironmentsService) List(accountId string, containerId string) *AccountsContainersEnvironmentsListCall {
  2957  	c := &AccountsContainersEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2958  	c.accountId = accountId
  2959  	c.containerId = containerId
  2960  	return c
  2961  }
  2962  
  2963  // Fields allows partial responses to be retrieved. See
  2964  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  2965  // details.
  2966  func (c *AccountsContainersEnvironmentsListCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsListCall {
  2967  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2968  	return c
  2969  }
  2970  
  2971  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  2972  // object's ETag matches the given value. This is useful for getting updates
  2973  // only after the object has changed since the last request.
  2974  func (c *AccountsContainersEnvironmentsListCall) IfNoneMatch(entityTag string) *AccountsContainersEnvironmentsListCall {
  2975  	c.ifNoneMatch_ = entityTag
  2976  	return c
  2977  }
  2978  
  2979  // Context sets the context to be used in this call's Do method.
  2980  func (c *AccountsContainersEnvironmentsListCall) Context(ctx context.Context) *AccountsContainersEnvironmentsListCall {
  2981  	c.ctx_ = ctx
  2982  	return c
  2983  }
  2984  
  2985  // Header returns a http.Header that can be modified by the caller to add
  2986  // headers to the request.
  2987  func (c *AccountsContainersEnvironmentsListCall) Header() http.Header {
  2988  	if c.header_ == nil {
  2989  		c.header_ = make(http.Header)
  2990  	}
  2991  	return c.header_
  2992  }
  2993  
  2994  func (c *AccountsContainersEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
  2995  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  2996  	if c.ifNoneMatch_ != "" {
  2997  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2998  	}
  2999  	var body io.Reader = nil
  3000  	c.urlParams_.Set("alt", alt)
  3001  	c.urlParams_.Set("prettyPrint", "false")
  3002  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments")
  3003  	urls += "?" + c.urlParams_.Encode()
  3004  	req, err := http.NewRequest("GET", urls, body)
  3005  	if err != nil {
  3006  		return nil, err
  3007  	}
  3008  	req.Header = reqHeaders
  3009  	googleapi.Expand(req.URL, map[string]string{
  3010  		"accountId":   c.accountId,
  3011  		"containerId": c.containerId,
  3012  	})
  3013  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3014  }
  3015  
  3016  // Do executes the "tagmanager.accounts.containers.environments.list" call.
  3017  // Any non-2xx status code is an error. Response headers are in either
  3018  // *ListEnvironmentsResponse.ServerResponse.Header or (if a response was
  3019  // returned at all) in error.(*googleapi.Error).Header. Use
  3020  // googleapi.IsNotModified to check whether the returned error was because
  3021  // http.StatusNotModified was returned.
  3022  func (c *AccountsContainersEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*ListEnvironmentsResponse, error) {
  3023  	gensupport.SetOptions(c.urlParams_, opts...)
  3024  	res, err := c.doRequest("json")
  3025  	if res != nil && res.StatusCode == http.StatusNotModified {
  3026  		if res.Body != nil {
  3027  			res.Body.Close()
  3028  		}
  3029  		return nil, gensupport.WrapError(&googleapi.Error{
  3030  			Code:   res.StatusCode,
  3031  			Header: res.Header,
  3032  		})
  3033  	}
  3034  	if err != nil {
  3035  		return nil, err
  3036  	}
  3037  	defer googleapi.CloseBody(res)
  3038  	if err := googleapi.CheckResponse(res); err != nil {
  3039  		return nil, gensupport.WrapError(err)
  3040  	}
  3041  	ret := &ListEnvironmentsResponse{
  3042  		ServerResponse: googleapi.ServerResponse{
  3043  			Header:         res.Header,
  3044  			HTTPStatusCode: res.StatusCode,
  3045  		},
  3046  	}
  3047  	target := &ret
  3048  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3049  		return nil, err
  3050  	}
  3051  	return ret, nil
  3052  }
  3053  
  3054  type AccountsContainersEnvironmentsUpdateCall struct {
  3055  	s             *Service
  3056  	accountId     string
  3057  	containerId   string
  3058  	environmentId string
  3059  	environment   *Environment
  3060  	urlParams_    gensupport.URLParams
  3061  	ctx_          context.Context
  3062  	header_       http.Header
  3063  }
  3064  
  3065  // Update: Updates a GTM Environment.
  3066  //
  3067  // - accountId: The GTM Account ID.
  3068  // - containerId: The GTM Container ID.
  3069  // - environmentId: The GTM Environment ID.
  3070  func (r *AccountsContainersEnvironmentsService) Update(accountId string, containerId string, environmentId string, environment *Environment) *AccountsContainersEnvironmentsUpdateCall {
  3071  	c := &AccountsContainersEnvironmentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3072  	c.accountId = accountId
  3073  	c.containerId = containerId
  3074  	c.environmentId = environmentId
  3075  	c.environment = environment
  3076  	return c
  3077  }
  3078  
  3079  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  3080  // fingerprint must match the fingerprint of the environment in storage.
  3081  func (c *AccountsContainersEnvironmentsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersEnvironmentsUpdateCall {
  3082  	c.urlParams_.Set("fingerprint", fingerprint)
  3083  	return c
  3084  }
  3085  
  3086  // Fields allows partial responses to be retrieved. See
  3087  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3088  // details.
  3089  func (c *AccountsContainersEnvironmentsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersEnvironmentsUpdateCall {
  3090  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3091  	return c
  3092  }
  3093  
  3094  // Context sets the context to be used in this call's Do method.
  3095  func (c *AccountsContainersEnvironmentsUpdateCall) Context(ctx context.Context) *AccountsContainersEnvironmentsUpdateCall {
  3096  	c.ctx_ = ctx
  3097  	return c
  3098  }
  3099  
  3100  // Header returns a http.Header that can be modified by the caller to add
  3101  // headers to the request.
  3102  func (c *AccountsContainersEnvironmentsUpdateCall) Header() http.Header {
  3103  	if c.header_ == nil {
  3104  		c.header_ = make(http.Header)
  3105  	}
  3106  	return c.header_
  3107  }
  3108  
  3109  func (c *AccountsContainersEnvironmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
  3110  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3111  	var body io.Reader = nil
  3112  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
  3113  	if err != nil {
  3114  		return nil, err
  3115  	}
  3116  	c.urlParams_.Set("alt", alt)
  3117  	c.urlParams_.Set("prettyPrint", "false")
  3118  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}")
  3119  	urls += "?" + c.urlParams_.Encode()
  3120  	req, err := http.NewRequest("PUT", urls, body)
  3121  	if err != nil {
  3122  		return nil, err
  3123  	}
  3124  	req.Header = reqHeaders
  3125  	googleapi.Expand(req.URL, map[string]string{
  3126  		"accountId":     c.accountId,
  3127  		"containerId":   c.containerId,
  3128  		"environmentId": c.environmentId,
  3129  	})
  3130  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3131  }
  3132  
  3133  // Do executes the "tagmanager.accounts.containers.environments.update" call.
  3134  // Any non-2xx status code is an error. Response headers are in either
  3135  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  3136  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3137  // whether the returned error was because http.StatusNotModified was returned.
  3138  func (c *AccountsContainersEnvironmentsUpdateCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  3139  	gensupport.SetOptions(c.urlParams_, opts...)
  3140  	res, err := c.doRequest("json")
  3141  	if res != nil && res.StatusCode == http.StatusNotModified {
  3142  		if res.Body != nil {
  3143  			res.Body.Close()
  3144  		}
  3145  		return nil, gensupport.WrapError(&googleapi.Error{
  3146  			Code:   res.StatusCode,
  3147  			Header: res.Header,
  3148  		})
  3149  	}
  3150  	if err != nil {
  3151  		return nil, err
  3152  	}
  3153  	defer googleapi.CloseBody(res)
  3154  	if err := googleapi.CheckResponse(res); err != nil {
  3155  		return nil, gensupport.WrapError(err)
  3156  	}
  3157  	ret := &Environment{
  3158  		ServerResponse: googleapi.ServerResponse{
  3159  			Header:         res.Header,
  3160  			HTTPStatusCode: res.StatusCode,
  3161  		},
  3162  	}
  3163  	target := &ret
  3164  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3165  		return nil, err
  3166  	}
  3167  	return ret, nil
  3168  }
  3169  
  3170  type AccountsContainersFoldersCreateCall struct {
  3171  	s           *Service
  3172  	accountId   string
  3173  	containerId string
  3174  	folder      *Folder
  3175  	urlParams_  gensupport.URLParams
  3176  	ctx_        context.Context
  3177  	header_     http.Header
  3178  }
  3179  
  3180  // Create: Creates a GTM Folder.
  3181  //
  3182  // - accountId: The GTM Account ID.
  3183  // - containerId: The GTM Container ID.
  3184  func (r *AccountsContainersFoldersService) Create(accountId string, containerId string, folder *Folder) *AccountsContainersFoldersCreateCall {
  3185  	c := &AccountsContainersFoldersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3186  	c.accountId = accountId
  3187  	c.containerId = containerId
  3188  	c.folder = folder
  3189  	return c
  3190  }
  3191  
  3192  // Fields allows partial responses to be retrieved. See
  3193  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3194  // details.
  3195  func (c *AccountsContainersFoldersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersCreateCall {
  3196  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3197  	return c
  3198  }
  3199  
  3200  // Context sets the context to be used in this call's Do method.
  3201  func (c *AccountsContainersFoldersCreateCall) Context(ctx context.Context) *AccountsContainersFoldersCreateCall {
  3202  	c.ctx_ = ctx
  3203  	return c
  3204  }
  3205  
  3206  // Header returns a http.Header that can be modified by the caller to add
  3207  // headers to the request.
  3208  func (c *AccountsContainersFoldersCreateCall) Header() http.Header {
  3209  	if c.header_ == nil {
  3210  		c.header_ = make(http.Header)
  3211  	}
  3212  	return c.header_
  3213  }
  3214  
  3215  func (c *AccountsContainersFoldersCreateCall) doRequest(alt string) (*http.Response, error) {
  3216  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3217  	var body io.Reader = nil
  3218  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.folder)
  3219  	if err != nil {
  3220  		return nil, err
  3221  	}
  3222  	c.urlParams_.Set("alt", alt)
  3223  	c.urlParams_.Set("prettyPrint", "false")
  3224  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders")
  3225  	urls += "?" + c.urlParams_.Encode()
  3226  	req, err := http.NewRequest("POST", urls, body)
  3227  	if err != nil {
  3228  		return nil, err
  3229  	}
  3230  	req.Header = reqHeaders
  3231  	googleapi.Expand(req.URL, map[string]string{
  3232  		"accountId":   c.accountId,
  3233  		"containerId": c.containerId,
  3234  	})
  3235  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3236  }
  3237  
  3238  // Do executes the "tagmanager.accounts.containers.folders.create" call.
  3239  // Any non-2xx status code is an error. Response headers are in either
  3240  // *Folder.ServerResponse.Header or (if a response was returned at all) in
  3241  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3242  // whether the returned error was because http.StatusNotModified was returned.
  3243  func (c *AccountsContainersFoldersCreateCall) Do(opts ...googleapi.CallOption) (*Folder, error) {
  3244  	gensupport.SetOptions(c.urlParams_, opts...)
  3245  	res, err := c.doRequest("json")
  3246  	if res != nil && res.StatusCode == http.StatusNotModified {
  3247  		if res.Body != nil {
  3248  			res.Body.Close()
  3249  		}
  3250  		return nil, gensupport.WrapError(&googleapi.Error{
  3251  			Code:   res.StatusCode,
  3252  			Header: res.Header,
  3253  		})
  3254  	}
  3255  	if err != nil {
  3256  		return nil, err
  3257  	}
  3258  	defer googleapi.CloseBody(res)
  3259  	if err := googleapi.CheckResponse(res); err != nil {
  3260  		return nil, gensupport.WrapError(err)
  3261  	}
  3262  	ret := &Folder{
  3263  		ServerResponse: googleapi.ServerResponse{
  3264  			Header:         res.Header,
  3265  			HTTPStatusCode: res.StatusCode,
  3266  		},
  3267  	}
  3268  	target := &ret
  3269  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3270  		return nil, err
  3271  	}
  3272  	return ret, nil
  3273  }
  3274  
  3275  type AccountsContainersFoldersDeleteCall struct {
  3276  	s           *Service
  3277  	accountId   string
  3278  	containerId string
  3279  	folderId    string
  3280  	urlParams_  gensupport.URLParams
  3281  	ctx_        context.Context
  3282  	header_     http.Header
  3283  }
  3284  
  3285  // Delete: Deletes a GTM Folder.
  3286  //
  3287  // - accountId: The GTM Account ID.
  3288  // - containerId: The GTM Container ID.
  3289  // - folderId: The GTM Folder ID.
  3290  func (r *AccountsContainersFoldersService) Delete(accountId string, containerId string, folderId string) *AccountsContainersFoldersDeleteCall {
  3291  	c := &AccountsContainersFoldersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3292  	c.accountId = accountId
  3293  	c.containerId = containerId
  3294  	c.folderId = folderId
  3295  	return c
  3296  }
  3297  
  3298  // Fields allows partial responses to be retrieved. See
  3299  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3300  // details.
  3301  func (c *AccountsContainersFoldersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersDeleteCall {
  3302  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3303  	return c
  3304  }
  3305  
  3306  // Context sets the context to be used in this call's Do method.
  3307  func (c *AccountsContainersFoldersDeleteCall) Context(ctx context.Context) *AccountsContainersFoldersDeleteCall {
  3308  	c.ctx_ = ctx
  3309  	return c
  3310  }
  3311  
  3312  // Header returns a http.Header that can be modified by the caller to add
  3313  // headers to the request.
  3314  func (c *AccountsContainersFoldersDeleteCall) Header() http.Header {
  3315  	if c.header_ == nil {
  3316  		c.header_ = make(http.Header)
  3317  	}
  3318  	return c.header_
  3319  }
  3320  
  3321  func (c *AccountsContainersFoldersDeleteCall) doRequest(alt string) (*http.Response, error) {
  3322  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  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/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}")
  3327  	urls += "?" + c.urlParams_.Encode()
  3328  	req, err := http.NewRequest("DELETE", urls, body)
  3329  	if err != nil {
  3330  		return nil, err
  3331  	}
  3332  	req.Header = reqHeaders
  3333  	googleapi.Expand(req.URL, map[string]string{
  3334  		"accountId":   c.accountId,
  3335  		"containerId": c.containerId,
  3336  		"folderId":    c.folderId,
  3337  	})
  3338  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3339  }
  3340  
  3341  // Do executes the "tagmanager.accounts.containers.folders.delete" call.
  3342  func (c *AccountsContainersFoldersDeleteCall) Do(opts ...googleapi.CallOption) error {
  3343  	gensupport.SetOptions(c.urlParams_, opts...)
  3344  	res, err := c.doRequest("json")
  3345  	if err != nil {
  3346  		return err
  3347  	}
  3348  	defer googleapi.CloseBody(res)
  3349  	if err := googleapi.CheckResponse(res); err != nil {
  3350  		return gensupport.WrapError(err)
  3351  	}
  3352  	return nil
  3353  }
  3354  
  3355  type AccountsContainersFoldersGetCall struct {
  3356  	s            *Service
  3357  	accountId    string
  3358  	containerId  string
  3359  	folderId     string
  3360  	urlParams_   gensupport.URLParams
  3361  	ifNoneMatch_ string
  3362  	ctx_         context.Context
  3363  	header_      http.Header
  3364  }
  3365  
  3366  // Get: Gets a GTM Folder.
  3367  //
  3368  // - accountId: The GTM Account ID.
  3369  // - containerId: The GTM Container ID.
  3370  // - folderId: The GTM Folder ID.
  3371  func (r *AccountsContainersFoldersService) Get(accountId string, containerId string, folderId string) *AccountsContainersFoldersGetCall {
  3372  	c := &AccountsContainersFoldersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3373  	c.accountId = accountId
  3374  	c.containerId = containerId
  3375  	c.folderId = folderId
  3376  	return c
  3377  }
  3378  
  3379  // Fields allows partial responses to be retrieved. See
  3380  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3381  // details.
  3382  func (c *AccountsContainersFoldersGetCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersGetCall {
  3383  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3384  	return c
  3385  }
  3386  
  3387  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3388  // object's ETag matches the given value. This is useful for getting updates
  3389  // only after the object has changed since the last request.
  3390  func (c *AccountsContainersFoldersGetCall) IfNoneMatch(entityTag string) *AccountsContainersFoldersGetCall {
  3391  	c.ifNoneMatch_ = entityTag
  3392  	return c
  3393  }
  3394  
  3395  // Context sets the context to be used in this call's Do method.
  3396  func (c *AccountsContainersFoldersGetCall) Context(ctx context.Context) *AccountsContainersFoldersGetCall {
  3397  	c.ctx_ = ctx
  3398  	return c
  3399  }
  3400  
  3401  // Header returns a http.Header that can be modified by the caller to add
  3402  // headers to the request.
  3403  func (c *AccountsContainersFoldersGetCall) Header() http.Header {
  3404  	if c.header_ == nil {
  3405  		c.header_ = make(http.Header)
  3406  	}
  3407  	return c.header_
  3408  }
  3409  
  3410  func (c *AccountsContainersFoldersGetCall) doRequest(alt string) (*http.Response, error) {
  3411  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3412  	if c.ifNoneMatch_ != "" {
  3413  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3414  	}
  3415  	var body io.Reader = nil
  3416  	c.urlParams_.Set("alt", alt)
  3417  	c.urlParams_.Set("prettyPrint", "false")
  3418  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}")
  3419  	urls += "?" + c.urlParams_.Encode()
  3420  	req, err := http.NewRequest("GET", urls, body)
  3421  	if err != nil {
  3422  		return nil, err
  3423  	}
  3424  	req.Header = reqHeaders
  3425  	googleapi.Expand(req.URL, map[string]string{
  3426  		"accountId":   c.accountId,
  3427  		"containerId": c.containerId,
  3428  		"folderId":    c.folderId,
  3429  	})
  3430  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3431  }
  3432  
  3433  // Do executes the "tagmanager.accounts.containers.folders.get" call.
  3434  // Any non-2xx status code is an error. Response headers are in either
  3435  // *Folder.ServerResponse.Header or (if a response was returned at all) in
  3436  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3437  // whether the returned error was because http.StatusNotModified was returned.
  3438  func (c *AccountsContainersFoldersGetCall) Do(opts ...googleapi.CallOption) (*Folder, error) {
  3439  	gensupport.SetOptions(c.urlParams_, opts...)
  3440  	res, err := c.doRequest("json")
  3441  	if res != nil && res.StatusCode == http.StatusNotModified {
  3442  		if res.Body != nil {
  3443  			res.Body.Close()
  3444  		}
  3445  		return nil, gensupport.WrapError(&googleapi.Error{
  3446  			Code:   res.StatusCode,
  3447  			Header: res.Header,
  3448  		})
  3449  	}
  3450  	if err != nil {
  3451  		return nil, err
  3452  	}
  3453  	defer googleapi.CloseBody(res)
  3454  	if err := googleapi.CheckResponse(res); err != nil {
  3455  		return nil, gensupport.WrapError(err)
  3456  	}
  3457  	ret := &Folder{
  3458  		ServerResponse: googleapi.ServerResponse{
  3459  			Header:         res.Header,
  3460  			HTTPStatusCode: res.StatusCode,
  3461  		},
  3462  	}
  3463  	target := &ret
  3464  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3465  		return nil, err
  3466  	}
  3467  	return ret, nil
  3468  }
  3469  
  3470  type AccountsContainersFoldersListCall struct {
  3471  	s            *Service
  3472  	accountId    string
  3473  	containerId  string
  3474  	urlParams_   gensupport.URLParams
  3475  	ifNoneMatch_ string
  3476  	ctx_         context.Context
  3477  	header_      http.Header
  3478  }
  3479  
  3480  // List: Lists all GTM Folders of a Container.
  3481  //
  3482  // - accountId: The GTM Account ID.
  3483  // - containerId: The GTM Container ID.
  3484  func (r *AccountsContainersFoldersService) List(accountId string, containerId string) *AccountsContainersFoldersListCall {
  3485  	c := &AccountsContainersFoldersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3486  	c.accountId = accountId
  3487  	c.containerId = containerId
  3488  	return c
  3489  }
  3490  
  3491  // Fields allows partial responses to be retrieved. See
  3492  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3493  // details.
  3494  func (c *AccountsContainersFoldersListCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersListCall {
  3495  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3496  	return c
  3497  }
  3498  
  3499  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3500  // object's ETag matches the given value. This is useful for getting updates
  3501  // only after the object has changed since the last request.
  3502  func (c *AccountsContainersFoldersListCall) IfNoneMatch(entityTag string) *AccountsContainersFoldersListCall {
  3503  	c.ifNoneMatch_ = entityTag
  3504  	return c
  3505  }
  3506  
  3507  // Context sets the context to be used in this call's Do method.
  3508  func (c *AccountsContainersFoldersListCall) Context(ctx context.Context) *AccountsContainersFoldersListCall {
  3509  	c.ctx_ = ctx
  3510  	return c
  3511  }
  3512  
  3513  // Header returns a http.Header that can be modified by the caller to add
  3514  // headers to the request.
  3515  func (c *AccountsContainersFoldersListCall) Header() http.Header {
  3516  	if c.header_ == nil {
  3517  		c.header_ = make(http.Header)
  3518  	}
  3519  	return c.header_
  3520  }
  3521  
  3522  func (c *AccountsContainersFoldersListCall) doRequest(alt string) (*http.Response, error) {
  3523  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3524  	if c.ifNoneMatch_ != "" {
  3525  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3526  	}
  3527  	var body io.Reader = nil
  3528  	c.urlParams_.Set("alt", alt)
  3529  	c.urlParams_.Set("prettyPrint", "false")
  3530  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders")
  3531  	urls += "?" + c.urlParams_.Encode()
  3532  	req, err := http.NewRequest("GET", urls, body)
  3533  	if err != nil {
  3534  		return nil, err
  3535  	}
  3536  	req.Header = reqHeaders
  3537  	googleapi.Expand(req.URL, map[string]string{
  3538  		"accountId":   c.accountId,
  3539  		"containerId": c.containerId,
  3540  	})
  3541  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3542  }
  3543  
  3544  // Do executes the "tagmanager.accounts.containers.folders.list" call.
  3545  // Any non-2xx status code is an error. Response headers are in either
  3546  // *ListFoldersResponse.ServerResponse.Header or (if a response was returned at
  3547  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3548  // check whether the returned error was because http.StatusNotModified was
  3549  // returned.
  3550  func (c *AccountsContainersFoldersListCall) Do(opts ...googleapi.CallOption) (*ListFoldersResponse, error) {
  3551  	gensupport.SetOptions(c.urlParams_, opts...)
  3552  	res, err := c.doRequest("json")
  3553  	if res != nil && res.StatusCode == http.StatusNotModified {
  3554  		if res.Body != nil {
  3555  			res.Body.Close()
  3556  		}
  3557  		return nil, gensupport.WrapError(&googleapi.Error{
  3558  			Code:   res.StatusCode,
  3559  			Header: res.Header,
  3560  		})
  3561  	}
  3562  	if err != nil {
  3563  		return nil, err
  3564  	}
  3565  	defer googleapi.CloseBody(res)
  3566  	if err := googleapi.CheckResponse(res); err != nil {
  3567  		return nil, gensupport.WrapError(err)
  3568  	}
  3569  	ret := &ListFoldersResponse{
  3570  		ServerResponse: googleapi.ServerResponse{
  3571  			Header:         res.Header,
  3572  			HTTPStatusCode: res.StatusCode,
  3573  		},
  3574  	}
  3575  	target := &ret
  3576  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3577  		return nil, err
  3578  	}
  3579  	return ret, nil
  3580  }
  3581  
  3582  type AccountsContainersFoldersUpdateCall struct {
  3583  	s           *Service
  3584  	accountId   string
  3585  	containerId string
  3586  	folderId    string
  3587  	folder      *Folder
  3588  	urlParams_  gensupport.URLParams
  3589  	ctx_        context.Context
  3590  	header_     http.Header
  3591  }
  3592  
  3593  // Update: Updates a GTM Folder.
  3594  //
  3595  // - accountId: The GTM Account ID.
  3596  // - containerId: The GTM Container ID.
  3597  // - folderId: The GTM Folder ID.
  3598  func (r *AccountsContainersFoldersService) Update(accountId string, containerId string, folderId string, folder *Folder) *AccountsContainersFoldersUpdateCall {
  3599  	c := &AccountsContainersFoldersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3600  	c.accountId = accountId
  3601  	c.containerId = containerId
  3602  	c.folderId = folderId
  3603  	c.folder = folder
  3604  	return c
  3605  }
  3606  
  3607  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  3608  // fingerprint must match the fingerprint of the folder in storage.
  3609  func (c *AccountsContainersFoldersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersFoldersUpdateCall {
  3610  	c.urlParams_.Set("fingerprint", fingerprint)
  3611  	return c
  3612  }
  3613  
  3614  // Fields allows partial responses to be retrieved. See
  3615  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3616  // details.
  3617  func (c *AccountsContainersFoldersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersUpdateCall {
  3618  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3619  	return c
  3620  }
  3621  
  3622  // Context sets the context to be used in this call's Do method.
  3623  func (c *AccountsContainersFoldersUpdateCall) Context(ctx context.Context) *AccountsContainersFoldersUpdateCall {
  3624  	c.ctx_ = ctx
  3625  	return c
  3626  }
  3627  
  3628  // Header returns a http.Header that can be modified by the caller to add
  3629  // headers to the request.
  3630  func (c *AccountsContainersFoldersUpdateCall) Header() http.Header {
  3631  	if c.header_ == nil {
  3632  		c.header_ = make(http.Header)
  3633  	}
  3634  	return c.header_
  3635  }
  3636  
  3637  func (c *AccountsContainersFoldersUpdateCall) doRequest(alt string) (*http.Response, error) {
  3638  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3639  	var body io.Reader = nil
  3640  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.folder)
  3641  	if err != nil {
  3642  		return nil, err
  3643  	}
  3644  	c.urlParams_.Set("alt", alt)
  3645  	c.urlParams_.Set("prettyPrint", "false")
  3646  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}")
  3647  	urls += "?" + c.urlParams_.Encode()
  3648  	req, err := http.NewRequest("PUT", urls, body)
  3649  	if err != nil {
  3650  		return nil, err
  3651  	}
  3652  	req.Header = reqHeaders
  3653  	googleapi.Expand(req.URL, map[string]string{
  3654  		"accountId":   c.accountId,
  3655  		"containerId": c.containerId,
  3656  		"folderId":    c.folderId,
  3657  	})
  3658  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3659  }
  3660  
  3661  // Do executes the "tagmanager.accounts.containers.folders.update" call.
  3662  // Any non-2xx status code is an error. Response headers are in either
  3663  // *Folder.ServerResponse.Header or (if a response was returned at all) in
  3664  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3665  // whether the returned error was because http.StatusNotModified was returned.
  3666  func (c *AccountsContainersFoldersUpdateCall) Do(opts ...googleapi.CallOption) (*Folder, error) {
  3667  	gensupport.SetOptions(c.urlParams_, opts...)
  3668  	res, err := c.doRequest("json")
  3669  	if res != nil && res.StatusCode == http.StatusNotModified {
  3670  		if res.Body != nil {
  3671  			res.Body.Close()
  3672  		}
  3673  		return nil, gensupport.WrapError(&googleapi.Error{
  3674  			Code:   res.StatusCode,
  3675  			Header: res.Header,
  3676  		})
  3677  	}
  3678  	if err != nil {
  3679  		return nil, err
  3680  	}
  3681  	defer googleapi.CloseBody(res)
  3682  	if err := googleapi.CheckResponse(res); err != nil {
  3683  		return nil, gensupport.WrapError(err)
  3684  	}
  3685  	ret := &Folder{
  3686  		ServerResponse: googleapi.ServerResponse{
  3687  			Header:         res.Header,
  3688  			HTTPStatusCode: res.StatusCode,
  3689  		},
  3690  	}
  3691  	target := &ret
  3692  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3693  		return nil, err
  3694  	}
  3695  	return ret, nil
  3696  }
  3697  
  3698  type AccountsContainersFoldersEntitiesListCall struct {
  3699  	s            *Service
  3700  	accountId    string
  3701  	containerId  string
  3702  	folderId     string
  3703  	urlParams_   gensupport.URLParams
  3704  	ifNoneMatch_ string
  3705  	ctx_         context.Context
  3706  	header_      http.Header
  3707  }
  3708  
  3709  // List: List all entities in a GTM Folder.
  3710  //
  3711  // - accountId: The GTM Account ID.
  3712  // - containerId: The GTM Container ID.
  3713  // - folderId: The GTM Folder ID.
  3714  func (r *AccountsContainersFoldersEntitiesService) List(accountId string, containerId string, folderId string) *AccountsContainersFoldersEntitiesListCall {
  3715  	c := &AccountsContainersFoldersEntitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3716  	c.accountId = accountId
  3717  	c.containerId = containerId
  3718  	c.folderId = folderId
  3719  	return c
  3720  }
  3721  
  3722  // Fields allows partial responses to be retrieved. See
  3723  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3724  // details.
  3725  func (c *AccountsContainersFoldersEntitiesListCall) Fields(s ...googleapi.Field) *AccountsContainersFoldersEntitiesListCall {
  3726  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3727  	return c
  3728  }
  3729  
  3730  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3731  // object's ETag matches the given value. This is useful for getting updates
  3732  // only after the object has changed since the last request.
  3733  func (c *AccountsContainersFoldersEntitiesListCall) IfNoneMatch(entityTag string) *AccountsContainersFoldersEntitiesListCall {
  3734  	c.ifNoneMatch_ = entityTag
  3735  	return c
  3736  }
  3737  
  3738  // Context sets the context to be used in this call's Do method.
  3739  func (c *AccountsContainersFoldersEntitiesListCall) Context(ctx context.Context) *AccountsContainersFoldersEntitiesListCall {
  3740  	c.ctx_ = ctx
  3741  	return c
  3742  }
  3743  
  3744  // Header returns a http.Header that can be modified by the caller to add
  3745  // headers to the request.
  3746  func (c *AccountsContainersFoldersEntitiesListCall) Header() http.Header {
  3747  	if c.header_ == nil {
  3748  		c.header_ = make(http.Header)
  3749  	}
  3750  	return c.header_
  3751  }
  3752  
  3753  func (c *AccountsContainersFoldersEntitiesListCall) doRequest(alt string) (*http.Response, error) {
  3754  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3755  	if c.ifNoneMatch_ != "" {
  3756  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3757  	}
  3758  	var body io.Reader = nil
  3759  	c.urlParams_.Set("alt", alt)
  3760  	c.urlParams_.Set("prettyPrint", "false")
  3761  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities")
  3762  	urls += "?" + c.urlParams_.Encode()
  3763  	req, err := http.NewRequest("GET", urls, body)
  3764  	if err != nil {
  3765  		return nil, err
  3766  	}
  3767  	req.Header = reqHeaders
  3768  	googleapi.Expand(req.URL, map[string]string{
  3769  		"accountId":   c.accountId,
  3770  		"containerId": c.containerId,
  3771  		"folderId":    c.folderId,
  3772  	})
  3773  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3774  }
  3775  
  3776  // Do executes the "tagmanager.accounts.containers.folders.entities.list" call.
  3777  // Any non-2xx status code is an error. Response headers are in either
  3778  // *FolderEntities.ServerResponse.Header or (if a response was returned at all)
  3779  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3780  // whether the returned error was because http.StatusNotModified was returned.
  3781  func (c *AccountsContainersFoldersEntitiesListCall) Do(opts ...googleapi.CallOption) (*FolderEntities, error) {
  3782  	gensupport.SetOptions(c.urlParams_, opts...)
  3783  	res, err := c.doRequest("json")
  3784  	if res != nil && res.StatusCode == http.StatusNotModified {
  3785  		if res.Body != nil {
  3786  			res.Body.Close()
  3787  		}
  3788  		return nil, gensupport.WrapError(&googleapi.Error{
  3789  			Code:   res.StatusCode,
  3790  			Header: res.Header,
  3791  		})
  3792  	}
  3793  	if err != nil {
  3794  		return nil, err
  3795  	}
  3796  	defer googleapi.CloseBody(res)
  3797  	if err := googleapi.CheckResponse(res); err != nil {
  3798  		return nil, gensupport.WrapError(err)
  3799  	}
  3800  	ret := &FolderEntities{
  3801  		ServerResponse: googleapi.ServerResponse{
  3802  			Header:         res.Header,
  3803  			HTTPStatusCode: res.StatusCode,
  3804  		},
  3805  	}
  3806  	target := &ret
  3807  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3808  		return nil, err
  3809  	}
  3810  	return ret, nil
  3811  }
  3812  
  3813  type AccountsContainersMoveFoldersUpdateCall struct {
  3814  	s           *Service
  3815  	accountId   string
  3816  	containerId string
  3817  	folderId    string
  3818  	folder      *Folder
  3819  	urlParams_  gensupport.URLParams
  3820  	ctx_        context.Context
  3821  	header_     http.Header
  3822  }
  3823  
  3824  // Update: Moves entities to a GTM Folder.
  3825  //
  3826  // - accountId: The GTM Account ID.
  3827  // - containerId: The GTM Container ID.
  3828  // - folderId: The GTM Folder ID.
  3829  func (r *AccountsContainersMoveFoldersService) Update(accountId string, containerId string, folderId string, folder *Folder) *AccountsContainersMoveFoldersUpdateCall {
  3830  	c := &AccountsContainersMoveFoldersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3831  	c.accountId = accountId
  3832  	c.containerId = containerId
  3833  	c.folderId = folderId
  3834  	c.folder = folder
  3835  	return c
  3836  }
  3837  
  3838  // TagId sets the optional parameter "tagId": The tags to be moved to the
  3839  // folder.
  3840  func (c *AccountsContainersMoveFoldersUpdateCall) TagId(tagId ...string) *AccountsContainersMoveFoldersUpdateCall {
  3841  	c.urlParams_.SetMulti("tagId", append([]string{}, tagId...))
  3842  	return c
  3843  }
  3844  
  3845  // TriggerId sets the optional parameter "triggerId": The triggers to be moved
  3846  // to the folder.
  3847  func (c *AccountsContainersMoveFoldersUpdateCall) TriggerId(triggerId ...string) *AccountsContainersMoveFoldersUpdateCall {
  3848  	c.urlParams_.SetMulti("triggerId", append([]string{}, triggerId...))
  3849  	return c
  3850  }
  3851  
  3852  // VariableId sets the optional parameter "variableId": The variables to be
  3853  // moved to the folder.
  3854  func (c *AccountsContainersMoveFoldersUpdateCall) VariableId(variableId ...string) *AccountsContainersMoveFoldersUpdateCall {
  3855  	c.urlParams_.SetMulti("variableId", append([]string{}, variableId...))
  3856  	return c
  3857  }
  3858  
  3859  // Fields allows partial responses to be retrieved. See
  3860  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3861  // details.
  3862  func (c *AccountsContainersMoveFoldersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersMoveFoldersUpdateCall {
  3863  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3864  	return c
  3865  }
  3866  
  3867  // Context sets the context to be used in this call's Do method.
  3868  func (c *AccountsContainersMoveFoldersUpdateCall) Context(ctx context.Context) *AccountsContainersMoveFoldersUpdateCall {
  3869  	c.ctx_ = ctx
  3870  	return c
  3871  }
  3872  
  3873  // Header returns a http.Header that can be modified by the caller to add
  3874  // headers to the request.
  3875  func (c *AccountsContainersMoveFoldersUpdateCall) Header() http.Header {
  3876  	if c.header_ == nil {
  3877  		c.header_ = make(http.Header)
  3878  	}
  3879  	return c.header_
  3880  }
  3881  
  3882  func (c *AccountsContainersMoveFoldersUpdateCall) doRequest(alt string) (*http.Response, error) {
  3883  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3884  	var body io.Reader = nil
  3885  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.folder)
  3886  	if err != nil {
  3887  		return nil, err
  3888  	}
  3889  	c.urlParams_.Set("alt", alt)
  3890  	c.urlParams_.Set("prettyPrint", "false")
  3891  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}")
  3892  	urls += "?" + c.urlParams_.Encode()
  3893  	req, err := http.NewRequest("PUT", urls, body)
  3894  	if err != nil {
  3895  		return nil, err
  3896  	}
  3897  	req.Header = reqHeaders
  3898  	googleapi.Expand(req.URL, map[string]string{
  3899  		"accountId":   c.accountId,
  3900  		"containerId": c.containerId,
  3901  		"folderId":    c.folderId,
  3902  	})
  3903  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3904  }
  3905  
  3906  // Do executes the "tagmanager.accounts.containers.move_folders.update" call.
  3907  func (c *AccountsContainersMoveFoldersUpdateCall) Do(opts ...googleapi.CallOption) error {
  3908  	gensupport.SetOptions(c.urlParams_, opts...)
  3909  	res, err := c.doRequest("json")
  3910  	if err != nil {
  3911  		return err
  3912  	}
  3913  	defer googleapi.CloseBody(res)
  3914  	if err := googleapi.CheckResponse(res); err != nil {
  3915  		return gensupport.WrapError(err)
  3916  	}
  3917  	return nil
  3918  }
  3919  
  3920  type AccountsContainersReauthorizeEnvironmentsUpdateCall struct {
  3921  	s             *Service
  3922  	accountId     string
  3923  	containerId   string
  3924  	environmentId string
  3925  	environment   *Environment
  3926  	urlParams_    gensupport.URLParams
  3927  	ctx_          context.Context
  3928  	header_       http.Header
  3929  }
  3930  
  3931  // Update: Re-generates the authorization code for a GTM Environment.
  3932  //
  3933  // - accountId: The GTM Account ID.
  3934  // - containerId: The GTM Container ID.
  3935  // - environmentId: The GTM Environment ID.
  3936  func (r *AccountsContainersReauthorizeEnvironmentsService) Update(accountId string, containerId string, environmentId string, environment *Environment) *AccountsContainersReauthorizeEnvironmentsUpdateCall {
  3937  	c := &AccountsContainersReauthorizeEnvironmentsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3938  	c.accountId = accountId
  3939  	c.containerId = containerId
  3940  	c.environmentId = environmentId
  3941  	c.environment = environment
  3942  	return c
  3943  }
  3944  
  3945  // Fields allows partial responses to be retrieved. See
  3946  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3947  // details.
  3948  func (c *AccountsContainersReauthorizeEnvironmentsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersReauthorizeEnvironmentsUpdateCall {
  3949  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3950  	return c
  3951  }
  3952  
  3953  // Context sets the context to be used in this call's Do method.
  3954  func (c *AccountsContainersReauthorizeEnvironmentsUpdateCall) Context(ctx context.Context) *AccountsContainersReauthorizeEnvironmentsUpdateCall {
  3955  	c.ctx_ = ctx
  3956  	return c
  3957  }
  3958  
  3959  // Header returns a http.Header that can be modified by the caller to add
  3960  // headers to the request.
  3961  func (c *AccountsContainersReauthorizeEnvironmentsUpdateCall) Header() http.Header {
  3962  	if c.header_ == nil {
  3963  		c.header_ = make(http.Header)
  3964  	}
  3965  	return c.header_
  3966  }
  3967  
  3968  func (c *AccountsContainersReauthorizeEnvironmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
  3969  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3970  	var body io.Reader = nil
  3971  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.environment)
  3972  	if err != nil {
  3973  		return nil, err
  3974  	}
  3975  	c.urlParams_.Set("alt", alt)
  3976  	c.urlParams_.Set("prettyPrint", "false")
  3977  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}")
  3978  	urls += "?" + c.urlParams_.Encode()
  3979  	req, err := http.NewRequest("PUT", urls, body)
  3980  	if err != nil {
  3981  		return nil, err
  3982  	}
  3983  	req.Header = reqHeaders
  3984  	googleapi.Expand(req.URL, map[string]string{
  3985  		"accountId":     c.accountId,
  3986  		"containerId":   c.containerId,
  3987  		"environmentId": c.environmentId,
  3988  	})
  3989  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3990  }
  3991  
  3992  // Do executes the "tagmanager.accounts.containers.reauthorize_environments.update" call.
  3993  // Any non-2xx status code is an error. Response headers are in either
  3994  // *Environment.ServerResponse.Header or (if a response was returned at all) in
  3995  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3996  // whether the returned error was because http.StatusNotModified was returned.
  3997  func (c *AccountsContainersReauthorizeEnvironmentsUpdateCall) Do(opts ...googleapi.CallOption) (*Environment, error) {
  3998  	gensupport.SetOptions(c.urlParams_, opts...)
  3999  	res, err := c.doRequest("json")
  4000  	if res != nil && res.StatusCode == http.StatusNotModified {
  4001  		if res.Body != nil {
  4002  			res.Body.Close()
  4003  		}
  4004  		return nil, gensupport.WrapError(&googleapi.Error{
  4005  			Code:   res.StatusCode,
  4006  			Header: res.Header,
  4007  		})
  4008  	}
  4009  	if err != nil {
  4010  		return nil, err
  4011  	}
  4012  	defer googleapi.CloseBody(res)
  4013  	if err := googleapi.CheckResponse(res); err != nil {
  4014  		return nil, gensupport.WrapError(err)
  4015  	}
  4016  	ret := &Environment{
  4017  		ServerResponse: googleapi.ServerResponse{
  4018  			Header:         res.Header,
  4019  			HTTPStatusCode: res.StatusCode,
  4020  		},
  4021  	}
  4022  	target := &ret
  4023  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4024  		return nil, err
  4025  	}
  4026  	return ret, nil
  4027  }
  4028  
  4029  type AccountsContainersTagsCreateCall struct {
  4030  	s           *Service
  4031  	accountId   string
  4032  	containerId string
  4033  	tag         *Tag
  4034  	urlParams_  gensupport.URLParams
  4035  	ctx_        context.Context
  4036  	header_     http.Header
  4037  }
  4038  
  4039  // Create: Creates a GTM Tag.
  4040  //
  4041  // - accountId: The GTM Account ID.
  4042  // - containerId: The GTM Container ID.
  4043  func (r *AccountsContainersTagsService) Create(accountId string, containerId string, tag *Tag) *AccountsContainersTagsCreateCall {
  4044  	c := &AccountsContainersTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4045  	c.accountId = accountId
  4046  	c.containerId = containerId
  4047  	c.tag = tag
  4048  	return c
  4049  }
  4050  
  4051  // Fields allows partial responses to be retrieved. See
  4052  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4053  // details.
  4054  func (c *AccountsContainersTagsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersTagsCreateCall {
  4055  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4056  	return c
  4057  }
  4058  
  4059  // Context sets the context to be used in this call's Do method.
  4060  func (c *AccountsContainersTagsCreateCall) Context(ctx context.Context) *AccountsContainersTagsCreateCall {
  4061  	c.ctx_ = ctx
  4062  	return c
  4063  }
  4064  
  4065  // Header returns a http.Header that can be modified by the caller to add
  4066  // headers to the request.
  4067  func (c *AccountsContainersTagsCreateCall) Header() http.Header {
  4068  	if c.header_ == nil {
  4069  		c.header_ = make(http.Header)
  4070  	}
  4071  	return c.header_
  4072  }
  4073  
  4074  func (c *AccountsContainersTagsCreateCall) doRequest(alt string) (*http.Response, error) {
  4075  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4076  	var body io.Reader = nil
  4077  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.tag)
  4078  	if err != nil {
  4079  		return nil, err
  4080  	}
  4081  	c.urlParams_.Set("alt", alt)
  4082  	c.urlParams_.Set("prettyPrint", "false")
  4083  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags")
  4084  	urls += "?" + c.urlParams_.Encode()
  4085  	req, err := http.NewRequest("POST", urls, body)
  4086  	if err != nil {
  4087  		return nil, err
  4088  	}
  4089  	req.Header = reqHeaders
  4090  	googleapi.Expand(req.URL, map[string]string{
  4091  		"accountId":   c.accountId,
  4092  		"containerId": c.containerId,
  4093  	})
  4094  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4095  }
  4096  
  4097  // Do executes the "tagmanager.accounts.containers.tags.create" call.
  4098  // Any non-2xx status code is an error. Response headers are in either
  4099  // *Tag.ServerResponse.Header or (if a response was returned at all) in
  4100  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4101  // whether the returned error was because http.StatusNotModified was returned.
  4102  func (c *AccountsContainersTagsCreateCall) Do(opts ...googleapi.CallOption) (*Tag, error) {
  4103  	gensupport.SetOptions(c.urlParams_, opts...)
  4104  	res, err := c.doRequest("json")
  4105  	if res != nil && res.StatusCode == http.StatusNotModified {
  4106  		if res.Body != nil {
  4107  			res.Body.Close()
  4108  		}
  4109  		return nil, gensupport.WrapError(&googleapi.Error{
  4110  			Code:   res.StatusCode,
  4111  			Header: res.Header,
  4112  		})
  4113  	}
  4114  	if err != nil {
  4115  		return nil, err
  4116  	}
  4117  	defer googleapi.CloseBody(res)
  4118  	if err := googleapi.CheckResponse(res); err != nil {
  4119  		return nil, gensupport.WrapError(err)
  4120  	}
  4121  	ret := &Tag{
  4122  		ServerResponse: googleapi.ServerResponse{
  4123  			Header:         res.Header,
  4124  			HTTPStatusCode: res.StatusCode,
  4125  		},
  4126  	}
  4127  	target := &ret
  4128  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4129  		return nil, err
  4130  	}
  4131  	return ret, nil
  4132  }
  4133  
  4134  type AccountsContainersTagsDeleteCall struct {
  4135  	s           *Service
  4136  	accountId   string
  4137  	containerId string
  4138  	tagId       string
  4139  	urlParams_  gensupport.URLParams
  4140  	ctx_        context.Context
  4141  	header_     http.Header
  4142  }
  4143  
  4144  // Delete: Deletes a GTM Tag.
  4145  //
  4146  // - accountId: The GTM Account ID.
  4147  // - containerId: The GTM Container ID.
  4148  // - tagId: The GTM Tag ID.
  4149  func (r *AccountsContainersTagsService) Delete(accountId string, containerId string, tagId string) *AccountsContainersTagsDeleteCall {
  4150  	c := &AccountsContainersTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4151  	c.accountId = accountId
  4152  	c.containerId = containerId
  4153  	c.tagId = tagId
  4154  	return c
  4155  }
  4156  
  4157  // Fields allows partial responses to be retrieved. See
  4158  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4159  // details.
  4160  func (c *AccountsContainersTagsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersTagsDeleteCall {
  4161  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4162  	return c
  4163  }
  4164  
  4165  // Context sets the context to be used in this call's Do method.
  4166  func (c *AccountsContainersTagsDeleteCall) Context(ctx context.Context) *AccountsContainersTagsDeleteCall {
  4167  	c.ctx_ = ctx
  4168  	return c
  4169  }
  4170  
  4171  // Header returns a http.Header that can be modified by the caller to add
  4172  // headers to the request.
  4173  func (c *AccountsContainersTagsDeleteCall) Header() http.Header {
  4174  	if c.header_ == nil {
  4175  		c.header_ = make(http.Header)
  4176  	}
  4177  	return c.header_
  4178  }
  4179  
  4180  func (c *AccountsContainersTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
  4181  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4182  	var body io.Reader = nil
  4183  	c.urlParams_.Set("alt", alt)
  4184  	c.urlParams_.Set("prettyPrint", "false")
  4185  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}")
  4186  	urls += "?" + c.urlParams_.Encode()
  4187  	req, err := http.NewRequest("DELETE", urls, body)
  4188  	if err != nil {
  4189  		return nil, err
  4190  	}
  4191  	req.Header = reqHeaders
  4192  	googleapi.Expand(req.URL, map[string]string{
  4193  		"accountId":   c.accountId,
  4194  		"containerId": c.containerId,
  4195  		"tagId":       c.tagId,
  4196  	})
  4197  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4198  }
  4199  
  4200  // Do executes the "tagmanager.accounts.containers.tags.delete" call.
  4201  func (c *AccountsContainersTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
  4202  	gensupport.SetOptions(c.urlParams_, opts...)
  4203  	res, err := c.doRequest("json")
  4204  	if err != nil {
  4205  		return err
  4206  	}
  4207  	defer googleapi.CloseBody(res)
  4208  	if err := googleapi.CheckResponse(res); err != nil {
  4209  		return gensupport.WrapError(err)
  4210  	}
  4211  	return nil
  4212  }
  4213  
  4214  type AccountsContainersTagsGetCall struct {
  4215  	s            *Service
  4216  	accountId    string
  4217  	containerId  string
  4218  	tagId        string
  4219  	urlParams_   gensupport.URLParams
  4220  	ifNoneMatch_ string
  4221  	ctx_         context.Context
  4222  	header_      http.Header
  4223  }
  4224  
  4225  // Get: Gets a GTM Tag.
  4226  //
  4227  // - accountId: The GTM Account ID.
  4228  // - containerId: The GTM Container ID.
  4229  // - tagId: The GTM Tag ID.
  4230  func (r *AccountsContainersTagsService) Get(accountId string, containerId string, tagId string) *AccountsContainersTagsGetCall {
  4231  	c := &AccountsContainersTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4232  	c.accountId = accountId
  4233  	c.containerId = containerId
  4234  	c.tagId = tagId
  4235  	return c
  4236  }
  4237  
  4238  // Fields allows partial responses to be retrieved. See
  4239  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4240  // details.
  4241  func (c *AccountsContainersTagsGetCall) Fields(s ...googleapi.Field) *AccountsContainersTagsGetCall {
  4242  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4243  	return c
  4244  }
  4245  
  4246  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4247  // object's ETag matches the given value. This is useful for getting updates
  4248  // only after the object has changed since the last request.
  4249  func (c *AccountsContainersTagsGetCall) IfNoneMatch(entityTag string) *AccountsContainersTagsGetCall {
  4250  	c.ifNoneMatch_ = entityTag
  4251  	return c
  4252  }
  4253  
  4254  // Context sets the context to be used in this call's Do method.
  4255  func (c *AccountsContainersTagsGetCall) Context(ctx context.Context) *AccountsContainersTagsGetCall {
  4256  	c.ctx_ = ctx
  4257  	return c
  4258  }
  4259  
  4260  // Header returns a http.Header that can be modified by the caller to add
  4261  // headers to the request.
  4262  func (c *AccountsContainersTagsGetCall) Header() http.Header {
  4263  	if c.header_ == nil {
  4264  		c.header_ = make(http.Header)
  4265  	}
  4266  	return c.header_
  4267  }
  4268  
  4269  func (c *AccountsContainersTagsGetCall) doRequest(alt string) (*http.Response, error) {
  4270  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4271  	if c.ifNoneMatch_ != "" {
  4272  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4273  	}
  4274  	var body io.Reader = nil
  4275  	c.urlParams_.Set("alt", alt)
  4276  	c.urlParams_.Set("prettyPrint", "false")
  4277  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}")
  4278  	urls += "?" + c.urlParams_.Encode()
  4279  	req, err := http.NewRequest("GET", urls, body)
  4280  	if err != nil {
  4281  		return nil, err
  4282  	}
  4283  	req.Header = reqHeaders
  4284  	googleapi.Expand(req.URL, map[string]string{
  4285  		"accountId":   c.accountId,
  4286  		"containerId": c.containerId,
  4287  		"tagId":       c.tagId,
  4288  	})
  4289  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4290  }
  4291  
  4292  // Do executes the "tagmanager.accounts.containers.tags.get" call.
  4293  // Any non-2xx status code is an error. Response headers are in either
  4294  // *Tag.ServerResponse.Header or (if a response was returned at all) in
  4295  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4296  // whether the returned error was because http.StatusNotModified was returned.
  4297  func (c *AccountsContainersTagsGetCall) Do(opts ...googleapi.CallOption) (*Tag, error) {
  4298  	gensupport.SetOptions(c.urlParams_, opts...)
  4299  	res, err := c.doRequest("json")
  4300  	if res != nil && res.StatusCode == http.StatusNotModified {
  4301  		if res.Body != nil {
  4302  			res.Body.Close()
  4303  		}
  4304  		return nil, gensupport.WrapError(&googleapi.Error{
  4305  			Code:   res.StatusCode,
  4306  			Header: res.Header,
  4307  		})
  4308  	}
  4309  	if err != nil {
  4310  		return nil, err
  4311  	}
  4312  	defer googleapi.CloseBody(res)
  4313  	if err := googleapi.CheckResponse(res); err != nil {
  4314  		return nil, gensupport.WrapError(err)
  4315  	}
  4316  	ret := &Tag{
  4317  		ServerResponse: googleapi.ServerResponse{
  4318  			Header:         res.Header,
  4319  			HTTPStatusCode: res.StatusCode,
  4320  		},
  4321  	}
  4322  	target := &ret
  4323  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4324  		return nil, err
  4325  	}
  4326  	return ret, nil
  4327  }
  4328  
  4329  type AccountsContainersTagsListCall struct {
  4330  	s            *Service
  4331  	accountId    string
  4332  	containerId  string
  4333  	urlParams_   gensupport.URLParams
  4334  	ifNoneMatch_ string
  4335  	ctx_         context.Context
  4336  	header_      http.Header
  4337  }
  4338  
  4339  // List: Lists all GTM Tags of a Container.
  4340  //
  4341  // - accountId: The GTM Account ID.
  4342  // - containerId: The GTM Container ID.
  4343  func (r *AccountsContainersTagsService) List(accountId string, containerId string) *AccountsContainersTagsListCall {
  4344  	c := &AccountsContainersTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4345  	c.accountId = accountId
  4346  	c.containerId = containerId
  4347  	return c
  4348  }
  4349  
  4350  // Fields allows partial responses to be retrieved. See
  4351  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4352  // details.
  4353  func (c *AccountsContainersTagsListCall) Fields(s ...googleapi.Field) *AccountsContainersTagsListCall {
  4354  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4355  	return c
  4356  }
  4357  
  4358  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4359  // object's ETag matches the given value. This is useful for getting updates
  4360  // only after the object has changed since the last request.
  4361  func (c *AccountsContainersTagsListCall) IfNoneMatch(entityTag string) *AccountsContainersTagsListCall {
  4362  	c.ifNoneMatch_ = entityTag
  4363  	return c
  4364  }
  4365  
  4366  // Context sets the context to be used in this call's Do method.
  4367  func (c *AccountsContainersTagsListCall) Context(ctx context.Context) *AccountsContainersTagsListCall {
  4368  	c.ctx_ = ctx
  4369  	return c
  4370  }
  4371  
  4372  // Header returns a http.Header that can be modified by the caller to add
  4373  // headers to the request.
  4374  func (c *AccountsContainersTagsListCall) Header() http.Header {
  4375  	if c.header_ == nil {
  4376  		c.header_ = make(http.Header)
  4377  	}
  4378  	return c.header_
  4379  }
  4380  
  4381  func (c *AccountsContainersTagsListCall) doRequest(alt string) (*http.Response, error) {
  4382  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4383  	if c.ifNoneMatch_ != "" {
  4384  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4385  	}
  4386  	var body io.Reader = nil
  4387  	c.urlParams_.Set("alt", alt)
  4388  	c.urlParams_.Set("prettyPrint", "false")
  4389  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags")
  4390  	urls += "?" + c.urlParams_.Encode()
  4391  	req, err := http.NewRequest("GET", urls, body)
  4392  	if err != nil {
  4393  		return nil, err
  4394  	}
  4395  	req.Header = reqHeaders
  4396  	googleapi.Expand(req.URL, map[string]string{
  4397  		"accountId":   c.accountId,
  4398  		"containerId": c.containerId,
  4399  	})
  4400  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4401  }
  4402  
  4403  // Do executes the "tagmanager.accounts.containers.tags.list" call.
  4404  // Any non-2xx status code is an error. Response headers are in either
  4405  // *ListTagsResponse.ServerResponse.Header or (if a response was returned at
  4406  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4407  // check whether the returned error was because http.StatusNotModified was
  4408  // returned.
  4409  func (c *AccountsContainersTagsListCall) Do(opts ...googleapi.CallOption) (*ListTagsResponse, error) {
  4410  	gensupport.SetOptions(c.urlParams_, opts...)
  4411  	res, err := c.doRequest("json")
  4412  	if res != nil && res.StatusCode == http.StatusNotModified {
  4413  		if res.Body != nil {
  4414  			res.Body.Close()
  4415  		}
  4416  		return nil, gensupport.WrapError(&googleapi.Error{
  4417  			Code:   res.StatusCode,
  4418  			Header: res.Header,
  4419  		})
  4420  	}
  4421  	if err != nil {
  4422  		return nil, err
  4423  	}
  4424  	defer googleapi.CloseBody(res)
  4425  	if err := googleapi.CheckResponse(res); err != nil {
  4426  		return nil, gensupport.WrapError(err)
  4427  	}
  4428  	ret := &ListTagsResponse{
  4429  		ServerResponse: googleapi.ServerResponse{
  4430  			Header:         res.Header,
  4431  			HTTPStatusCode: res.StatusCode,
  4432  		},
  4433  	}
  4434  	target := &ret
  4435  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4436  		return nil, err
  4437  	}
  4438  	return ret, nil
  4439  }
  4440  
  4441  type AccountsContainersTagsUpdateCall struct {
  4442  	s           *Service
  4443  	accountId   string
  4444  	containerId string
  4445  	tagId       string
  4446  	tag         *Tag
  4447  	urlParams_  gensupport.URLParams
  4448  	ctx_        context.Context
  4449  	header_     http.Header
  4450  }
  4451  
  4452  // Update: Updates a GTM Tag.
  4453  //
  4454  // - accountId: The GTM Account ID.
  4455  // - containerId: The GTM Container ID.
  4456  // - tagId: The GTM Tag ID.
  4457  func (r *AccountsContainersTagsService) Update(accountId string, containerId string, tagId string, tag *Tag) *AccountsContainersTagsUpdateCall {
  4458  	c := &AccountsContainersTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4459  	c.accountId = accountId
  4460  	c.containerId = containerId
  4461  	c.tagId = tagId
  4462  	c.tag = tag
  4463  	return c
  4464  }
  4465  
  4466  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  4467  // fingerprint must match the fingerprint of the tag in storage.
  4468  func (c *AccountsContainersTagsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersTagsUpdateCall {
  4469  	c.urlParams_.Set("fingerprint", fingerprint)
  4470  	return c
  4471  }
  4472  
  4473  // Fields allows partial responses to be retrieved. See
  4474  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4475  // details.
  4476  func (c *AccountsContainersTagsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersTagsUpdateCall {
  4477  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4478  	return c
  4479  }
  4480  
  4481  // Context sets the context to be used in this call's Do method.
  4482  func (c *AccountsContainersTagsUpdateCall) Context(ctx context.Context) *AccountsContainersTagsUpdateCall {
  4483  	c.ctx_ = ctx
  4484  	return c
  4485  }
  4486  
  4487  // Header returns a http.Header that can be modified by the caller to add
  4488  // headers to the request.
  4489  func (c *AccountsContainersTagsUpdateCall) Header() http.Header {
  4490  	if c.header_ == nil {
  4491  		c.header_ = make(http.Header)
  4492  	}
  4493  	return c.header_
  4494  }
  4495  
  4496  func (c *AccountsContainersTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
  4497  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4498  	var body io.Reader = nil
  4499  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.tag)
  4500  	if err != nil {
  4501  		return nil, err
  4502  	}
  4503  	c.urlParams_.Set("alt", alt)
  4504  	c.urlParams_.Set("prettyPrint", "false")
  4505  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}")
  4506  	urls += "?" + c.urlParams_.Encode()
  4507  	req, err := http.NewRequest("PUT", urls, body)
  4508  	if err != nil {
  4509  		return nil, err
  4510  	}
  4511  	req.Header = reqHeaders
  4512  	googleapi.Expand(req.URL, map[string]string{
  4513  		"accountId":   c.accountId,
  4514  		"containerId": c.containerId,
  4515  		"tagId":       c.tagId,
  4516  	})
  4517  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4518  }
  4519  
  4520  // Do executes the "tagmanager.accounts.containers.tags.update" call.
  4521  // Any non-2xx status code is an error. Response headers are in either
  4522  // *Tag.ServerResponse.Header or (if a response was returned at all) in
  4523  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4524  // whether the returned error was because http.StatusNotModified was returned.
  4525  func (c *AccountsContainersTagsUpdateCall) Do(opts ...googleapi.CallOption) (*Tag, error) {
  4526  	gensupport.SetOptions(c.urlParams_, opts...)
  4527  	res, err := c.doRequest("json")
  4528  	if res != nil && res.StatusCode == http.StatusNotModified {
  4529  		if res.Body != nil {
  4530  			res.Body.Close()
  4531  		}
  4532  		return nil, gensupport.WrapError(&googleapi.Error{
  4533  			Code:   res.StatusCode,
  4534  			Header: res.Header,
  4535  		})
  4536  	}
  4537  	if err != nil {
  4538  		return nil, err
  4539  	}
  4540  	defer googleapi.CloseBody(res)
  4541  	if err := googleapi.CheckResponse(res); err != nil {
  4542  		return nil, gensupport.WrapError(err)
  4543  	}
  4544  	ret := &Tag{
  4545  		ServerResponse: googleapi.ServerResponse{
  4546  			Header:         res.Header,
  4547  			HTTPStatusCode: res.StatusCode,
  4548  		},
  4549  	}
  4550  	target := &ret
  4551  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4552  		return nil, err
  4553  	}
  4554  	return ret, nil
  4555  }
  4556  
  4557  type AccountsContainersTriggersCreateCall struct {
  4558  	s           *Service
  4559  	accountId   string
  4560  	containerId string
  4561  	trigger     *Trigger
  4562  	urlParams_  gensupport.URLParams
  4563  	ctx_        context.Context
  4564  	header_     http.Header
  4565  }
  4566  
  4567  // Create: Creates a GTM Trigger.
  4568  //
  4569  // - accountId: The GTM Account ID.
  4570  // - containerId: The GTM Container ID.
  4571  func (r *AccountsContainersTriggersService) Create(accountId string, containerId string, trigger *Trigger) *AccountsContainersTriggersCreateCall {
  4572  	c := &AccountsContainersTriggersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4573  	c.accountId = accountId
  4574  	c.containerId = containerId
  4575  	c.trigger = trigger
  4576  	return c
  4577  }
  4578  
  4579  // Fields allows partial responses to be retrieved. See
  4580  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4581  // details.
  4582  func (c *AccountsContainersTriggersCreateCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersCreateCall {
  4583  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4584  	return c
  4585  }
  4586  
  4587  // Context sets the context to be used in this call's Do method.
  4588  func (c *AccountsContainersTriggersCreateCall) Context(ctx context.Context) *AccountsContainersTriggersCreateCall {
  4589  	c.ctx_ = ctx
  4590  	return c
  4591  }
  4592  
  4593  // Header returns a http.Header that can be modified by the caller to add
  4594  // headers to the request.
  4595  func (c *AccountsContainersTriggersCreateCall) Header() http.Header {
  4596  	if c.header_ == nil {
  4597  		c.header_ = make(http.Header)
  4598  	}
  4599  	return c.header_
  4600  }
  4601  
  4602  func (c *AccountsContainersTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
  4603  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4604  	var body io.Reader = nil
  4605  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.trigger)
  4606  	if err != nil {
  4607  		return nil, err
  4608  	}
  4609  	c.urlParams_.Set("alt", alt)
  4610  	c.urlParams_.Set("prettyPrint", "false")
  4611  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers")
  4612  	urls += "?" + c.urlParams_.Encode()
  4613  	req, err := http.NewRequest("POST", urls, body)
  4614  	if err != nil {
  4615  		return nil, err
  4616  	}
  4617  	req.Header = reqHeaders
  4618  	googleapi.Expand(req.URL, map[string]string{
  4619  		"accountId":   c.accountId,
  4620  		"containerId": c.containerId,
  4621  	})
  4622  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4623  }
  4624  
  4625  // Do executes the "tagmanager.accounts.containers.triggers.create" call.
  4626  // Any non-2xx status code is an error. Response headers are in either
  4627  // *Trigger.ServerResponse.Header or (if a response was returned at all) in
  4628  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4629  // whether the returned error was because http.StatusNotModified was returned.
  4630  func (c *AccountsContainersTriggersCreateCall) Do(opts ...googleapi.CallOption) (*Trigger, error) {
  4631  	gensupport.SetOptions(c.urlParams_, opts...)
  4632  	res, err := c.doRequest("json")
  4633  	if res != nil && res.StatusCode == http.StatusNotModified {
  4634  		if res.Body != nil {
  4635  			res.Body.Close()
  4636  		}
  4637  		return nil, gensupport.WrapError(&googleapi.Error{
  4638  			Code:   res.StatusCode,
  4639  			Header: res.Header,
  4640  		})
  4641  	}
  4642  	if err != nil {
  4643  		return nil, err
  4644  	}
  4645  	defer googleapi.CloseBody(res)
  4646  	if err := googleapi.CheckResponse(res); err != nil {
  4647  		return nil, gensupport.WrapError(err)
  4648  	}
  4649  	ret := &Trigger{
  4650  		ServerResponse: googleapi.ServerResponse{
  4651  			Header:         res.Header,
  4652  			HTTPStatusCode: res.StatusCode,
  4653  		},
  4654  	}
  4655  	target := &ret
  4656  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4657  		return nil, err
  4658  	}
  4659  	return ret, nil
  4660  }
  4661  
  4662  type AccountsContainersTriggersDeleteCall struct {
  4663  	s           *Service
  4664  	accountId   string
  4665  	containerId string
  4666  	triggerId   string
  4667  	urlParams_  gensupport.URLParams
  4668  	ctx_        context.Context
  4669  	header_     http.Header
  4670  }
  4671  
  4672  // Delete: Deletes a GTM Trigger.
  4673  //
  4674  // - accountId: The GTM Account ID.
  4675  // - containerId: The GTM Container ID.
  4676  // - triggerId: The GTM Trigger ID.
  4677  func (r *AccountsContainersTriggersService) Delete(accountId string, containerId string, triggerId string) *AccountsContainersTriggersDeleteCall {
  4678  	c := &AccountsContainersTriggersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4679  	c.accountId = accountId
  4680  	c.containerId = containerId
  4681  	c.triggerId = triggerId
  4682  	return c
  4683  }
  4684  
  4685  // Fields allows partial responses to be retrieved. See
  4686  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4687  // details.
  4688  func (c *AccountsContainersTriggersDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersDeleteCall {
  4689  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4690  	return c
  4691  }
  4692  
  4693  // Context sets the context to be used in this call's Do method.
  4694  func (c *AccountsContainersTriggersDeleteCall) Context(ctx context.Context) *AccountsContainersTriggersDeleteCall {
  4695  	c.ctx_ = ctx
  4696  	return c
  4697  }
  4698  
  4699  // Header returns a http.Header that can be modified by the caller to add
  4700  // headers to the request.
  4701  func (c *AccountsContainersTriggersDeleteCall) Header() http.Header {
  4702  	if c.header_ == nil {
  4703  		c.header_ = make(http.Header)
  4704  	}
  4705  	return c.header_
  4706  }
  4707  
  4708  func (c *AccountsContainersTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
  4709  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4710  	var body io.Reader = nil
  4711  	c.urlParams_.Set("alt", alt)
  4712  	c.urlParams_.Set("prettyPrint", "false")
  4713  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
  4714  	urls += "?" + c.urlParams_.Encode()
  4715  	req, err := http.NewRequest("DELETE", urls, body)
  4716  	if err != nil {
  4717  		return nil, err
  4718  	}
  4719  	req.Header = reqHeaders
  4720  	googleapi.Expand(req.URL, map[string]string{
  4721  		"accountId":   c.accountId,
  4722  		"containerId": c.containerId,
  4723  		"triggerId":   c.triggerId,
  4724  	})
  4725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4726  }
  4727  
  4728  // Do executes the "tagmanager.accounts.containers.triggers.delete" call.
  4729  func (c *AccountsContainersTriggersDeleteCall) Do(opts ...googleapi.CallOption) error {
  4730  	gensupport.SetOptions(c.urlParams_, opts...)
  4731  	res, err := c.doRequest("json")
  4732  	if err != nil {
  4733  		return err
  4734  	}
  4735  	defer googleapi.CloseBody(res)
  4736  	if err := googleapi.CheckResponse(res); err != nil {
  4737  		return gensupport.WrapError(err)
  4738  	}
  4739  	return nil
  4740  }
  4741  
  4742  type AccountsContainersTriggersGetCall struct {
  4743  	s            *Service
  4744  	accountId    string
  4745  	containerId  string
  4746  	triggerId    string
  4747  	urlParams_   gensupport.URLParams
  4748  	ifNoneMatch_ string
  4749  	ctx_         context.Context
  4750  	header_      http.Header
  4751  }
  4752  
  4753  // Get: Gets a GTM Trigger.
  4754  //
  4755  // - accountId: The GTM Account ID.
  4756  // - containerId: The GTM Container ID.
  4757  // - triggerId: The GTM Trigger ID.
  4758  func (r *AccountsContainersTriggersService) Get(accountId string, containerId string, triggerId string) *AccountsContainersTriggersGetCall {
  4759  	c := &AccountsContainersTriggersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4760  	c.accountId = accountId
  4761  	c.containerId = containerId
  4762  	c.triggerId = triggerId
  4763  	return c
  4764  }
  4765  
  4766  // Fields allows partial responses to be retrieved. See
  4767  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4768  // details.
  4769  func (c *AccountsContainersTriggersGetCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersGetCall {
  4770  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4771  	return c
  4772  }
  4773  
  4774  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4775  // object's ETag matches the given value. This is useful for getting updates
  4776  // only after the object has changed since the last request.
  4777  func (c *AccountsContainersTriggersGetCall) IfNoneMatch(entityTag string) *AccountsContainersTriggersGetCall {
  4778  	c.ifNoneMatch_ = entityTag
  4779  	return c
  4780  }
  4781  
  4782  // Context sets the context to be used in this call's Do method.
  4783  func (c *AccountsContainersTriggersGetCall) Context(ctx context.Context) *AccountsContainersTriggersGetCall {
  4784  	c.ctx_ = ctx
  4785  	return c
  4786  }
  4787  
  4788  // Header returns a http.Header that can be modified by the caller to add
  4789  // headers to the request.
  4790  func (c *AccountsContainersTriggersGetCall) Header() http.Header {
  4791  	if c.header_ == nil {
  4792  		c.header_ = make(http.Header)
  4793  	}
  4794  	return c.header_
  4795  }
  4796  
  4797  func (c *AccountsContainersTriggersGetCall) doRequest(alt string) (*http.Response, error) {
  4798  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4799  	if c.ifNoneMatch_ != "" {
  4800  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4801  	}
  4802  	var body io.Reader = nil
  4803  	c.urlParams_.Set("alt", alt)
  4804  	c.urlParams_.Set("prettyPrint", "false")
  4805  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
  4806  	urls += "?" + c.urlParams_.Encode()
  4807  	req, err := http.NewRequest("GET", urls, body)
  4808  	if err != nil {
  4809  		return nil, err
  4810  	}
  4811  	req.Header = reqHeaders
  4812  	googleapi.Expand(req.URL, map[string]string{
  4813  		"accountId":   c.accountId,
  4814  		"containerId": c.containerId,
  4815  		"triggerId":   c.triggerId,
  4816  	})
  4817  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4818  }
  4819  
  4820  // Do executes the "tagmanager.accounts.containers.triggers.get" call.
  4821  // Any non-2xx status code is an error. Response headers are in either
  4822  // *Trigger.ServerResponse.Header or (if a response was returned at all) in
  4823  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4824  // whether the returned error was because http.StatusNotModified was returned.
  4825  func (c *AccountsContainersTriggersGetCall) Do(opts ...googleapi.CallOption) (*Trigger, error) {
  4826  	gensupport.SetOptions(c.urlParams_, opts...)
  4827  	res, err := c.doRequest("json")
  4828  	if res != nil && res.StatusCode == http.StatusNotModified {
  4829  		if res.Body != nil {
  4830  			res.Body.Close()
  4831  		}
  4832  		return nil, gensupport.WrapError(&googleapi.Error{
  4833  			Code:   res.StatusCode,
  4834  			Header: res.Header,
  4835  		})
  4836  	}
  4837  	if err != nil {
  4838  		return nil, err
  4839  	}
  4840  	defer googleapi.CloseBody(res)
  4841  	if err := googleapi.CheckResponse(res); err != nil {
  4842  		return nil, gensupport.WrapError(err)
  4843  	}
  4844  	ret := &Trigger{
  4845  		ServerResponse: googleapi.ServerResponse{
  4846  			Header:         res.Header,
  4847  			HTTPStatusCode: res.StatusCode,
  4848  		},
  4849  	}
  4850  	target := &ret
  4851  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4852  		return nil, err
  4853  	}
  4854  	return ret, nil
  4855  }
  4856  
  4857  type AccountsContainersTriggersListCall struct {
  4858  	s            *Service
  4859  	accountId    string
  4860  	containerId  string
  4861  	urlParams_   gensupport.URLParams
  4862  	ifNoneMatch_ string
  4863  	ctx_         context.Context
  4864  	header_      http.Header
  4865  }
  4866  
  4867  // List: Lists all GTM Triggers of a Container.
  4868  //
  4869  // - accountId: The GTM Account ID.
  4870  // - containerId: The GTM Container ID.
  4871  func (r *AccountsContainersTriggersService) List(accountId string, containerId string) *AccountsContainersTriggersListCall {
  4872  	c := &AccountsContainersTriggersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4873  	c.accountId = accountId
  4874  	c.containerId = containerId
  4875  	return c
  4876  }
  4877  
  4878  // Fields allows partial responses to be retrieved. See
  4879  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4880  // details.
  4881  func (c *AccountsContainersTriggersListCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersListCall {
  4882  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4883  	return c
  4884  }
  4885  
  4886  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4887  // object's ETag matches the given value. This is useful for getting updates
  4888  // only after the object has changed since the last request.
  4889  func (c *AccountsContainersTriggersListCall) IfNoneMatch(entityTag string) *AccountsContainersTriggersListCall {
  4890  	c.ifNoneMatch_ = entityTag
  4891  	return c
  4892  }
  4893  
  4894  // Context sets the context to be used in this call's Do method.
  4895  func (c *AccountsContainersTriggersListCall) Context(ctx context.Context) *AccountsContainersTriggersListCall {
  4896  	c.ctx_ = ctx
  4897  	return c
  4898  }
  4899  
  4900  // Header returns a http.Header that can be modified by the caller to add
  4901  // headers to the request.
  4902  func (c *AccountsContainersTriggersListCall) Header() http.Header {
  4903  	if c.header_ == nil {
  4904  		c.header_ = make(http.Header)
  4905  	}
  4906  	return c.header_
  4907  }
  4908  
  4909  func (c *AccountsContainersTriggersListCall) doRequest(alt string) (*http.Response, error) {
  4910  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4911  	if c.ifNoneMatch_ != "" {
  4912  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4913  	}
  4914  	var body io.Reader = nil
  4915  	c.urlParams_.Set("alt", alt)
  4916  	c.urlParams_.Set("prettyPrint", "false")
  4917  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers")
  4918  	urls += "?" + c.urlParams_.Encode()
  4919  	req, err := http.NewRequest("GET", urls, body)
  4920  	if err != nil {
  4921  		return nil, err
  4922  	}
  4923  	req.Header = reqHeaders
  4924  	googleapi.Expand(req.URL, map[string]string{
  4925  		"accountId":   c.accountId,
  4926  		"containerId": c.containerId,
  4927  	})
  4928  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4929  }
  4930  
  4931  // Do executes the "tagmanager.accounts.containers.triggers.list" call.
  4932  // Any non-2xx status code is an error. Response headers are in either
  4933  // *ListTriggersResponse.ServerResponse.Header or (if a response was returned
  4934  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4935  // check whether the returned error was because http.StatusNotModified was
  4936  // returned.
  4937  func (c *AccountsContainersTriggersListCall) Do(opts ...googleapi.CallOption) (*ListTriggersResponse, error) {
  4938  	gensupport.SetOptions(c.urlParams_, opts...)
  4939  	res, err := c.doRequest("json")
  4940  	if res != nil && res.StatusCode == http.StatusNotModified {
  4941  		if res.Body != nil {
  4942  			res.Body.Close()
  4943  		}
  4944  		return nil, gensupport.WrapError(&googleapi.Error{
  4945  			Code:   res.StatusCode,
  4946  			Header: res.Header,
  4947  		})
  4948  	}
  4949  	if err != nil {
  4950  		return nil, err
  4951  	}
  4952  	defer googleapi.CloseBody(res)
  4953  	if err := googleapi.CheckResponse(res); err != nil {
  4954  		return nil, gensupport.WrapError(err)
  4955  	}
  4956  	ret := &ListTriggersResponse{
  4957  		ServerResponse: googleapi.ServerResponse{
  4958  			Header:         res.Header,
  4959  			HTTPStatusCode: res.StatusCode,
  4960  		},
  4961  	}
  4962  	target := &ret
  4963  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4964  		return nil, err
  4965  	}
  4966  	return ret, nil
  4967  }
  4968  
  4969  type AccountsContainersTriggersUpdateCall struct {
  4970  	s           *Service
  4971  	accountId   string
  4972  	containerId string
  4973  	triggerId   string
  4974  	trigger     *Trigger
  4975  	urlParams_  gensupport.URLParams
  4976  	ctx_        context.Context
  4977  	header_     http.Header
  4978  }
  4979  
  4980  // Update: Updates a GTM Trigger.
  4981  //
  4982  // - accountId: The GTM Account ID.
  4983  // - containerId: The GTM Container ID.
  4984  // - triggerId: The GTM Trigger ID.
  4985  func (r *AccountsContainersTriggersService) Update(accountId string, containerId string, triggerId string, trigger *Trigger) *AccountsContainersTriggersUpdateCall {
  4986  	c := &AccountsContainersTriggersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4987  	c.accountId = accountId
  4988  	c.containerId = containerId
  4989  	c.triggerId = triggerId
  4990  	c.trigger = trigger
  4991  	return c
  4992  }
  4993  
  4994  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  4995  // fingerprint must match the fingerprint of the trigger in storage.
  4996  func (c *AccountsContainersTriggersUpdateCall) Fingerprint(fingerprint string) *AccountsContainersTriggersUpdateCall {
  4997  	c.urlParams_.Set("fingerprint", fingerprint)
  4998  	return c
  4999  }
  5000  
  5001  // Fields allows partial responses to be retrieved. See
  5002  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5003  // details.
  5004  func (c *AccountsContainersTriggersUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersTriggersUpdateCall {
  5005  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5006  	return c
  5007  }
  5008  
  5009  // Context sets the context to be used in this call's Do method.
  5010  func (c *AccountsContainersTriggersUpdateCall) Context(ctx context.Context) *AccountsContainersTriggersUpdateCall {
  5011  	c.ctx_ = ctx
  5012  	return c
  5013  }
  5014  
  5015  // Header returns a http.Header that can be modified by the caller to add
  5016  // headers to the request.
  5017  func (c *AccountsContainersTriggersUpdateCall) Header() http.Header {
  5018  	if c.header_ == nil {
  5019  		c.header_ = make(http.Header)
  5020  	}
  5021  	return c.header_
  5022  }
  5023  
  5024  func (c *AccountsContainersTriggersUpdateCall) doRequest(alt string) (*http.Response, error) {
  5025  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5026  	var body io.Reader = nil
  5027  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.trigger)
  5028  	if err != nil {
  5029  		return nil, err
  5030  	}
  5031  	c.urlParams_.Set("alt", alt)
  5032  	c.urlParams_.Set("prettyPrint", "false")
  5033  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}")
  5034  	urls += "?" + c.urlParams_.Encode()
  5035  	req, err := http.NewRequest("PUT", urls, body)
  5036  	if err != nil {
  5037  		return nil, err
  5038  	}
  5039  	req.Header = reqHeaders
  5040  	googleapi.Expand(req.URL, map[string]string{
  5041  		"accountId":   c.accountId,
  5042  		"containerId": c.containerId,
  5043  		"triggerId":   c.triggerId,
  5044  	})
  5045  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5046  }
  5047  
  5048  // Do executes the "tagmanager.accounts.containers.triggers.update" call.
  5049  // Any non-2xx status code is an error. Response headers are in either
  5050  // *Trigger.ServerResponse.Header or (if a response was returned at all) in
  5051  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5052  // whether the returned error was because http.StatusNotModified was returned.
  5053  func (c *AccountsContainersTriggersUpdateCall) Do(opts ...googleapi.CallOption) (*Trigger, error) {
  5054  	gensupport.SetOptions(c.urlParams_, opts...)
  5055  	res, err := c.doRequest("json")
  5056  	if res != nil && res.StatusCode == http.StatusNotModified {
  5057  		if res.Body != nil {
  5058  			res.Body.Close()
  5059  		}
  5060  		return nil, gensupport.WrapError(&googleapi.Error{
  5061  			Code:   res.StatusCode,
  5062  			Header: res.Header,
  5063  		})
  5064  	}
  5065  	if err != nil {
  5066  		return nil, err
  5067  	}
  5068  	defer googleapi.CloseBody(res)
  5069  	if err := googleapi.CheckResponse(res); err != nil {
  5070  		return nil, gensupport.WrapError(err)
  5071  	}
  5072  	ret := &Trigger{
  5073  		ServerResponse: googleapi.ServerResponse{
  5074  			Header:         res.Header,
  5075  			HTTPStatusCode: res.StatusCode,
  5076  		},
  5077  	}
  5078  	target := &ret
  5079  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5080  		return nil, err
  5081  	}
  5082  	return ret, nil
  5083  }
  5084  
  5085  type AccountsContainersVariablesCreateCall struct {
  5086  	s           *Service
  5087  	accountId   string
  5088  	containerId string
  5089  	variable    *Variable
  5090  	urlParams_  gensupport.URLParams
  5091  	ctx_        context.Context
  5092  	header_     http.Header
  5093  }
  5094  
  5095  // Create: Creates a GTM Variable.
  5096  //
  5097  // - accountId: The GTM Account ID.
  5098  // - containerId: The GTM Container ID.
  5099  func (r *AccountsContainersVariablesService) Create(accountId string, containerId string, variable *Variable) *AccountsContainersVariablesCreateCall {
  5100  	c := &AccountsContainersVariablesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5101  	c.accountId = accountId
  5102  	c.containerId = containerId
  5103  	c.variable = variable
  5104  	return c
  5105  }
  5106  
  5107  // Fields allows partial responses to be retrieved. See
  5108  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5109  // details.
  5110  func (c *AccountsContainersVariablesCreateCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesCreateCall {
  5111  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5112  	return c
  5113  }
  5114  
  5115  // Context sets the context to be used in this call's Do method.
  5116  func (c *AccountsContainersVariablesCreateCall) Context(ctx context.Context) *AccountsContainersVariablesCreateCall {
  5117  	c.ctx_ = ctx
  5118  	return c
  5119  }
  5120  
  5121  // Header returns a http.Header that can be modified by the caller to add
  5122  // headers to the request.
  5123  func (c *AccountsContainersVariablesCreateCall) Header() http.Header {
  5124  	if c.header_ == nil {
  5125  		c.header_ = make(http.Header)
  5126  	}
  5127  	return c.header_
  5128  }
  5129  
  5130  func (c *AccountsContainersVariablesCreateCall) doRequest(alt string) (*http.Response, error) {
  5131  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5132  	var body io.Reader = nil
  5133  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.variable)
  5134  	if err != nil {
  5135  		return nil, err
  5136  	}
  5137  	c.urlParams_.Set("alt", alt)
  5138  	c.urlParams_.Set("prettyPrint", "false")
  5139  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables")
  5140  	urls += "?" + c.urlParams_.Encode()
  5141  	req, err := http.NewRequest("POST", urls, body)
  5142  	if err != nil {
  5143  		return nil, err
  5144  	}
  5145  	req.Header = reqHeaders
  5146  	googleapi.Expand(req.URL, map[string]string{
  5147  		"accountId":   c.accountId,
  5148  		"containerId": c.containerId,
  5149  	})
  5150  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5151  }
  5152  
  5153  // Do executes the "tagmanager.accounts.containers.variables.create" call.
  5154  // Any non-2xx status code is an error. Response headers are in either
  5155  // *Variable.ServerResponse.Header or (if a response was returned at all) in
  5156  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5157  // whether the returned error was because http.StatusNotModified was returned.
  5158  func (c *AccountsContainersVariablesCreateCall) Do(opts ...googleapi.CallOption) (*Variable, error) {
  5159  	gensupport.SetOptions(c.urlParams_, opts...)
  5160  	res, err := c.doRequest("json")
  5161  	if res != nil && res.StatusCode == http.StatusNotModified {
  5162  		if res.Body != nil {
  5163  			res.Body.Close()
  5164  		}
  5165  		return nil, gensupport.WrapError(&googleapi.Error{
  5166  			Code:   res.StatusCode,
  5167  			Header: res.Header,
  5168  		})
  5169  	}
  5170  	if err != nil {
  5171  		return nil, err
  5172  	}
  5173  	defer googleapi.CloseBody(res)
  5174  	if err := googleapi.CheckResponse(res); err != nil {
  5175  		return nil, gensupport.WrapError(err)
  5176  	}
  5177  	ret := &Variable{
  5178  		ServerResponse: googleapi.ServerResponse{
  5179  			Header:         res.Header,
  5180  			HTTPStatusCode: res.StatusCode,
  5181  		},
  5182  	}
  5183  	target := &ret
  5184  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5185  		return nil, err
  5186  	}
  5187  	return ret, nil
  5188  }
  5189  
  5190  type AccountsContainersVariablesDeleteCall struct {
  5191  	s           *Service
  5192  	accountId   string
  5193  	containerId string
  5194  	variableId  string
  5195  	urlParams_  gensupport.URLParams
  5196  	ctx_        context.Context
  5197  	header_     http.Header
  5198  }
  5199  
  5200  // Delete: Deletes a GTM Variable.
  5201  //
  5202  // - accountId: The GTM Account ID.
  5203  // - containerId: The GTM Container ID.
  5204  // - variableId: The GTM Variable ID.
  5205  func (r *AccountsContainersVariablesService) Delete(accountId string, containerId string, variableId string) *AccountsContainersVariablesDeleteCall {
  5206  	c := &AccountsContainersVariablesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5207  	c.accountId = accountId
  5208  	c.containerId = containerId
  5209  	c.variableId = variableId
  5210  	return c
  5211  }
  5212  
  5213  // Fields allows partial responses to be retrieved. See
  5214  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5215  // details.
  5216  func (c *AccountsContainersVariablesDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesDeleteCall {
  5217  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5218  	return c
  5219  }
  5220  
  5221  // Context sets the context to be used in this call's Do method.
  5222  func (c *AccountsContainersVariablesDeleteCall) Context(ctx context.Context) *AccountsContainersVariablesDeleteCall {
  5223  	c.ctx_ = ctx
  5224  	return c
  5225  }
  5226  
  5227  // Header returns a http.Header that can be modified by the caller to add
  5228  // headers to the request.
  5229  func (c *AccountsContainersVariablesDeleteCall) Header() http.Header {
  5230  	if c.header_ == nil {
  5231  		c.header_ = make(http.Header)
  5232  	}
  5233  	return c.header_
  5234  }
  5235  
  5236  func (c *AccountsContainersVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
  5237  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5238  	var body io.Reader = nil
  5239  	c.urlParams_.Set("alt", alt)
  5240  	c.urlParams_.Set("prettyPrint", "false")
  5241  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}")
  5242  	urls += "?" + c.urlParams_.Encode()
  5243  	req, err := http.NewRequest("DELETE", urls, body)
  5244  	if err != nil {
  5245  		return nil, err
  5246  	}
  5247  	req.Header = reqHeaders
  5248  	googleapi.Expand(req.URL, map[string]string{
  5249  		"accountId":   c.accountId,
  5250  		"containerId": c.containerId,
  5251  		"variableId":  c.variableId,
  5252  	})
  5253  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5254  }
  5255  
  5256  // Do executes the "tagmanager.accounts.containers.variables.delete" call.
  5257  func (c *AccountsContainersVariablesDeleteCall) Do(opts ...googleapi.CallOption) error {
  5258  	gensupport.SetOptions(c.urlParams_, opts...)
  5259  	res, err := c.doRequest("json")
  5260  	if err != nil {
  5261  		return err
  5262  	}
  5263  	defer googleapi.CloseBody(res)
  5264  	if err := googleapi.CheckResponse(res); err != nil {
  5265  		return gensupport.WrapError(err)
  5266  	}
  5267  	return nil
  5268  }
  5269  
  5270  type AccountsContainersVariablesGetCall struct {
  5271  	s            *Service
  5272  	accountId    string
  5273  	containerId  string
  5274  	variableId   string
  5275  	urlParams_   gensupport.URLParams
  5276  	ifNoneMatch_ string
  5277  	ctx_         context.Context
  5278  	header_      http.Header
  5279  }
  5280  
  5281  // Get: Gets a GTM Variable.
  5282  //
  5283  // - accountId: The GTM Account ID.
  5284  // - containerId: The GTM Container ID.
  5285  // - variableId: The GTM Variable ID.
  5286  func (r *AccountsContainersVariablesService) Get(accountId string, containerId string, variableId string) *AccountsContainersVariablesGetCall {
  5287  	c := &AccountsContainersVariablesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5288  	c.accountId = accountId
  5289  	c.containerId = containerId
  5290  	c.variableId = variableId
  5291  	return c
  5292  }
  5293  
  5294  // Fields allows partial responses to be retrieved. See
  5295  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5296  // details.
  5297  func (c *AccountsContainersVariablesGetCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesGetCall {
  5298  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5299  	return c
  5300  }
  5301  
  5302  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5303  // object's ETag matches the given value. This is useful for getting updates
  5304  // only after the object has changed since the last request.
  5305  func (c *AccountsContainersVariablesGetCall) IfNoneMatch(entityTag string) *AccountsContainersVariablesGetCall {
  5306  	c.ifNoneMatch_ = entityTag
  5307  	return c
  5308  }
  5309  
  5310  // Context sets the context to be used in this call's Do method.
  5311  func (c *AccountsContainersVariablesGetCall) Context(ctx context.Context) *AccountsContainersVariablesGetCall {
  5312  	c.ctx_ = ctx
  5313  	return c
  5314  }
  5315  
  5316  // Header returns a http.Header that can be modified by the caller to add
  5317  // headers to the request.
  5318  func (c *AccountsContainersVariablesGetCall) Header() http.Header {
  5319  	if c.header_ == nil {
  5320  		c.header_ = make(http.Header)
  5321  	}
  5322  	return c.header_
  5323  }
  5324  
  5325  func (c *AccountsContainersVariablesGetCall) doRequest(alt string) (*http.Response, error) {
  5326  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5327  	if c.ifNoneMatch_ != "" {
  5328  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5329  	}
  5330  	var body io.Reader = nil
  5331  	c.urlParams_.Set("alt", alt)
  5332  	c.urlParams_.Set("prettyPrint", "false")
  5333  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}")
  5334  	urls += "?" + c.urlParams_.Encode()
  5335  	req, err := http.NewRequest("GET", urls, body)
  5336  	if err != nil {
  5337  		return nil, err
  5338  	}
  5339  	req.Header = reqHeaders
  5340  	googleapi.Expand(req.URL, map[string]string{
  5341  		"accountId":   c.accountId,
  5342  		"containerId": c.containerId,
  5343  		"variableId":  c.variableId,
  5344  	})
  5345  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5346  }
  5347  
  5348  // Do executes the "tagmanager.accounts.containers.variables.get" call.
  5349  // Any non-2xx status code is an error. Response headers are in either
  5350  // *Variable.ServerResponse.Header or (if a response was returned at all) in
  5351  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5352  // whether the returned error was because http.StatusNotModified was returned.
  5353  func (c *AccountsContainersVariablesGetCall) Do(opts ...googleapi.CallOption) (*Variable, error) {
  5354  	gensupport.SetOptions(c.urlParams_, opts...)
  5355  	res, err := c.doRequest("json")
  5356  	if res != nil && res.StatusCode == http.StatusNotModified {
  5357  		if res.Body != nil {
  5358  			res.Body.Close()
  5359  		}
  5360  		return nil, gensupport.WrapError(&googleapi.Error{
  5361  			Code:   res.StatusCode,
  5362  			Header: res.Header,
  5363  		})
  5364  	}
  5365  	if err != nil {
  5366  		return nil, err
  5367  	}
  5368  	defer googleapi.CloseBody(res)
  5369  	if err := googleapi.CheckResponse(res); err != nil {
  5370  		return nil, gensupport.WrapError(err)
  5371  	}
  5372  	ret := &Variable{
  5373  		ServerResponse: googleapi.ServerResponse{
  5374  			Header:         res.Header,
  5375  			HTTPStatusCode: res.StatusCode,
  5376  		},
  5377  	}
  5378  	target := &ret
  5379  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5380  		return nil, err
  5381  	}
  5382  	return ret, nil
  5383  }
  5384  
  5385  type AccountsContainersVariablesListCall struct {
  5386  	s            *Service
  5387  	accountId    string
  5388  	containerId  string
  5389  	urlParams_   gensupport.URLParams
  5390  	ifNoneMatch_ string
  5391  	ctx_         context.Context
  5392  	header_      http.Header
  5393  }
  5394  
  5395  // List: Lists all GTM Variables of a Container.
  5396  //
  5397  // - accountId: The GTM Account ID.
  5398  // - containerId: The GTM Container ID.
  5399  func (r *AccountsContainersVariablesService) List(accountId string, containerId string) *AccountsContainersVariablesListCall {
  5400  	c := &AccountsContainersVariablesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5401  	c.accountId = accountId
  5402  	c.containerId = containerId
  5403  	return c
  5404  }
  5405  
  5406  // Fields allows partial responses to be retrieved. See
  5407  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5408  // details.
  5409  func (c *AccountsContainersVariablesListCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesListCall {
  5410  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5411  	return c
  5412  }
  5413  
  5414  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5415  // object's ETag matches the given value. This is useful for getting updates
  5416  // only after the object has changed since the last request.
  5417  func (c *AccountsContainersVariablesListCall) IfNoneMatch(entityTag string) *AccountsContainersVariablesListCall {
  5418  	c.ifNoneMatch_ = entityTag
  5419  	return c
  5420  }
  5421  
  5422  // Context sets the context to be used in this call's Do method.
  5423  func (c *AccountsContainersVariablesListCall) Context(ctx context.Context) *AccountsContainersVariablesListCall {
  5424  	c.ctx_ = ctx
  5425  	return c
  5426  }
  5427  
  5428  // Header returns a http.Header that can be modified by the caller to add
  5429  // headers to the request.
  5430  func (c *AccountsContainersVariablesListCall) Header() http.Header {
  5431  	if c.header_ == nil {
  5432  		c.header_ = make(http.Header)
  5433  	}
  5434  	return c.header_
  5435  }
  5436  
  5437  func (c *AccountsContainersVariablesListCall) doRequest(alt string) (*http.Response, error) {
  5438  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5439  	if c.ifNoneMatch_ != "" {
  5440  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5441  	}
  5442  	var body io.Reader = nil
  5443  	c.urlParams_.Set("alt", alt)
  5444  	c.urlParams_.Set("prettyPrint", "false")
  5445  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables")
  5446  	urls += "?" + c.urlParams_.Encode()
  5447  	req, err := http.NewRequest("GET", urls, body)
  5448  	if err != nil {
  5449  		return nil, err
  5450  	}
  5451  	req.Header = reqHeaders
  5452  	googleapi.Expand(req.URL, map[string]string{
  5453  		"accountId":   c.accountId,
  5454  		"containerId": c.containerId,
  5455  	})
  5456  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5457  }
  5458  
  5459  // Do executes the "tagmanager.accounts.containers.variables.list" call.
  5460  // Any non-2xx status code is an error. Response headers are in either
  5461  // *ListVariablesResponse.ServerResponse.Header or (if a response was returned
  5462  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5463  // check whether the returned error was because http.StatusNotModified was
  5464  // returned.
  5465  func (c *AccountsContainersVariablesListCall) Do(opts ...googleapi.CallOption) (*ListVariablesResponse, error) {
  5466  	gensupport.SetOptions(c.urlParams_, opts...)
  5467  	res, err := c.doRequest("json")
  5468  	if res != nil && res.StatusCode == http.StatusNotModified {
  5469  		if res.Body != nil {
  5470  			res.Body.Close()
  5471  		}
  5472  		return nil, gensupport.WrapError(&googleapi.Error{
  5473  			Code:   res.StatusCode,
  5474  			Header: res.Header,
  5475  		})
  5476  	}
  5477  	if err != nil {
  5478  		return nil, err
  5479  	}
  5480  	defer googleapi.CloseBody(res)
  5481  	if err := googleapi.CheckResponse(res); err != nil {
  5482  		return nil, gensupport.WrapError(err)
  5483  	}
  5484  	ret := &ListVariablesResponse{
  5485  		ServerResponse: googleapi.ServerResponse{
  5486  			Header:         res.Header,
  5487  			HTTPStatusCode: res.StatusCode,
  5488  		},
  5489  	}
  5490  	target := &ret
  5491  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5492  		return nil, err
  5493  	}
  5494  	return ret, nil
  5495  }
  5496  
  5497  type AccountsContainersVariablesUpdateCall struct {
  5498  	s           *Service
  5499  	accountId   string
  5500  	containerId string
  5501  	variableId  string
  5502  	variable    *Variable
  5503  	urlParams_  gensupport.URLParams
  5504  	ctx_        context.Context
  5505  	header_     http.Header
  5506  }
  5507  
  5508  // Update: Updates a GTM Variable.
  5509  //
  5510  // - accountId: The GTM Account ID.
  5511  // - containerId: The GTM Container ID.
  5512  // - variableId: The GTM Variable ID.
  5513  func (r *AccountsContainersVariablesService) Update(accountId string, containerId string, variableId string, variable *Variable) *AccountsContainersVariablesUpdateCall {
  5514  	c := &AccountsContainersVariablesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5515  	c.accountId = accountId
  5516  	c.containerId = containerId
  5517  	c.variableId = variableId
  5518  	c.variable = variable
  5519  	return c
  5520  }
  5521  
  5522  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  5523  // fingerprint must match the fingerprint of the variable in storage.
  5524  func (c *AccountsContainersVariablesUpdateCall) Fingerprint(fingerprint string) *AccountsContainersVariablesUpdateCall {
  5525  	c.urlParams_.Set("fingerprint", fingerprint)
  5526  	return c
  5527  }
  5528  
  5529  // Fields allows partial responses to be retrieved. See
  5530  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5531  // details.
  5532  func (c *AccountsContainersVariablesUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersVariablesUpdateCall {
  5533  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5534  	return c
  5535  }
  5536  
  5537  // Context sets the context to be used in this call's Do method.
  5538  func (c *AccountsContainersVariablesUpdateCall) Context(ctx context.Context) *AccountsContainersVariablesUpdateCall {
  5539  	c.ctx_ = ctx
  5540  	return c
  5541  }
  5542  
  5543  // Header returns a http.Header that can be modified by the caller to add
  5544  // headers to the request.
  5545  func (c *AccountsContainersVariablesUpdateCall) Header() http.Header {
  5546  	if c.header_ == nil {
  5547  		c.header_ = make(http.Header)
  5548  	}
  5549  	return c.header_
  5550  }
  5551  
  5552  func (c *AccountsContainersVariablesUpdateCall) doRequest(alt string) (*http.Response, error) {
  5553  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5554  	var body io.Reader = nil
  5555  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.variable)
  5556  	if err != nil {
  5557  		return nil, err
  5558  	}
  5559  	c.urlParams_.Set("alt", alt)
  5560  	c.urlParams_.Set("prettyPrint", "false")
  5561  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}")
  5562  	urls += "?" + c.urlParams_.Encode()
  5563  	req, err := http.NewRequest("PUT", urls, body)
  5564  	if err != nil {
  5565  		return nil, err
  5566  	}
  5567  	req.Header = reqHeaders
  5568  	googleapi.Expand(req.URL, map[string]string{
  5569  		"accountId":   c.accountId,
  5570  		"containerId": c.containerId,
  5571  		"variableId":  c.variableId,
  5572  	})
  5573  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5574  }
  5575  
  5576  // Do executes the "tagmanager.accounts.containers.variables.update" call.
  5577  // Any non-2xx status code is an error. Response headers are in either
  5578  // *Variable.ServerResponse.Header or (if a response was returned at all) in
  5579  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5580  // whether the returned error was because http.StatusNotModified was returned.
  5581  func (c *AccountsContainersVariablesUpdateCall) Do(opts ...googleapi.CallOption) (*Variable, error) {
  5582  	gensupport.SetOptions(c.urlParams_, opts...)
  5583  	res, err := c.doRequest("json")
  5584  	if res != nil && res.StatusCode == http.StatusNotModified {
  5585  		if res.Body != nil {
  5586  			res.Body.Close()
  5587  		}
  5588  		return nil, gensupport.WrapError(&googleapi.Error{
  5589  			Code:   res.StatusCode,
  5590  			Header: res.Header,
  5591  		})
  5592  	}
  5593  	if err != nil {
  5594  		return nil, err
  5595  	}
  5596  	defer googleapi.CloseBody(res)
  5597  	if err := googleapi.CheckResponse(res); err != nil {
  5598  		return nil, gensupport.WrapError(err)
  5599  	}
  5600  	ret := &Variable{
  5601  		ServerResponse: googleapi.ServerResponse{
  5602  			Header:         res.Header,
  5603  			HTTPStatusCode: res.StatusCode,
  5604  		},
  5605  	}
  5606  	target := &ret
  5607  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5608  		return nil, err
  5609  	}
  5610  	return ret, nil
  5611  }
  5612  
  5613  type AccountsContainersVersionsCreateCall struct {
  5614  	s                                           *Service
  5615  	accountId                                   string
  5616  	containerId                                 string
  5617  	createcontainerversionrequestversionoptions *CreateContainerVersionRequestVersionOptions
  5618  	urlParams_                                  gensupport.URLParams
  5619  	ctx_                                        context.Context
  5620  	header_                                     http.Header
  5621  }
  5622  
  5623  // Create: Creates a Container Version.
  5624  //
  5625  // - accountId: The GTM Account ID.
  5626  // - containerId: The GTM Container ID.
  5627  func (r *AccountsContainersVersionsService) Create(accountId string, containerId string, createcontainerversionrequestversionoptions *CreateContainerVersionRequestVersionOptions) *AccountsContainersVersionsCreateCall {
  5628  	c := &AccountsContainersVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5629  	c.accountId = accountId
  5630  	c.containerId = containerId
  5631  	c.createcontainerversionrequestversionoptions = createcontainerversionrequestversionoptions
  5632  	return c
  5633  }
  5634  
  5635  // Fields allows partial responses to be retrieved. See
  5636  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5637  // details.
  5638  func (c *AccountsContainersVersionsCreateCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsCreateCall {
  5639  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5640  	return c
  5641  }
  5642  
  5643  // Context sets the context to be used in this call's Do method.
  5644  func (c *AccountsContainersVersionsCreateCall) Context(ctx context.Context) *AccountsContainersVersionsCreateCall {
  5645  	c.ctx_ = ctx
  5646  	return c
  5647  }
  5648  
  5649  // Header returns a http.Header that can be modified by the caller to add
  5650  // headers to the request.
  5651  func (c *AccountsContainersVersionsCreateCall) Header() http.Header {
  5652  	if c.header_ == nil {
  5653  		c.header_ = make(http.Header)
  5654  	}
  5655  	return c.header_
  5656  }
  5657  
  5658  func (c *AccountsContainersVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
  5659  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5660  	var body io.Reader = nil
  5661  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createcontainerversionrequestversionoptions)
  5662  	if err != nil {
  5663  		return nil, err
  5664  	}
  5665  	c.urlParams_.Set("alt", alt)
  5666  	c.urlParams_.Set("prettyPrint", "false")
  5667  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions")
  5668  	urls += "?" + c.urlParams_.Encode()
  5669  	req, err := http.NewRequest("POST", urls, body)
  5670  	if err != nil {
  5671  		return nil, err
  5672  	}
  5673  	req.Header = reqHeaders
  5674  	googleapi.Expand(req.URL, map[string]string{
  5675  		"accountId":   c.accountId,
  5676  		"containerId": c.containerId,
  5677  	})
  5678  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5679  }
  5680  
  5681  // Do executes the "tagmanager.accounts.containers.versions.create" call.
  5682  // Any non-2xx status code is an error. Response headers are in either
  5683  // *CreateContainerVersionResponse.ServerResponse.Header or (if a response was
  5684  // returned at all) in error.(*googleapi.Error).Header. Use
  5685  // googleapi.IsNotModified to check whether the returned error was because
  5686  // http.StatusNotModified was returned.
  5687  func (c *AccountsContainersVersionsCreateCall) Do(opts ...googleapi.CallOption) (*CreateContainerVersionResponse, error) {
  5688  	gensupport.SetOptions(c.urlParams_, opts...)
  5689  	res, err := c.doRequest("json")
  5690  	if res != nil && res.StatusCode == http.StatusNotModified {
  5691  		if res.Body != nil {
  5692  			res.Body.Close()
  5693  		}
  5694  		return nil, gensupport.WrapError(&googleapi.Error{
  5695  			Code:   res.StatusCode,
  5696  			Header: res.Header,
  5697  		})
  5698  	}
  5699  	if err != nil {
  5700  		return nil, err
  5701  	}
  5702  	defer googleapi.CloseBody(res)
  5703  	if err := googleapi.CheckResponse(res); err != nil {
  5704  		return nil, gensupport.WrapError(err)
  5705  	}
  5706  	ret := &CreateContainerVersionResponse{
  5707  		ServerResponse: googleapi.ServerResponse{
  5708  			Header:         res.Header,
  5709  			HTTPStatusCode: res.StatusCode,
  5710  		},
  5711  	}
  5712  	target := &ret
  5713  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5714  		return nil, err
  5715  	}
  5716  	return ret, nil
  5717  }
  5718  
  5719  type AccountsContainersVersionsDeleteCall struct {
  5720  	s                  *Service
  5721  	accountId          string
  5722  	containerId        string
  5723  	containerVersionId string
  5724  	urlParams_         gensupport.URLParams
  5725  	ctx_               context.Context
  5726  	header_            http.Header
  5727  }
  5728  
  5729  // Delete: Deletes a Container Version.
  5730  //
  5731  // - accountId: The GTM Account ID.
  5732  // - containerId: The GTM Container ID.
  5733  // - containerVersionId: The GTM Container Version ID.
  5734  func (r *AccountsContainersVersionsService) Delete(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsDeleteCall {
  5735  	c := &AccountsContainersVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5736  	c.accountId = accountId
  5737  	c.containerId = containerId
  5738  	c.containerVersionId = containerVersionId
  5739  	return c
  5740  }
  5741  
  5742  // Fields allows partial responses to be retrieved. See
  5743  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5744  // details.
  5745  func (c *AccountsContainersVersionsDeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsDeleteCall {
  5746  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5747  	return c
  5748  }
  5749  
  5750  // Context sets the context to be used in this call's Do method.
  5751  func (c *AccountsContainersVersionsDeleteCall) Context(ctx context.Context) *AccountsContainersVersionsDeleteCall {
  5752  	c.ctx_ = ctx
  5753  	return c
  5754  }
  5755  
  5756  // Header returns a http.Header that can be modified by the caller to add
  5757  // headers to the request.
  5758  func (c *AccountsContainersVersionsDeleteCall) Header() http.Header {
  5759  	if c.header_ == nil {
  5760  		c.header_ = make(http.Header)
  5761  	}
  5762  	return c.header_
  5763  }
  5764  
  5765  func (c *AccountsContainersVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
  5766  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5767  	var body io.Reader = nil
  5768  	c.urlParams_.Set("alt", alt)
  5769  	c.urlParams_.Set("prettyPrint", "false")
  5770  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
  5771  	urls += "?" + c.urlParams_.Encode()
  5772  	req, err := http.NewRequest("DELETE", urls, body)
  5773  	if err != nil {
  5774  		return nil, err
  5775  	}
  5776  	req.Header = reqHeaders
  5777  	googleapi.Expand(req.URL, map[string]string{
  5778  		"accountId":          c.accountId,
  5779  		"containerId":        c.containerId,
  5780  		"containerVersionId": c.containerVersionId,
  5781  	})
  5782  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5783  }
  5784  
  5785  // Do executes the "tagmanager.accounts.containers.versions.delete" call.
  5786  func (c *AccountsContainersVersionsDeleteCall) Do(opts ...googleapi.CallOption) error {
  5787  	gensupport.SetOptions(c.urlParams_, opts...)
  5788  	res, err := c.doRequest("json")
  5789  	if err != nil {
  5790  		return err
  5791  	}
  5792  	defer googleapi.CloseBody(res)
  5793  	if err := googleapi.CheckResponse(res); err != nil {
  5794  		return gensupport.WrapError(err)
  5795  	}
  5796  	return nil
  5797  }
  5798  
  5799  type AccountsContainersVersionsGetCall struct {
  5800  	s                  *Service
  5801  	accountId          string
  5802  	containerId        string
  5803  	containerVersionId string
  5804  	urlParams_         gensupport.URLParams
  5805  	ifNoneMatch_       string
  5806  	ctx_               context.Context
  5807  	header_            http.Header
  5808  }
  5809  
  5810  // Get: Gets a Container Version.
  5811  //
  5812  //   - accountId: The GTM Account ID.
  5813  //   - containerId: The GTM Container ID.
  5814  //   - containerVersionId: The GTM Container Version ID. Specify published to
  5815  //     retrieve the currently published version.
  5816  func (r *AccountsContainersVersionsService) Get(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsGetCall {
  5817  	c := &AccountsContainersVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5818  	c.accountId = accountId
  5819  	c.containerId = containerId
  5820  	c.containerVersionId = containerVersionId
  5821  	return c
  5822  }
  5823  
  5824  // Fields allows partial responses to be retrieved. See
  5825  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5826  // details.
  5827  func (c *AccountsContainersVersionsGetCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsGetCall {
  5828  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5829  	return c
  5830  }
  5831  
  5832  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5833  // object's ETag matches the given value. This is useful for getting updates
  5834  // only after the object has changed since the last request.
  5835  func (c *AccountsContainersVersionsGetCall) IfNoneMatch(entityTag string) *AccountsContainersVersionsGetCall {
  5836  	c.ifNoneMatch_ = entityTag
  5837  	return c
  5838  }
  5839  
  5840  // Context sets the context to be used in this call's Do method.
  5841  func (c *AccountsContainersVersionsGetCall) Context(ctx context.Context) *AccountsContainersVersionsGetCall {
  5842  	c.ctx_ = ctx
  5843  	return c
  5844  }
  5845  
  5846  // Header returns a http.Header that can be modified by the caller to add
  5847  // headers to the request.
  5848  func (c *AccountsContainersVersionsGetCall) Header() http.Header {
  5849  	if c.header_ == nil {
  5850  		c.header_ = make(http.Header)
  5851  	}
  5852  	return c.header_
  5853  }
  5854  
  5855  func (c *AccountsContainersVersionsGetCall) doRequest(alt string) (*http.Response, error) {
  5856  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5857  	if c.ifNoneMatch_ != "" {
  5858  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5859  	}
  5860  	var body io.Reader = nil
  5861  	c.urlParams_.Set("alt", alt)
  5862  	c.urlParams_.Set("prettyPrint", "false")
  5863  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
  5864  	urls += "?" + c.urlParams_.Encode()
  5865  	req, err := http.NewRequest("GET", urls, body)
  5866  	if err != nil {
  5867  		return nil, err
  5868  	}
  5869  	req.Header = reqHeaders
  5870  	googleapi.Expand(req.URL, map[string]string{
  5871  		"accountId":          c.accountId,
  5872  		"containerId":        c.containerId,
  5873  		"containerVersionId": c.containerVersionId,
  5874  	})
  5875  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5876  }
  5877  
  5878  // Do executes the "tagmanager.accounts.containers.versions.get" call.
  5879  // Any non-2xx status code is an error. Response headers are in either
  5880  // *ContainerVersion.ServerResponse.Header or (if a response was returned at
  5881  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5882  // check whether the returned error was because http.StatusNotModified was
  5883  // returned.
  5884  func (c *AccountsContainersVersionsGetCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
  5885  	gensupport.SetOptions(c.urlParams_, opts...)
  5886  	res, err := c.doRequest("json")
  5887  	if res != nil && res.StatusCode == http.StatusNotModified {
  5888  		if res.Body != nil {
  5889  			res.Body.Close()
  5890  		}
  5891  		return nil, gensupport.WrapError(&googleapi.Error{
  5892  			Code:   res.StatusCode,
  5893  			Header: res.Header,
  5894  		})
  5895  	}
  5896  	if err != nil {
  5897  		return nil, err
  5898  	}
  5899  	defer googleapi.CloseBody(res)
  5900  	if err := googleapi.CheckResponse(res); err != nil {
  5901  		return nil, gensupport.WrapError(err)
  5902  	}
  5903  	ret := &ContainerVersion{
  5904  		ServerResponse: googleapi.ServerResponse{
  5905  			Header:         res.Header,
  5906  			HTTPStatusCode: res.StatusCode,
  5907  		},
  5908  	}
  5909  	target := &ret
  5910  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5911  		return nil, err
  5912  	}
  5913  	return ret, nil
  5914  }
  5915  
  5916  type AccountsContainersVersionsListCall struct {
  5917  	s            *Service
  5918  	accountId    string
  5919  	containerId  string
  5920  	urlParams_   gensupport.URLParams
  5921  	ifNoneMatch_ string
  5922  	ctx_         context.Context
  5923  	header_      http.Header
  5924  }
  5925  
  5926  // List: Lists all Container Versions of a GTM Container.
  5927  //
  5928  // - accountId: The GTM Account ID.
  5929  // - containerId: The GTM Container ID.
  5930  func (r *AccountsContainersVersionsService) List(accountId string, containerId string) *AccountsContainersVersionsListCall {
  5931  	c := &AccountsContainersVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5932  	c.accountId = accountId
  5933  	c.containerId = containerId
  5934  	return c
  5935  }
  5936  
  5937  // Headers sets the optional parameter "headers": Retrieve headers only when
  5938  // true.
  5939  func (c *AccountsContainersVersionsListCall) Headers(headers bool) *AccountsContainersVersionsListCall {
  5940  	c.urlParams_.Set("headers", fmt.Sprint(headers))
  5941  	return c
  5942  }
  5943  
  5944  // IncludeDeleted sets the optional parameter "includeDeleted": Also retrieve
  5945  // deleted (archived) versions when true.
  5946  func (c *AccountsContainersVersionsListCall) IncludeDeleted(includeDeleted bool) *AccountsContainersVersionsListCall {
  5947  	c.urlParams_.Set("includeDeleted", fmt.Sprint(includeDeleted))
  5948  	return c
  5949  }
  5950  
  5951  // Fields allows partial responses to be retrieved. See
  5952  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5953  // details.
  5954  func (c *AccountsContainersVersionsListCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsListCall {
  5955  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5956  	return c
  5957  }
  5958  
  5959  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5960  // object's ETag matches the given value. This is useful for getting updates
  5961  // only after the object has changed since the last request.
  5962  func (c *AccountsContainersVersionsListCall) IfNoneMatch(entityTag string) *AccountsContainersVersionsListCall {
  5963  	c.ifNoneMatch_ = entityTag
  5964  	return c
  5965  }
  5966  
  5967  // Context sets the context to be used in this call's Do method.
  5968  func (c *AccountsContainersVersionsListCall) Context(ctx context.Context) *AccountsContainersVersionsListCall {
  5969  	c.ctx_ = ctx
  5970  	return c
  5971  }
  5972  
  5973  // Header returns a http.Header that can be modified by the caller to add
  5974  // headers to the request.
  5975  func (c *AccountsContainersVersionsListCall) Header() http.Header {
  5976  	if c.header_ == nil {
  5977  		c.header_ = make(http.Header)
  5978  	}
  5979  	return c.header_
  5980  }
  5981  
  5982  func (c *AccountsContainersVersionsListCall) doRequest(alt string) (*http.Response, error) {
  5983  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5984  	if c.ifNoneMatch_ != "" {
  5985  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5986  	}
  5987  	var body io.Reader = nil
  5988  	c.urlParams_.Set("alt", alt)
  5989  	c.urlParams_.Set("prettyPrint", "false")
  5990  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions")
  5991  	urls += "?" + c.urlParams_.Encode()
  5992  	req, err := http.NewRequest("GET", urls, body)
  5993  	if err != nil {
  5994  		return nil, err
  5995  	}
  5996  	req.Header = reqHeaders
  5997  	googleapi.Expand(req.URL, map[string]string{
  5998  		"accountId":   c.accountId,
  5999  		"containerId": c.containerId,
  6000  	})
  6001  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6002  }
  6003  
  6004  // Do executes the "tagmanager.accounts.containers.versions.list" call.
  6005  // Any non-2xx status code is an error. Response headers are in either
  6006  // *ListContainerVersionsResponse.ServerResponse.Header or (if a response was
  6007  // returned at all) in error.(*googleapi.Error).Header. Use
  6008  // googleapi.IsNotModified to check whether the returned error was because
  6009  // http.StatusNotModified was returned.
  6010  func (c *AccountsContainersVersionsListCall) Do(opts ...googleapi.CallOption) (*ListContainerVersionsResponse, error) {
  6011  	gensupport.SetOptions(c.urlParams_, opts...)
  6012  	res, err := c.doRequest("json")
  6013  	if res != nil && res.StatusCode == http.StatusNotModified {
  6014  		if res.Body != nil {
  6015  			res.Body.Close()
  6016  		}
  6017  		return nil, gensupport.WrapError(&googleapi.Error{
  6018  			Code:   res.StatusCode,
  6019  			Header: res.Header,
  6020  		})
  6021  	}
  6022  	if err != nil {
  6023  		return nil, err
  6024  	}
  6025  	defer googleapi.CloseBody(res)
  6026  	if err := googleapi.CheckResponse(res); err != nil {
  6027  		return nil, gensupport.WrapError(err)
  6028  	}
  6029  	ret := &ListContainerVersionsResponse{
  6030  		ServerResponse: googleapi.ServerResponse{
  6031  			Header:         res.Header,
  6032  			HTTPStatusCode: res.StatusCode,
  6033  		},
  6034  	}
  6035  	target := &ret
  6036  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6037  		return nil, err
  6038  	}
  6039  	return ret, nil
  6040  }
  6041  
  6042  type AccountsContainersVersionsPublishCall struct {
  6043  	s                  *Service
  6044  	accountId          string
  6045  	containerId        string
  6046  	containerVersionId string
  6047  	urlParams_         gensupport.URLParams
  6048  	ctx_               context.Context
  6049  	header_            http.Header
  6050  }
  6051  
  6052  // Publish: Publishes a Container Version.
  6053  //
  6054  // - accountId: The GTM Account ID.
  6055  // - containerId: The GTM Container ID.
  6056  // - containerVersionId: The GTM Container Version ID.
  6057  func (r *AccountsContainersVersionsService) Publish(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsPublishCall {
  6058  	c := &AccountsContainersVersionsPublishCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6059  	c.accountId = accountId
  6060  	c.containerId = containerId
  6061  	c.containerVersionId = containerVersionId
  6062  	return c
  6063  }
  6064  
  6065  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  6066  // fingerprint must match the fingerprint of the container version in storage.
  6067  func (c *AccountsContainersVersionsPublishCall) Fingerprint(fingerprint string) *AccountsContainersVersionsPublishCall {
  6068  	c.urlParams_.Set("fingerprint", fingerprint)
  6069  	return c
  6070  }
  6071  
  6072  // Fields allows partial responses to be retrieved. See
  6073  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6074  // details.
  6075  func (c *AccountsContainersVersionsPublishCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsPublishCall {
  6076  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6077  	return c
  6078  }
  6079  
  6080  // Context sets the context to be used in this call's Do method.
  6081  func (c *AccountsContainersVersionsPublishCall) Context(ctx context.Context) *AccountsContainersVersionsPublishCall {
  6082  	c.ctx_ = ctx
  6083  	return c
  6084  }
  6085  
  6086  // Header returns a http.Header that can be modified by the caller to add
  6087  // headers to the request.
  6088  func (c *AccountsContainersVersionsPublishCall) Header() http.Header {
  6089  	if c.header_ == nil {
  6090  		c.header_ = make(http.Header)
  6091  	}
  6092  	return c.header_
  6093  }
  6094  
  6095  func (c *AccountsContainersVersionsPublishCall) doRequest(alt string) (*http.Response, error) {
  6096  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6097  	var body io.Reader = nil
  6098  	c.urlParams_.Set("alt", alt)
  6099  	c.urlParams_.Set("prettyPrint", "false")
  6100  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish")
  6101  	urls += "?" + c.urlParams_.Encode()
  6102  	req, err := http.NewRequest("POST", urls, body)
  6103  	if err != nil {
  6104  		return nil, err
  6105  	}
  6106  	req.Header = reqHeaders
  6107  	googleapi.Expand(req.URL, map[string]string{
  6108  		"accountId":          c.accountId,
  6109  		"containerId":        c.containerId,
  6110  		"containerVersionId": c.containerVersionId,
  6111  	})
  6112  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6113  }
  6114  
  6115  // Do executes the "tagmanager.accounts.containers.versions.publish" call.
  6116  // Any non-2xx status code is an error. Response headers are in either
  6117  // *PublishContainerVersionResponse.ServerResponse.Header or (if a response was
  6118  // returned at all) in error.(*googleapi.Error).Header. Use
  6119  // googleapi.IsNotModified to check whether the returned error was because
  6120  // http.StatusNotModified was returned.
  6121  func (c *AccountsContainersVersionsPublishCall) Do(opts ...googleapi.CallOption) (*PublishContainerVersionResponse, error) {
  6122  	gensupport.SetOptions(c.urlParams_, opts...)
  6123  	res, err := c.doRequest("json")
  6124  	if res != nil && res.StatusCode == http.StatusNotModified {
  6125  		if res.Body != nil {
  6126  			res.Body.Close()
  6127  		}
  6128  		return nil, gensupport.WrapError(&googleapi.Error{
  6129  			Code:   res.StatusCode,
  6130  			Header: res.Header,
  6131  		})
  6132  	}
  6133  	if err != nil {
  6134  		return nil, err
  6135  	}
  6136  	defer googleapi.CloseBody(res)
  6137  	if err := googleapi.CheckResponse(res); err != nil {
  6138  		return nil, gensupport.WrapError(err)
  6139  	}
  6140  	ret := &PublishContainerVersionResponse{
  6141  		ServerResponse: googleapi.ServerResponse{
  6142  			Header:         res.Header,
  6143  			HTTPStatusCode: res.StatusCode,
  6144  		},
  6145  	}
  6146  	target := &ret
  6147  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6148  		return nil, err
  6149  	}
  6150  	return ret, nil
  6151  }
  6152  
  6153  type AccountsContainersVersionsRestoreCall struct {
  6154  	s                  *Service
  6155  	accountId          string
  6156  	containerId        string
  6157  	containerVersionId string
  6158  	urlParams_         gensupport.URLParams
  6159  	ctx_               context.Context
  6160  	header_            http.Header
  6161  }
  6162  
  6163  // Restore: Restores a Container Version. This will overwrite the container's
  6164  // current configuration (including its variables, triggers and tags). The
  6165  // operation will not have any effect on the version that is being served (i.e.
  6166  // the published version).
  6167  //
  6168  // - accountId: The GTM Account ID.
  6169  // - containerId: The GTM Container ID.
  6170  // - containerVersionId: The GTM Container Version ID.
  6171  func (r *AccountsContainersVersionsService) Restore(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsRestoreCall {
  6172  	c := &AccountsContainersVersionsRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6173  	c.accountId = accountId
  6174  	c.containerId = containerId
  6175  	c.containerVersionId = containerVersionId
  6176  	return c
  6177  }
  6178  
  6179  // Fields allows partial responses to be retrieved. See
  6180  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6181  // details.
  6182  func (c *AccountsContainersVersionsRestoreCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsRestoreCall {
  6183  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6184  	return c
  6185  }
  6186  
  6187  // Context sets the context to be used in this call's Do method.
  6188  func (c *AccountsContainersVersionsRestoreCall) Context(ctx context.Context) *AccountsContainersVersionsRestoreCall {
  6189  	c.ctx_ = ctx
  6190  	return c
  6191  }
  6192  
  6193  // Header returns a http.Header that can be modified by the caller to add
  6194  // headers to the request.
  6195  func (c *AccountsContainersVersionsRestoreCall) Header() http.Header {
  6196  	if c.header_ == nil {
  6197  		c.header_ = make(http.Header)
  6198  	}
  6199  	return c.header_
  6200  }
  6201  
  6202  func (c *AccountsContainersVersionsRestoreCall) doRequest(alt string) (*http.Response, error) {
  6203  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6204  	var body io.Reader = nil
  6205  	c.urlParams_.Set("alt", alt)
  6206  	c.urlParams_.Set("prettyPrint", "false")
  6207  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore")
  6208  	urls += "?" + c.urlParams_.Encode()
  6209  	req, err := http.NewRequest("POST", urls, body)
  6210  	if err != nil {
  6211  		return nil, err
  6212  	}
  6213  	req.Header = reqHeaders
  6214  	googleapi.Expand(req.URL, map[string]string{
  6215  		"accountId":          c.accountId,
  6216  		"containerId":        c.containerId,
  6217  		"containerVersionId": c.containerVersionId,
  6218  	})
  6219  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6220  }
  6221  
  6222  // Do executes the "tagmanager.accounts.containers.versions.restore" call.
  6223  // Any non-2xx status code is an error. Response headers are in either
  6224  // *ContainerVersion.ServerResponse.Header or (if a response was returned at
  6225  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6226  // check whether the returned error was because http.StatusNotModified was
  6227  // returned.
  6228  func (c *AccountsContainersVersionsRestoreCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
  6229  	gensupport.SetOptions(c.urlParams_, opts...)
  6230  	res, err := c.doRequest("json")
  6231  	if res != nil && res.StatusCode == http.StatusNotModified {
  6232  		if res.Body != nil {
  6233  			res.Body.Close()
  6234  		}
  6235  		return nil, gensupport.WrapError(&googleapi.Error{
  6236  			Code:   res.StatusCode,
  6237  			Header: res.Header,
  6238  		})
  6239  	}
  6240  	if err != nil {
  6241  		return nil, err
  6242  	}
  6243  	defer googleapi.CloseBody(res)
  6244  	if err := googleapi.CheckResponse(res); err != nil {
  6245  		return nil, gensupport.WrapError(err)
  6246  	}
  6247  	ret := &ContainerVersion{
  6248  		ServerResponse: googleapi.ServerResponse{
  6249  			Header:         res.Header,
  6250  			HTTPStatusCode: res.StatusCode,
  6251  		},
  6252  	}
  6253  	target := &ret
  6254  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6255  		return nil, err
  6256  	}
  6257  	return ret, nil
  6258  }
  6259  
  6260  type AccountsContainersVersionsUndeleteCall struct {
  6261  	s                  *Service
  6262  	accountId          string
  6263  	containerId        string
  6264  	containerVersionId string
  6265  	urlParams_         gensupport.URLParams
  6266  	ctx_               context.Context
  6267  	header_            http.Header
  6268  }
  6269  
  6270  // Undelete: Undeletes a Container Version.
  6271  //
  6272  // - accountId: The GTM Account ID.
  6273  // - containerId: The GTM Container ID.
  6274  // - containerVersionId: The GTM Container Version ID.
  6275  func (r *AccountsContainersVersionsService) Undelete(accountId string, containerId string, containerVersionId string) *AccountsContainersVersionsUndeleteCall {
  6276  	c := &AccountsContainersVersionsUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6277  	c.accountId = accountId
  6278  	c.containerId = containerId
  6279  	c.containerVersionId = containerVersionId
  6280  	return c
  6281  }
  6282  
  6283  // Fields allows partial responses to be retrieved. See
  6284  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6285  // details.
  6286  func (c *AccountsContainersVersionsUndeleteCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsUndeleteCall {
  6287  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6288  	return c
  6289  }
  6290  
  6291  // Context sets the context to be used in this call's Do method.
  6292  func (c *AccountsContainersVersionsUndeleteCall) Context(ctx context.Context) *AccountsContainersVersionsUndeleteCall {
  6293  	c.ctx_ = ctx
  6294  	return c
  6295  }
  6296  
  6297  // Header returns a http.Header that can be modified by the caller to add
  6298  // headers to the request.
  6299  func (c *AccountsContainersVersionsUndeleteCall) Header() http.Header {
  6300  	if c.header_ == nil {
  6301  		c.header_ = make(http.Header)
  6302  	}
  6303  	return c.header_
  6304  }
  6305  
  6306  func (c *AccountsContainersVersionsUndeleteCall) doRequest(alt string) (*http.Response, error) {
  6307  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6308  	var body io.Reader = nil
  6309  	c.urlParams_.Set("alt", alt)
  6310  	c.urlParams_.Set("prettyPrint", "false")
  6311  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete")
  6312  	urls += "?" + c.urlParams_.Encode()
  6313  	req, err := http.NewRequest("POST", urls, body)
  6314  	if err != nil {
  6315  		return nil, err
  6316  	}
  6317  	req.Header = reqHeaders
  6318  	googleapi.Expand(req.URL, map[string]string{
  6319  		"accountId":          c.accountId,
  6320  		"containerId":        c.containerId,
  6321  		"containerVersionId": c.containerVersionId,
  6322  	})
  6323  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6324  }
  6325  
  6326  // Do executes the "tagmanager.accounts.containers.versions.undelete" call.
  6327  // Any non-2xx status code is an error. Response headers are in either
  6328  // *ContainerVersion.ServerResponse.Header or (if a response was returned at
  6329  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6330  // check whether the returned error was because http.StatusNotModified was
  6331  // returned.
  6332  func (c *AccountsContainersVersionsUndeleteCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
  6333  	gensupport.SetOptions(c.urlParams_, opts...)
  6334  	res, err := c.doRequest("json")
  6335  	if res != nil && res.StatusCode == http.StatusNotModified {
  6336  		if res.Body != nil {
  6337  			res.Body.Close()
  6338  		}
  6339  		return nil, gensupport.WrapError(&googleapi.Error{
  6340  			Code:   res.StatusCode,
  6341  			Header: res.Header,
  6342  		})
  6343  	}
  6344  	if err != nil {
  6345  		return nil, err
  6346  	}
  6347  	defer googleapi.CloseBody(res)
  6348  	if err := googleapi.CheckResponse(res); err != nil {
  6349  		return nil, gensupport.WrapError(err)
  6350  	}
  6351  	ret := &ContainerVersion{
  6352  		ServerResponse: googleapi.ServerResponse{
  6353  			Header:         res.Header,
  6354  			HTTPStatusCode: res.StatusCode,
  6355  		},
  6356  	}
  6357  	target := &ret
  6358  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6359  		return nil, err
  6360  	}
  6361  	return ret, nil
  6362  }
  6363  
  6364  type AccountsContainersVersionsUpdateCall struct {
  6365  	s                  *Service
  6366  	accountId          string
  6367  	containerId        string
  6368  	containerVersionId string
  6369  	containerversion   *ContainerVersion
  6370  	urlParams_         gensupport.URLParams
  6371  	ctx_               context.Context
  6372  	header_            http.Header
  6373  }
  6374  
  6375  // Update: Updates a Container Version.
  6376  //
  6377  // - accountId: The GTM Account ID.
  6378  // - containerId: The GTM Container ID.
  6379  // - containerVersionId: The GTM Container Version ID.
  6380  func (r *AccountsContainersVersionsService) Update(accountId string, containerId string, containerVersionId string, containerversion *ContainerVersion) *AccountsContainersVersionsUpdateCall {
  6381  	c := &AccountsContainersVersionsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6382  	c.accountId = accountId
  6383  	c.containerId = containerId
  6384  	c.containerVersionId = containerVersionId
  6385  	c.containerversion = containerversion
  6386  	return c
  6387  }
  6388  
  6389  // Fingerprint sets the optional parameter "fingerprint": When provided, this
  6390  // fingerprint must match the fingerprint of the container version in storage.
  6391  func (c *AccountsContainersVersionsUpdateCall) Fingerprint(fingerprint string) *AccountsContainersVersionsUpdateCall {
  6392  	c.urlParams_.Set("fingerprint", fingerprint)
  6393  	return c
  6394  }
  6395  
  6396  // Fields allows partial responses to be retrieved. See
  6397  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6398  // details.
  6399  func (c *AccountsContainersVersionsUpdateCall) Fields(s ...googleapi.Field) *AccountsContainersVersionsUpdateCall {
  6400  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6401  	return c
  6402  }
  6403  
  6404  // Context sets the context to be used in this call's Do method.
  6405  func (c *AccountsContainersVersionsUpdateCall) Context(ctx context.Context) *AccountsContainersVersionsUpdateCall {
  6406  	c.ctx_ = ctx
  6407  	return c
  6408  }
  6409  
  6410  // Header returns a http.Header that can be modified by the caller to add
  6411  // headers to the request.
  6412  func (c *AccountsContainersVersionsUpdateCall) Header() http.Header {
  6413  	if c.header_ == nil {
  6414  		c.header_ = make(http.Header)
  6415  	}
  6416  	return c.header_
  6417  }
  6418  
  6419  func (c *AccountsContainersVersionsUpdateCall) doRequest(alt string) (*http.Response, error) {
  6420  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6421  	var body io.Reader = nil
  6422  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.containerversion)
  6423  	if err != nil {
  6424  		return nil, err
  6425  	}
  6426  	c.urlParams_.Set("alt", alt)
  6427  	c.urlParams_.Set("prettyPrint", "false")
  6428  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}")
  6429  	urls += "?" + c.urlParams_.Encode()
  6430  	req, err := http.NewRequest("PUT", urls, body)
  6431  	if err != nil {
  6432  		return nil, err
  6433  	}
  6434  	req.Header = reqHeaders
  6435  	googleapi.Expand(req.URL, map[string]string{
  6436  		"accountId":          c.accountId,
  6437  		"containerId":        c.containerId,
  6438  		"containerVersionId": c.containerVersionId,
  6439  	})
  6440  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6441  }
  6442  
  6443  // Do executes the "tagmanager.accounts.containers.versions.update" call.
  6444  // Any non-2xx status code is an error. Response headers are in either
  6445  // *ContainerVersion.ServerResponse.Header or (if a response was returned at
  6446  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6447  // check whether the returned error was because http.StatusNotModified was
  6448  // returned.
  6449  func (c *AccountsContainersVersionsUpdateCall) Do(opts ...googleapi.CallOption) (*ContainerVersion, error) {
  6450  	gensupport.SetOptions(c.urlParams_, opts...)
  6451  	res, err := c.doRequest("json")
  6452  	if res != nil && res.StatusCode == http.StatusNotModified {
  6453  		if res.Body != nil {
  6454  			res.Body.Close()
  6455  		}
  6456  		return nil, gensupport.WrapError(&googleapi.Error{
  6457  			Code:   res.StatusCode,
  6458  			Header: res.Header,
  6459  		})
  6460  	}
  6461  	if err != nil {
  6462  		return nil, err
  6463  	}
  6464  	defer googleapi.CloseBody(res)
  6465  	if err := googleapi.CheckResponse(res); err != nil {
  6466  		return nil, gensupport.WrapError(err)
  6467  	}
  6468  	ret := &ContainerVersion{
  6469  		ServerResponse: googleapi.ServerResponse{
  6470  			Header:         res.Header,
  6471  			HTTPStatusCode: res.StatusCode,
  6472  		},
  6473  	}
  6474  	target := &ret
  6475  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6476  		return nil, err
  6477  	}
  6478  	return ret, nil
  6479  }
  6480  
  6481  type AccountsPermissionsCreateCall struct {
  6482  	s          *Service
  6483  	accountId  string
  6484  	useraccess *UserAccess
  6485  	urlParams_ gensupport.URLParams
  6486  	ctx_       context.Context
  6487  	header_    http.Header
  6488  }
  6489  
  6490  // Create: Creates a user's Account & Container Permissions.
  6491  //
  6492  // - accountId: The GTM Account ID.
  6493  func (r *AccountsPermissionsService) Create(accountId string, useraccess *UserAccess) *AccountsPermissionsCreateCall {
  6494  	c := &AccountsPermissionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6495  	c.accountId = accountId
  6496  	c.useraccess = useraccess
  6497  	return c
  6498  }
  6499  
  6500  // Fields allows partial responses to be retrieved. See
  6501  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6502  // details.
  6503  func (c *AccountsPermissionsCreateCall) Fields(s ...googleapi.Field) *AccountsPermissionsCreateCall {
  6504  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6505  	return c
  6506  }
  6507  
  6508  // Context sets the context to be used in this call's Do method.
  6509  func (c *AccountsPermissionsCreateCall) Context(ctx context.Context) *AccountsPermissionsCreateCall {
  6510  	c.ctx_ = ctx
  6511  	return c
  6512  }
  6513  
  6514  // Header returns a http.Header that can be modified by the caller to add
  6515  // headers to the request.
  6516  func (c *AccountsPermissionsCreateCall) Header() http.Header {
  6517  	if c.header_ == nil {
  6518  		c.header_ = make(http.Header)
  6519  	}
  6520  	return c.header_
  6521  }
  6522  
  6523  func (c *AccountsPermissionsCreateCall) doRequest(alt string) (*http.Response, error) {
  6524  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6525  	var body io.Reader = nil
  6526  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.useraccess)
  6527  	if err != nil {
  6528  		return nil, err
  6529  	}
  6530  	c.urlParams_.Set("alt", alt)
  6531  	c.urlParams_.Set("prettyPrint", "false")
  6532  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions")
  6533  	urls += "?" + c.urlParams_.Encode()
  6534  	req, err := http.NewRequest("POST", urls, body)
  6535  	if err != nil {
  6536  		return nil, err
  6537  	}
  6538  	req.Header = reqHeaders
  6539  	googleapi.Expand(req.URL, map[string]string{
  6540  		"accountId": c.accountId,
  6541  	})
  6542  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6543  }
  6544  
  6545  // Do executes the "tagmanager.accounts.permissions.create" call.
  6546  // Any non-2xx status code is an error. Response headers are in either
  6547  // *UserAccess.ServerResponse.Header or (if a response was returned at all) in
  6548  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6549  // whether the returned error was because http.StatusNotModified was returned.
  6550  func (c *AccountsPermissionsCreateCall) Do(opts ...googleapi.CallOption) (*UserAccess, error) {
  6551  	gensupport.SetOptions(c.urlParams_, opts...)
  6552  	res, err := c.doRequest("json")
  6553  	if res != nil && res.StatusCode == http.StatusNotModified {
  6554  		if res.Body != nil {
  6555  			res.Body.Close()
  6556  		}
  6557  		return nil, gensupport.WrapError(&googleapi.Error{
  6558  			Code:   res.StatusCode,
  6559  			Header: res.Header,
  6560  		})
  6561  	}
  6562  	if err != nil {
  6563  		return nil, err
  6564  	}
  6565  	defer googleapi.CloseBody(res)
  6566  	if err := googleapi.CheckResponse(res); err != nil {
  6567  		return nil, gensupport.WrapError(err)
  6568  	}
  6569  	ret := &UserAccess{
  6570  		ServerResponse: googleapi.ServerResponse{
  6571  			Header:         res.Header,
  6572  			HTTPStatusCode: res.StatusCode,
  6573  		},
  6574  	}
  6575  	target := &ret
  6576  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6577  		return nil, err
  6578  	}
  6579  	return ret, nil
  6580  }
  6581  
  6582  type AccountsPermissionsDeleteCall struct {
  6583  	s            *Service
  6584  	accountId    string
  6585  	permissionId string
  6586  	urlParams_   gensupport.URLParams
  6587  	ctx_         context.Context
  6588  	header_      http.Header
  6589  }
  6590  
  6591  // Delete: Removes a user from the account, revoking access to it and all of
  6592  // its containers.
  6593  //
  6594  // - accountId: The GTM Account ID.
  6595  // - permissionId: The GTM User ID.
  6596  func (r *AccountsPermissionsService) Delete(accountId string, permissionId string) *AccountsPermissionsDeleteCall {
  6597  	c := &AccountsPermissionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6598  	c.accountId = accountId
  6599  	c.permissionId = permissionId
  6600  	return c
  6601  }
  6602  
  6603  // Fields allows partial responses to be retrieved. See
  6604  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6605  // details.
  6606  func (c *AccountsPermissionsDeleteCall) Fields(s ...googleapi.Field) *AccountsPermissionsDeleteCall {
  6607  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6608  	return c
  6609  }
  6610  
  6611  // Context sets the context to be used in this call's Do method.
  6612  func (c *AccountsPermissionsDeleteCall) Context(ctx context.Context) *AccountsPermissionsDeleteCall {
  6613  	c.ctx_ = ctx
  6614  	return c
  6615  }
  6616  
  6617  // Header returns a http.Header that can be modified by the caller to add
  6618  // headers to the request.
  6619  func (c *AccountsPermissionsDeleteCall) Header() http.Header {
  6620  	if c.header_ == nil {
  6621  		c.header_ = make(http.Header)
  6622  	}
  6623  	return c.header_
  6624  }
  6625  
  6626  func (c *AccountsPermissionsDeleteCall) doRequest(alt string) (*http.Response, error) {
  6627  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6628  	var body io.Reader = nil
  6629  	c.urlParams_.Set("alt", alt)
  6630  	c.urlParams_.Set("prettyPrint", "false")
  6631  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}")
  6632  	urls += "?" + c.urlParams_.Encode()
  6633  	req, err := http.NewRequest("DELETE", urls, body)
  6634  	if err != nil {
  6635  		return nil, err
  6636  	}
  6637  	req.Header = reqHeaders
  6638  	googleapi.Expand(req.URL, map[string]string{
  6639  		"accountId":    c.accountId,
  6640  		"permissionId": c.permissionId,
  6641  	})
  6642  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6643  }
  6644  
  6645  // Do executes the "tagmanager.accounts.permissions.delete" call.
  6646  func (c *AccountsPermissionsDeleteCall) Do(opts ...googleapi.CallOption) error {
  6647  	gensupport.SetOptions(c.urlParams_, opts...)
  6648  	res, err := c.doRequest("json")
  6649  	if err != nil {
  6650  		return err
  6651  	}
  6652  	defer googleapi.CloseBody(res)
  6653  	if err := googleapi.CheckResponse(res); err != nil {
  6654  		return gensupport.WrapError(err)
  6655  	}
  6656  	return nil
  6657  }
  6658  
  6659  type AccountsPermissionsGetCall struct {
  6660  	s            *Service
  6661  	accountId    string
  6662  	permissionId string
  6663  	urlParams_   gensupport.URLParams
  6664  	ifNoneMatch_ string
  6665  	ctx_         context.Context
  6666  	header_      http.Header
  6667  }
  6668  
  6669  // Get: Gets a user's Account & Container Permissions.
  6670  //
  6671  // - accountId: The GTM Account ID.
  6672  // - permissionId: The GTM User ID.
  6673  func (r *AccountsPermissionsService) Get(accountId string, permissionId string) *AccountsPermissionsGetCall {
  6674  	c := &AccountsPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6675  	c.accountId = accountId
  6676  	c.permissionId = permissionId
  6677  	return c
  6678  }
  6679  
  6680  // Fields allows partial responses to be retrieved. See
  6681  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6682  // details.
  6683  func (c *AccountsPermissionsGetCall) Fields(s ...googleapi.Field) *AccountsPermissionsGetCall {
  6684  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6685  	return c
  6686  }
  6687  
  6688  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6689  // object's ETag matches the given value. This is useful for getting updates
  6690  // only after the object has changed since the last request.
  6691  func (c *AccountsPermissionsGetCall) IfNoneMatch(entityTag string) *AccountsPermissionsGetCall {
  6692  	c.ifNoneMatch_ = entityTag
  6693  	return c
  6694  }
  6695  
  6696  // Context sets the context to be used in this call's Do method.
  6697  func (c *AccountsPermissionsGetCall) Context(ctx context.Context) *AccountsPermissionsGetCall {
  6698  	c.ctx_ = ctx
  6699  	return c
  6700  }
  6701  
  6702  // Header returns a http.Header that can be modified by the caller to add
  6703  // headers to the request.
  6704  func (c *AccountsPermissionsGetCall) Header() http.Header {
  6705  	if c.header_ == nil {
  6706  		c.header_ = make(http.Header)
  6707  	}
  6708  	return c.header_
  6709  }
  6710  
  6711  func (c *AccountsPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
  6712  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6713  	if c.ifNoneMatch_ != "" {
  6714  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6715  	}
  6716  	var body io.Reader = nil
  6717  	c.urlParams_.Set("alt", alt)
  6718  	c.urlParams_.Set("prettyPrint", "false")
  6719  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}")
  6720  	urls += "?" + c.urlParams_.Encode()
  6721  	req, err := http.NewRequest("GET", urls, body)
  6722  	if err != nil {
  6723  		return nil, err
  6724  	}
  6725  	req.Header = reqHeaders
  6726  	googleapi.Expand(req.URL, map[string]string{
  6727  		"accountId":    c.accountId,
  6728  		"permissionId": c.permissionId,
  6729  	})
  6730  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6731  }
  6732  
  6733  // Do executes the "tagmanager.accounts.permissions.get" call.
  6734  // Any non-2xx status code is an error. Response headers are in either
  6735  // *UserAccess.ServerResponse.Header or (if a response was returned at all) in
  6736  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6737  // whether the returned error was because http.StatusNotModified was returned.
  6738  func (c *AccountsPermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserAccess, error) {
  6739  	gensupport.SetOptions(c.urlParams_, opts...)
  6740  	res, err := c.doRequest("json")
  6741  	if res != nil && res.StatusCode == http.StatusNotModified {
  6742  		if res.Body != nil {
  6743  			res.Body.Close()
  6744  		}
  6745  		return nil, gensupport.WrapError(&googleapi.Error{
  6746  			Code:   res.StatusCode,
  6747  			Header: res.Header,
  6748  		})
  6749  	}
  6750  	if err != nil {
  6751  		return nil, err
  6752  	}
  6753  	defer googleapi.CloseBody(res)
  6754  	if err := googleapi.CheckResponse(res); err != nil {
  6755  		return nil, gensupport.WrapError(err)
  6756  	}
  6757  	ret := &UserAccess{
  6758  		ServerResponse: googleapi.ServerResponse{
  6759  			Header:         res.Header,
  6760  			HTTPStatusCode: res.StatusCode,
  6761  		},
  6762  	}
  6763  	target := &ret
  6764  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6765  		return nil, err
  6766  	}
  6767  	return ret, nil
  6768  }
  6769  
  6770  type AccountsPermissionsListCall struct {
  6771  	s            *Service
  6772  	accountId    string
  6773  	urlParams_   gensupport.URLParams
  6774  	ifNoneMatch_ string
  6775  	ctx_         context.Context
  6776  	header_      http.Header
  6777  }
  6778  
  6779  // List: List all users that have access to the account along with Account and
  6780  // Container Permissions granted to each of them.
  6781  //
  6782  // - accountId: The GTM Account ID.
  6783  func (r *AccountsPermissionsService) List(accountId string) *AccountsPermissionsListCall {
  6784  	c := &AccountsPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6785  	c.accountId = accountId
  6786  	return c
  6787  }
  6788  
  6789  // Fields allows partial responses to be retrieved. See
  6790  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6791  // details.
  6792  func (c *AccountsPermissionsListCall) Fields(s ...googleapi.Field) *AccountsPermissionsListCall {
  6793  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6794  	return c
  6795  }
  6796  
  6797  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6798  // object's ETag matches the given value. This is useful for getting updates
  6799  // only after the object has changed since the last request.
  6800  func (c *AccountsPermissionsListCall) IfNoneMatch(entityTag string) *AccountsPermissionsListCall {
  6801  	c.ifNoneMatch_ = entityTag
  6802  	return c
  6803  }
  6804  
  6805  // Context sets the context to be used in this call's Do method.
  6806  func (c *AccountsPermissionsListCall) Context(ctx context.Context) *AccountsPermissionsListCall {
  6807  	c.ctx_ = ctx
  6808  	return c
  6809  }
  6810  
  6811  // Header returns a http.Header that can be modified by the caller to add
  6812  // headers to the request.
  6813  func (c *AccountsPermissionsListCall) Header() http.Header {
  6814  	if c.header_ == nil {
  6815  		c.header_ = make(http.Header)
  6816  	}
  6817  	return c.header_
  6818  }
  6819  
  6820  func (c *AccountsPermissionsListCall) doRequest(alt string) (*http.Response, error) {
  6821  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6822  	if c.ifNoneMatch_ != "" {
  6823  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6824  	}
  6825  	var body io.Reader = nil
  6826  	c.urlParams_.Set("alt", alt)
  6827  	c.urlParams_.Set("prettyPrint", "false")
  6828  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions")
  6829  	urls += "?" + c.urlParams_.Encode()
  6830  	req, err := http.NewRequest("GET", urls, body)
  6831  	if err != nil {
  6832  		return nil, err
  6833  	}
  6834  	req.Header = reqHeaders
  6835  	googleapi.Expand(req.URL, map[string]string{
  6836  		"accountId": c.accountId,
  6837  	})
  6838  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6839  }
  6840  
  6841  // Do executes the "tagmanager.accounts.permissions.list" call.
  6842  // Any non-2xx status code is an error. Response headers are in either
  6843  // *ListAccountUsersResponse.ServerResponse.Header or (if a response was
  6844  // returned at all) in error.(*googleapi.Error).Header. Use
  6845  // googleapi.IsNotModified to check whether the returned error was because
  6846  // http.StatusNotModified was returned.
  6847  func (c *AccountsPermissionsListCall) Do(opts ...googleapi.CallOption) (*ListAccountUsersResponse, error) {
  6848  	gensupport.SetOptions(c.urlParams_, opts...)
  6849  	res, err := c.doRequest("json")
  6850  	if res != nil && res.StatusCode == http.StatusNotModified {
  6851  		if res.Body != nil {
  6852  			res.Body.Close()
  6853  		}
  6854  		return nil, gensupport.WrapError(&googleapi.Error{
  6855  			Code:   res.StatusCode,
  6856  			Header: res.Header,
  6857  		})
  6858  	}
  6859  	if err != nil {
  6860  		return nil, err
  6861  	}
  6862  	defer googleapi.CloseBody(res)
  6863  	if err := googleapi.CheckResponse(res); err != nil {
  6864  		return nil, gensupport.WrapError(err)
  6865  	}
  6866  	ret := &ListAccountUsersResponse{
  6867  		ServerResponse: googleapi.ServerResponse{
  6868  			Header:         res.Header,
  6869  			HTTPStatusCode: res.StatusCode,
  6870  		},
  6871  	}
  6872  	target := &ret
  6873  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6874  		return nil, err
  6875  	}
  6876  	return ret, nil
  6877  }
  6878  
  6879  type AccountsPermissionsUpdateCall struct {
  6880  	s            *Service
  6881  	accountId    string
  6882  	permissionId string
  6883  	useraccess   *UserAccess
  6884  	urlParams_   gensupport.URLParams
  6885  	ctx_         context.Context
  6886  	header_      http.Header
  6887  }
  6888  
  6889  // Update: Updates a user's Account & Container Permissions.
  6890  //
  6891  // - accountId: The GTM Account ID.
  6892  // - permissionId: The GTM User ID.
  6893  func (r *AccountsPermissionsService) Update(accountId string, permissionId string, useraccess *UserAccess) *AccountsPermissionsUpdateCall {
  6894  	c := &AccountsPermissionsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6895  	c.accountId = accountId
  6896  	c.permissionId = permissionId
  6897  	c.useraccess = useraccess
  6898  	return c
  6899  }
  6900  
  6901  // Fields allows partial responses to be retrieved. See
  6902  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6903  // details.
  6904  func (c *AccountsPermissionsUpdateCall) Fields(s ...googleapi.Field) *AccountsPermissionsUpdateCall {
  6905  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6906  	return c
  6907  }
  6908  
  6909  // Context sets the context to be used in this call's Do method.
  6910  func (c *AccountsPermissionsUpdateCall) Context(ctx context.Context) *AccountsPermissionsUpdateCall {
  6911  	c.ctx_ = ctx
  6912  	return c
  6913  }
  6914  
  6915  // Header returns a http.Header that can be modified by the caller to add
  6916  // headers to the request.
  6917  func (c *AccountsPermissionsUpdateCall) Header() http.Header {
  6918  	if c.header_ == nil {
  6919  		c.header_ = make(http.Header)
  6920  	}
  6921  	return c.header_
  6922  }
  6923  
  6924  func (c *AccountsPermissionsUpdateCall) doRequest(alt string) (*http.Response, error) {
  6925  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6926  	var body io.Reader = nil
  6927  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.useraccess)
  6928  	if err != nil {
  6929  		return nil, err
  6930  	}
  6931  	c.urlParams_.Set("alt", alt)
  6932  	c.urlParams_.Set("prettyPrint", "false")
  6933  	urls := googleapi.ResolveRelative(c.s.BasePath, "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}")
  6934  	urls += "?" + c.urlParams_.Encode()
  6935  	req, err := http.NewRequest("PUT", urls, body)
  6936  	if err != nil {
  6937  		return nil, err
  6938  	}
  6939  	req.Header = reqHeaders
  6940  	googleapi.Expand(req.URL, map[string]string{
  6941  		"accountId":    c.accountId,
  6942  		"permissionId": c.permissionId,
  6943  	})
  6944  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6945  }
  6946  
  6947  // Do executes the "tagmanager.accounts.permissions.update" call.
  6948  // Any non-2xx status code is an error. Response headers are in either
  6949  // *UserAccess.ServerResponse.Header or (if a response was returned at all) in
  6950  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6951  // whether the returned error was because http.StatusNotModified was returned.
  6952  func (c *AccountsPermissionsUpdateCall) Do(opts ...googleapi.CallOption) (*UserAccess, error) {
  6953  	gensupport.SetOptions(c.urlParams_, opts...)
  6954  	res, err := c.doRequest("json")
  6955  	if res != nil && res.StatusCode == http.StatusNotModified {
  6956  		if res.Body != nil {
  6957  			res.Body.Close()
  6958  		}
  6959  		return nil, gensupport.WrapError(&googleapi.Error{
  6960  			Code:   res.StatusCode,
  6961  			Header: res.Header,
  6962  		})
  6963  	}
  6964  	if err != nil {
  6965  		return nil, err
  6966  	}
  6967  	defer googleapi.CloseBody(res)
  6968  	if err := googleapi.CheckResponse(res); err != nil {
  6969  		return nil, gensupport.WrapError(err)
  6970  	}
  6971  	ret := &UserAccess{
  6972  		ServerResponse: googleapi.ServerResponse{
  6973  			Header:         res.Header,
  6974  			HTTPStatusCode: res.StatusCode,
  6975  		},
  6976  	}
  6977  	target := &ret
  6978  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6979  		return nil, err
  6980  	}
  6981  	return ret, nil
  6982  }
  6983  

View as plain text