blob: c65827c4b71ac9b51eb2ee488f48bb531669e98b [file] [log] [blame]
// Copyright 2019 Google Inc. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package tagmanager provides access to the Tag Manager API.
//
// See https://developers.google.com/tag-manager/api/v2/
//
// Usage example:
//
// import "google.golang.org/api/tagmanager/v2"
// ...
// tagmanagerService, err := tagmanager.New(oauthHttpClient)
package tagmanager // import "google.golang.org/api/tagmanager/v2"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "tagmanager:v2"
const apiName = "tagmanager"
const apiVersion = "v2"
const basePath = "https://www.googleapis.com/tagmanager/v2/"
// OAuth2 scopes used by this API.
const (
// Delete your Google Tag Manager containers
TagmanagerDeleteContainersScope = "https://www.googleapis.com/auth/tagmanager.delete.containers"
// Manage your Google Tag Manager container and its subcomponents,
// excluding versioning and publishing
TagmanagerEditContainersScope = "https://www.googleapis.com/auth/tagmanager.edit.containers"
// Manage your Google Tag Manager container versions
TagmanagerEditContainerversionsScope = "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
// View and manage your Google Tag Manager accounts
TagmanagerManageAccountsScope = "https://www.googleapis.com/auth/tagmanager.manage.accounts"
// Manage user permissions of your Google Tag Manager account and
// container
TagmanagerManageUsersScope = "https://www.googleapis.com/auth/tagmanager.manage.users"
// Publish your Google Tag Manager container versions
TagmanagerPublishScope = "https://www.googleapis.com/auth/tagmanager.publish"
// View your Google Tag Manager container and its subcomponents
TagmanagerReadonlyScope = "https://www.googleapis.com/auth/tagmanager.readonly"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Accounts = NewAccountsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Accounts *AccountsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewAccountsService(s *Service) *AccountsService {
rs := &AccountsService{s: s}
rs.Containers = NewAccountsContainersService(s)
rs.UserPermissions = NewAccountsUserPermissionsService(s)
return rs
}
type AccountsService struct {
s *Service
Containers *AccountsContainersService
UserPermissions *AccountsUserPermissionsService
}
func NewAccountsContainersService(s *Service) *AccountsContainersService {
rs := &AccountsContainersService{s: s}
rs.Environments = NewAccountsContainersEnvironmentsService(s)
rs.VersionHeaders = NewAccountsContainersVersionHeadersService(s)
rs.Versions = NewAccountsContainersVersionsService(s)
rs.Workspaces = NewAccountsContainersWorkspacesService(s)
return rs
}
type AccountsContainersService struct {
s *Service
Environments *AccountsContainersEnvironmentsService
VersionHeaders *AccountsContainersVersionHeadersService
Versions *AccountsContainersVersionsService
Workspaces *AccountsContainersWorkspacesService
}
func NewAccountsContainersEnvironmentsService(s *Service) *AccountsContainersEnvironmentsService {
rs := &AccountsContainersEnvironmentsService{s: s}
return rs
}
type AccountsContainersEnvironmentsService struct {
s *Service
}
func NewAccountsContainersVersionHeadersService(s *Service) *AccountsContainersVersionHeadersService {
rs := &AccountsContainersVersionHeadersService{s: s}
return rs
}
type AccountsContainersVersionHeadersService struct {
s *Service
}
func NewAccountsContainersVersionsService(s *Service) *AccountsContainersVersionsService {
rs := &AccountsContainersVersionsService{s: s}
return rs
}
type AccountsContainersVersionsService struct {
s *Service
}
func NewAccountsContainersWorkspacesService(s *Service) *AccountsContainersWorkspacesService {
rs := &AccountsContainersWorkspacesService{s: s}
rs.BuiltInVariables = NewAccountsContainersWorkspacesBuiltInVariablesService(s)
rs.Folders = NewAccountsContainersWorkspacesFoldersService(s)
rs.Proposal = NewAccountsContainersWorkspacesProposalService(s)
rs.Tags = NewAccountsContainersWorkspacesTagsService(s)
rs.Triggers = NewAccountsContainersWorkspacesTriggersService(s)
rs.Variables = NewAccountsContainersWorkspacesVariablesService(s)
return rs
}
type AccountsContainersWorkspacesService struct {
s *Service
BuiltInVariables *AccountsContainersWorkspacesBuiltInVariablesService
Folders *AccountsContainersWorkspacesFoldersService
Proposal *AccountsContainersWorkspacesProposalService
Tags *AccountsContainersWorkspacesTagsService
Triggers *AccountsContainersWorkspacesTriggersService
Variables *AccountsContainersWorkspacesVariablesService
}
func NewAccountsContainersWorkspacesBuiltInVariablesService(s *Service) *AccountsContainersWorkspacesBuiltInVariablesService {
rs := &AccountsContainersWorkspacesBuiltInVariablesService{s: s}
return rs
}
type AccountsContainersWorkspacesBuiltInVariablesService struct {
s *Service
}
func NewAccountsContainersWorkspacesFoldersService(s *Service) *AccountsContainersWorkspacesFoldersService {
rs := &AccountsContainersWorkspacesFoldersService{s: s}
return rs
}
type AccountsContainersWorkspacesFoldersService struct {
s *Service
}
func NewAccountsContainersWorkspacesProposalService(s *Service) *AccountsContainersWorkspacesProposalService {
rs := &AccountsContainersWorkspacesProposalService{s: s}
return rs
}
type AccountsContainersWorkspacesProposalService struct {
s *Service
}
func NewAccountsContainersWorkspacesTagsService(s *Service) *AccountsContainersWorkspacesTagsService {
rs := &AccountsContainersWorkspacesTagsService{s: s}
return rs
}
type AccountsContainersWorkspacesTagsService struct {
s *Service
}
func NewAccountsContainersWorkspacesTriggersService(s *Service) *AccountsContainersWorkspacesTriggersService {
rs := &AccountsContainersWorkspacesTriggersService{s: s}
return rs
}
type AccountsContainersWorkspacesTriggersService struct {
s *Service
}
func NewAccountsContainersWorkspacesVariablesService(s *Service) *AccountsContainersWorkspacesVariablesService {
rs := &AccountsContainersWorkspacesVariablesService{s: s}
return rs
}
type AccountsContainersWorkspacesVariablesService struct {
s *Service
}
func NewAccountsUserPermissionsService(s *Service) *AccountsUserPermissionsService {
rs := &AccountsUserPermissionsService{s: s}
return rs
}
type AccountsUserPermissionsService struct {
s *Service
}
// Account: Represents a Google Tag Manager Account.
type Account struct {
// AccountId: The Account ID uniquely identifies the GTM Account.
AccountId string `json:"accountId,omitempty"`
// Fingerprint: The fingerprint of the GTM Account as computed at
// storage time. This value is recomputed whenever the account is
// modified.
Fingerprint string `json:"fingerprint,omitempty"`
// Name: Account display name.
Name string `json:"name,omitempty"`
// Path: GTM Account's API relative path.
Path string `json:"path,omitempty"`
// ShareData: Whether the account shares data anonymously with Google
// and others. This flag enables benchmarking by sharing your data in an
// anonymous form. Google will remove all identifiable information about
// your website, combine the data with hundreds of other anonymous sites
// and report aggregate trends in the benchmarking service.
ShareData bool `json:"shareData,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Account) MarshalJSON() ([]byte, error) {
type NoMethod Account
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AccountAccess: Defines the Google Tag Manager Account access
// permissions.
type AccountAccess struct {
// Permission: Whether the user has no access, user access, or admin
// access to an account.
//
// Possible values:
// "accountPermissionUnspecified"
// "admin"
// "noAccess"
// "user"
Permission string `json:"permission,omitempty"`
// ForceSendFields is a list of field names (e.g. "Permission") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Permission") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AccountAccess) MarshalJSON() ([]byte, error) {
type NoMethod AccountAccess
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BuiltInVariable: Built-in variables are a special category of
// variables that are pre-created and non-customizable. They provide
// common functionality like accessing propeties of the gtm data layer,
// monitoring clicks, or accessing elements of a page URL.
type BuiltInVariable struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// Name: Name of the built-in variable to be used to refer to the
// built-in variable.
Name string `json:"name,omitempty"`
// Path: GTM BuiltInVariable's API relative path.
Path string `json:"path,omitempty"`
// Type: Type of built-in variable.
//
// Possible values:
// "advertiserId"
// "advertisingTrackingEnabled"
// "ampBrowserLanguage"
// "ampCanonicalHost"
// "ampCanonicalPath"
// "ampCanonicalUrl"
// "ampClientId"
// "ampClientMaxScrollX"
// "ampClientMaxScrollY"
// "ampClientScreenHeight"
// "ampClientScreenWidth"
// "ampClientScrollX"
// "ampClientScrollY"
// "ampClientTimestamp"
// "ampClientTimezone"
// "ampGtmEvent"
// "ampPageDownloadTime"
// "ampPageLoadTime"
// "ampPageViewId"
// "ampReferrer"
// "ampTitle"
// "ampTotalEngagedTime"
// "appId"
// "appName"
// "appVersionCode"
// "appVersionName"
// "builtInVariableTypeUnspecified"
// "clickClasses"
// "clickElement"
// "clickId"
// "clickTarget"
// "clickText"
// "clickUrl"
// "containerId"
// "containerVersion"
// "debugMode"
// "deviceName"
// "elementVisibilityFirstTime"
// "elementVisibilityRatio"
// "elementVisibilityRecentTime"
// "elementVisibilityTime"
// "environmentName"
// "errorLine"
// "errorMessage"
// "errorUrl"
// "event"
// "eventName"
// "firebaseEventParameterCampaign"
// "firebaseEventParameterCampaignAclid"
// "firebaseEventParameterCampaignAnid"
// "firebaseEventParameterCampaignClickTimestamp"
// "firebaseEventParameterCampaignContent"
// "firebaseEventParameterCampaignCp1"
// "firebaseEventParameterCampaignGclid"
// "firebaseEventParameterCampaignSource"
// "firebaseEventParameterCampaignTerm"
// "firebaseEventParameterCurrency"
// "firebaseEventParameterDynamicLinkAcceptTime"
// "firebaseEventParameterDynamicLinkLinkid"
// "firebaseEventParameterNotificationMessageDeviceTime"
// "firebaseEventParameterNotificationMessageId"
// "firebaseEventParameterNotificationMessageName"
// "firebaseEventParameterNotificationMessageTime"
// "firebaseEventParameterNotificationTopic"
// "firebaseEventParameterPreviousAppVersion"
// "firebaseEventParameterPreviousOsVersion"
// "firebaseEventParameterPrice"
// "firebaseEventParameterProductId"
// "firebaseEventParameterQuantity"
// "firebaseEventParameterValue"
// "formClasses"
// "formElement"
// "formId"
// "formTarget"
// "formText"
// "formUrl"
// "historySource"
// "htmlId"
// "language"
// "newHistoryFragment"
// "newHistoryState"
// "oldHistoryFragment"
// "oldHistoryState"
// "osVersion"
// "pageHostname"
// "pagePath"
// "pageUrl"
// "platform"
// "randomNumber"
// "referrer"
// "resolution"
// "scrollDepthDirection"
// "scrollDepthThreshold"
// "scrollDepthUnits"
// "sdkVersion"
// "videoCurrentTime"
// "videoDuration"
// "videoPercent"
// "videoProvider"
// "videoStatus"
// "videoTitle"
// "videoUrl"
// "videoVisible"
Type string `json:"type,omitempty"`
// WorkspaceId: GTM Workspace ID.
WorkspaceId string `json:"workspaceId,omitempty"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BuiltInVariable) MarshalJSON() ([]byte, error) {
type NoMethod BuiltInVariable
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Condition: Represents a predicate.
type Condition struct {
// Parameter: A list of named parameters (key/value), depending on the
// condition's type. Notes:
// - For binary operators, include parameters named arg0 and arg1 for
// specifying the left and right operands, respectively.
// - At this time, the left operand (arg0) must be a reference to a
// variable.
// - For case-insensitive Regex matching, include a boolean parameter
// named ignore_case that is set to true. If not specified or set to any
// other value, the matching will be case sensitive.
// - To negate an operator, include a boolean parameter named negate
// boolean parameter that is set to true.
Parameter []*Parameter `json:"parameter,omitempty"`
// Type: The type of operator for this condition.
//
// Possible values:
// "conditionTypeUnspecified"
// "contains"
// "cssSelector"
// "endsWith"
// "equals"
// "greater"
// "greaterOrEquals"
// "less"
// "lessOrEquals"
// "matchRegex"
// "startsWith"
// "urlMatches"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Parameter") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Parameter") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Condition) MarshalJSON() ([]byte, error) {
type NoMethod Condition
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Container: Represents a Google Tag Manager Container, which specifies
// the platform tags will run on, manages workspaces, and retains
// container versions.
type Container struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// ContainerId: The Container ID uniquely identifies the GTM Container.
ContainerId string `json:"containerId,omitempty"`
// DomainName: List of domain names associated with the Container.
DomainName []string `json:"domainName,omitempty"`
// Fingerprint: The fingerprint of the GTM Container as computed at
// storage time. This value is recomputed whenever the account is
// modified.
Fingerprint string `json:"fingerprint,omitempty"`
// Name: Container display name.
Name string `json:"name,omitempty"`
// Notes: Container Notes.
Notes string `json:"notes,omitempty"`
// Path: GTM Container's API relative path.
Path string `json:"path,omitempty"`
// PublicId: Container Public ID.
PublicId string `json:"publicId,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// UsageContext: List of Usage Contexts for the Container. Valid values
// include: web, android, or ios.
//
// Possible values:
// "amp"
// "android"
// "androidSdk5"
// "ios"
// "iosSdk5"
// "usageContextUnspecified"
// "web"
UsageContext []string `json:"usageContext,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Container) MarshalJSON() ([]byte, error) {
type NoMethod Container
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ContainerAccess: Defines the Google Tag Manager Container access
// permissions.
type ContainerAccess struct {
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// Permission: List of Container permissions.
//
// Possible values:
// "approve"
// "containerPermissionUnspecified"
// "edit"
// "noAccess"
// "publish"
// "read"
Permission string `json:"permission,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContainerId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContainerId") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ContainerAccess) MarshalJSON() ([]byte, error) {
type NoMethod ContainerAccess
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ContainerVersion: Represents a Google Tag Manager Container Version.
type ContainerVersion struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// BuiltInVariable: The built-in variables in the container that this
// version was taken from.
BuiltInVariable []*BuiltInVariable `json:"builtInVariable,omitempty"`
// Container: The container that this version was taken from.
Container *Container `json:"container,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// ContainerVersionId: The Container Version ID uniquely identifies the
// GTM Container Version.
ContainerVersionId string `json:"containerVersionId,omitempty"`
// Deleted: A value of true indicates this container version has been
// deleted.
Deleted bool `json:"deleted,omitempty"`
// Description: Container version description.
Description string `json:"description,omitempty"`
// Fingerprint: The fingerprint of the GTM Container Version as computed
// at storage time. This value is recomputed whenever the container
// version is modified.
Fingerprint string `json:"fingerprint,omitempty"`
// Folder: The folders in the container that this version was taken
// from.
Folder []*Folder `json:"folder,omitempty"`
// Name: Container version display name.
Name string `json:"name,omitempty"`
// Path: GTM ContainerVersions's API relative path.
Path string `json:"path,omitempty"`
// Tag: The tags in the container that this version was taken from.
Tag []*Tag `json:"tag,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// Trigger: The triggers in the container that this version was taken
// from.
Trigger []*Trigger `json:"trigger,omitempty"`
// Variable: The variables in the container that this version was taken
// from.
Variable []*Variable `json:"variable,omitempty"`
// Zone: The zones in the container that this version was taken from.
Zone []*Zone `json:"zone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ContainerVersion) MarshalJSON() ([]byte, error) {
type NoMethod ContainerVersion
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ContainerVersionHeader: Represents a Google Tag Manager Container
// Version Header.
type ContainerVersionHeader struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// ContainerVersionId: The Container Version ID uniquely identifies the
// GTM Container Version.
ContainerVersionId string `json:"containerVersionId,omitempty"`
// Deleted: A value of true indicates this container version has been
// deleted.
Deleted bool `json:"deleted,omitempty"`
// Name: Container version display name.
Name string `json:"name,omitempty"`
// NumMacros: Number of macros in the container version.
NumMacros string `json:"numMacros,omitempty"`
// NumRules: Number of rules in the container version.
NumRules string `json:"numRules,omitempty"`
// NumTags: Number of tags in the container version.
NumTags string `json:"numTags,omitempty"`
// NumTriggers: Number of triggers in the container version.
NumTriggers string `json:"numTriggers,omitempty"`
// NumVariables: Number of variables in the container version.
NumVariables string `json:"numVariables,omitempty"`
// NumZones: Number of zones in the container version.
NumZones string `json:"numZones,omitempty"`
// Path: GTM Container Versions's API relative path.
Path string `json:"path,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ContainerVersionHeader) MarshalJSON() ([]byte, error) {
type NoMethod ContainerVersionHeader
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type CreateBuiltInVariableResponse struct {
// BuiltInVariable: List of created built-in variables.
BuiltInVariable []*BuiltInVariable `json:"builtInVariable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "BuiltInVariable") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BuiltInVariable") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CreateBuiltInVariableResponse) MarshalJSON() ([]byte, error) {
type NoMethod CreateBuiltInVariableResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateContainerVersionRequestVersionOptions: Options for new
// container versions.
type CreateContainerVersionRequestVersionOptions struct {
// Name: The name of the container version to be created.
Name string `json:"name,omitempty"`
// Notes: The notes of the container version to be created.
Notes string `json:"notes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateContainerVersionRequestVersionOptions) MarshalJSON() ([]byte, error) {
type NoMethod CreateContainerVersionRequestVersionOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateContainerVersionResponse: Create container versions response.
type CreateContainerVersionResponse struct {
// CompilerError: Compiler errors or not.
CompilerError bool `json:"compilerError,omitempty"`
// ContainerVersion: The container version created.
ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
// NewWorkspacePath: Auto generated workspace path created as a result
// of version creation. This field should only be populated if the
// created version was not a quick preview.
NewWorkspacePath string `json:"newWorkspacePath,omitempty"`
// SyncStatus: Whether version creation failed when syncing the
// workspace to the latest container version.
SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CompilerError") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompilerError") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateContainerVersionResponse) MarshalJSON() ([]byte, error) {
type NoMethod CreateContainerVersionResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateWorkspaceProposalRequest: Creates a workspace proposal to start
// a review of a workspace.
type CreateWorkspaceProposalRequest struct {
// InitialComment: If present, an initial comment to associate with the
// workspace proposal.
InitialComment *WorkspaceProposalHistoryComment `json:"initialComment,omitempty"`
// Reviewers: List of users to review the workspace proposal.
Reviewers []*WorkspaceProposalUser `json:"reviewers,omitempty"`
// ForceSendFields is a list of field names (e.g. "InitialComment") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "InitialComment") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CreateWorkspaceProposalRequest) MarshalJSON() ([]byte, error) {
type NoMethod CreateWorkspaceProposalRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Entity: A workspace entity that may represent a tag, trigger,
// variable, or folder in addition to its status in the workspace.
type Entity struct {
// ChangeStatus: Represents how the entity has been changed in the
// workspace.
//
// Possible values:
// "added"
// "changeStatusUnspecified"
// "deleted"
// "none"
// "updated"
ChangeStatus string `json:"changeStatus,omitempty"`
// Folder: The Folder being represented by the entity.
Folder *Folder `json:"folder,omitempty"`
// Tag: The tag being represented by the entity.
Tag *Tag `json:"tag,omitempty"`
// Trigger: The trigger being represented by the entity.
Trigger *Trigger `json:"trigger,omitempty"`
// Variable: The variable being represented by the entity.
Variable *Variable `json:"variable,omitempty"`
// ForceSendFields is a list of field names (e.g. "ChangeStatus") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ChangeStatus") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Entity) MarshalJSON() ([]byte, error) {
type NoMethod Entity
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Environment: Represents a Google Tag Manager Environment. Note that a
// user can create, delete and update environments of type USER, but can
// only update the enable_debug and url fields of environments of other
// types.
type Environment struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// AuthorizationCode: The environment authorization code.
AuthorizationCode string `json:"authorizationCode,omitempty"`
// AuthorizationTimestamp: The last update time-stamp for the
// authorization code.
AuthorizationTimestamp *Timestamp `json:"authorizationTimestamp,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// ContainerVersionId: Represents a link to a container version.
ContainerVersionId string `json:"containerVersionId,omitempty"`
// Description: The environment description. Can be set or changed only
// on USER type environments.
Description string `json:"description,omitempty"`
// EnableDebug: Whether or not to enable debug by default for the
// environment.
EnableDebug bool `json:"enableDebug,omitempty"`
// EnvironmentId: GTM Environment ID uniquely identifies the GTM
// Environment.
EnvironmentId string `json:"environmentId,omitempty"`
// Fingerprint: The fingerprint of the GTM environment as computed at
// storage time. This value is recomputed whenever the environment is
// modified.
Fingerprint string `json:"fingerprint,omitempty"`
// Name: The environment display name. Can be set or changed only on
// USER type environments.
Name string `json:"name,omitempty"`
// Path: GTM Environment's API relative path.
Path string `json:"path,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// Type: The type of this environment.
//
// Possible values:
// "latest"
// "live"
// "user"
// "workspace"
Type string `json:"type,omitempty"`
// Url: Default preview page url for the environment.
Url string `json:"url,omitempty"`
// WorkspaceId: Represents a link to a quick preview of a workspace.
WorkspaceId string `json:"workspaceId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Environment) MarshalJSON() ([]byte, error) {
type NoMethod Environment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Folder: Represents a Google Tag Manager Folder.
type Folder struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// Fingerprint: The fingerprint of the GTM Folder as computed at storage
// time. This value is recomputed whenever the folder is modified.
Fingerprint string `json:"fingerprint,omitempty"`
// FolderId: The Folder ID uniquely identifies the GTM Folder.
FolderId string `json:"folderId,omitempty"`
// Name: Folder display name.
Name string `json:"name,omitempty"`
// Notes: User notes on how to apply this folder in the container.
Notes string `json:"notes,omitempty"`
// Path: GTM Folder's API relative path.
Path string `json:"path,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// WorkspaceId: GTM Workspace ID.
WorkspaceId string `json:"workspaceId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Folder) MarshalJSON() ([]byte, error) {
type NoMethod Folder
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FolderEntities: Represents a Google Tag Manager Folder's contents.
type FolderEntities struct {
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Tag: The list of tags inside the folder.
Tag []*Tag `json:"tag,omitempty"`
// Trigger: The list of triggers inside the folder.
Trigger []*Trigger `json:"trigger,omitempty"`
// Variable: The list of variables inside the folder.
Variable []*Variable `json:"variable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FolderEntities) MarshalJSON() ([]byte, error) {
type NoMethod FolderEntities
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GetWorkspaceStatusResponse: The changes that have occurred in the
// workspace since the base container version.
type GetWorkspaceStatusResponse struct {
// MergeConflict: The merge conflict after sync.
MergeConflict []*MergeConflict `json:"mergeConflict,omitempty"`
// WorkspaceChange: Entities that have been changed in the workspace.
WorkspaceChange []*Entity `json:"workspaceChange,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "MergeConflict") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MergeConflict") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GetWorkspaceStatusResponse) MarshalJSON() ([]byte, error) {
type NoMethod GetWorkspaceStatusResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListAccountsResponse: List Accounts Response.
type ListAccountsResponse struct {
// Account: List of GTM Accounts that a user has access to.
Account []*Account `json:"account,omitempty"`
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Account") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Account") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListAccountsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListAccountsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListContainerVersionsResponse: List container versions response.
type ListContainerVersionsResponse struct {
// ContainerVersionHeader: All container version headers of a GTM
// Container.
ContainerVersionHeader []*ContainerVersionHeader `json:"containerVersionHeader,omitempty"`
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g.
// "ContainerVersionHeader") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContainerVersionHeader")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ListContainerVersionsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListContainerVersionsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListContainersResponse: List Containers Response.
type ListContainersResponse struct {
// Container: All Containers of a GTM Account.
Container []*Container `json:"container,omitempty"`
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Container") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Container") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListContainersResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListContainersResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListEnabledBuiltInVariablesResponse: A list of enabled built-in
// variables.
type ListEnabledBuiltInVariablesResponse struct {
// BuiltInVariable: All GTM BuiltInVariables of a GTM container.
BuiltInVariable []*BuiltInVariable `json:"builtInVariable,omitempty"`
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "BuiltInVariable") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BuiltInVariable") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ListEnabledBuiltInVariablesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListEnabledBuiltInVariablesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListEnvironmentsResponse: List Environments Response.
type ListEnvironmentsResponse struct {
// Environment: All Environments of a GTM Container.
Environment []*Environment `json:"environment,omitempty"`
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Environment") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Environment") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListEnvironmentsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListFoldersResponse: List Folders Response.
type ListFoldersResponse struct {
// Folder: All GTM Folders of a GTM Container.
Folder []*Folder `json:"folder,omitempty"`
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Folder") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Folder") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListFoldersResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListFoldersResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListTagsResponse: List Tags Response.
type ListTagsResponse struct {
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Tag: All GTM Tags of a GTM Container.
Tag []*Tag `json:"tag,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListTagsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListTagsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListTriggersResponse: List triggers response.
type ListTriggersResponse struct {
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Trigger: All GTM Triggers of a GTM Container.
Trigger []*Trigger `json:"trigger,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListTriggersResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListTriggersResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListUserPermissionsResponse: List user permissions response.
type ListUserPermissionsResponse struct {
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// UserPermission: All GTM UserPermissions of a GTM Account.
UserPermission []*UserPermission `json:"userPermission,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListUserPermissionsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListUserPermissionsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListVariablesResponse: List Variables Response.
type ListVariablesResponse struct {
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Variable: All GTM Variables of a GTM Container.
Variable []*Variable `json:"variable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListVariablesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListVariablesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListWorkspacesResponse: A list of workspaces in a container.
type ListWorkspacesResponse struct {
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Workspace: All Workspaces of a GTM Container.
Workspace []*Workspace `json:"workspace,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListWorkspacesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListWorkspacesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MergeConflict: Represents a merge conflict.
type MergeConflict struct {
// EntityInBaseVersion: The base version entity (since the latest sync
// operation) that has conflicting changes compared to the workspace. If
// this field is missing, it means the workspace entity is deleted from
// the base version.
EntityInBaseVersion *Entity `json:"entityInBaseVersion,omitempty"`
// EntityInWorkspace: The workspace entity that has conflicting changes
// compared to the base version. If an entity is deleted in a workspace,
// it will still appear with a deleted change status.
EntityInWorkspace *Entity `json:"entityInWorkspace,omitempty"`
// ForceSendFields is a list of field names (e.g. "EntityInBaseVersion")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EntityInBaseVersion") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *MergeConflict) MarshalJSON() ([]byte, error) {
type NoMethod MergeConflict
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Parameter: Represents a Google Tag Manager Parameter.
type Parameter struct {
// Key: The named key that uniquely identifies a parameter. Required for
// top-level parameters, as well as map values. Ignored for list values.
Key string `json:"key,omitempty"`
// List: This list parameter's parameters (keys will be ignored).
List []*Parameter `json:"list,omitempty"`
// Map: This map parameter's parameters (must have keys; keys must be
// unique).
Map []*Parameter `json:"map,omitempty"`
// Type: The parameter type. Valid values are:
// - boolean: The value represents a boolean, represented as 'true' or
// 'false'
// - integer: The value represents a 64-bit signed integer value, in
// base 10
// - list: A list of parameters should be specified
// - map: A map of parameters should be specified
// - template: The value represents any text; this can include variable
// references (even variable references that might return non-string
// types)
//
// Possible values:
// "boolean"
// "integer"
// "list"
// "map"
// "template"
// "typeUnspecified"
Type string `json:"type,omitempty"`
// Value: A parameter's value (may contain variable references such as
// "{{myVariable}}") as appropriate to the specified type.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Parameter) MarshalJSON() ([]byte, error) {
type NoMethod Parameter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PublishContainerVersionResponse: Publish container version response.
type PublishContainerVersionResponse struct {
// CompilerError: Compiler errors or not.
CompilerError bool `json:"compilerError,omitempty"`
// ContainerVersion: The container version created.
ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CompilerError") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompilerError") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PublishContainerVersionResponse) MarshalJSON() ([]byte, error) {
type NoMethod PublishContainerVersionResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// QuickPreviewResponse: Response to quick previewing a workspace.
type QuickPreviewResponse struct {
// CompilerError: Were there compiler errors or not.
CompilerError bool `json:"compilerError,omitempty"`
// ContainerVersion: The quick previewed container version.
ContainerVersion *ContainerVersion `json:"containerVersion,omitempty"`
// SyncStatus: Whether quick previewing failed when syncing the
// workspace to the latest container version.
SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CompilerError") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompilerError") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *QuickPreviewResponse) MarshalJSON() ([]byte, error) {
type NoMethod QuickPreviewResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RevertBuiltInVariableResponse: The result of reverting a built-in
// variable in a workspace.
type RevertBuiltInVariableResponse struct {
// Enabled: Whether the built-in variable is enabled after reversion.
Enabled bool `json:"enabled,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Enabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RevertBuiltInVariableResponse) MarshalJSON() ([]byte, error) {
type NoMethod RevertBuiltInVariableResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RevertFolderResponse: The result of reverting folder changes in a
// workspace.
type RevertFolderResponse struct {
// Folder: Folder as it appears in the latest container version since
// the last workspace synchronization operation. If no folder is
// present, that means the folder was deleted in the latest container
// version.
Folder *Folder `json:"folder,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Folder") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Folder") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RevertFolderResponse) MarshalJSON() ([]byte, error) {
type NoMethod RevertFolderResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RevertTagResponse: The result of reverting a tag in a workspace.
type RevertTagResponse struct {
// Tag: Tag as it appears in the latest container version since the last
// workspace synchronization operation. If no tag is present, that means
// the tag was deleted in the latest container version.
Tag *Tag `json:"tag,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Tag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Tag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RevertTagResponse) MarshalJSON() ([]byte, error) {
type NoMethod RevertTagResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RevertTriggerResponse: The result of reverting a trigger in a
// workspace.
type RevertTriggerResponse struct {
// Trigger: Trigger as it appears in the latest container version since
// the last workspace synchronization operation. If no trigger is
// present, that means the trigger was deleted in the latest container
// version.
Trigger *Trigger `json:"trigger,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Trigger") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Trigger") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RevertTriggerResponse) MarshalJSON() ([]byte, error) {
type NoMethod RevertTriggerResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RevertVariableResponse: The result of reverting a variable in a
// workspace.
type RevertVariableResponse struct {
// Variable: Variable as it appears in the latest container version
// since the last workspace synchronization operation. If no variable is
// present, that means the variable was deleted in the latest container
// version.
Variable *Variable `json:"variable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Variable") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Variable") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RevertVariableResponse) MarshalJSON() ([]byte, error) {
type NoMethod RevertVariableResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetupTag: Represents a reference to atag that fires before another
// tag in order to set up dependencies.
type SetupTag struct {
// StopOnSetupFailure: If true, fire the main tag if and only if the
// setup tag fires successfully. If false, fire the main tag regardless
// of setup tag firing status.
StopOnSetupFailure bool `json:"stopOnSetupFailure,omitempty"`
// TagName: The name of the setup tag.
TagName string `json:"tagName,omitempty"`
// ForceSendFields is a list of field names (e.g. "StopOnSetupFailure")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "StopOnSetupFailure") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *SetupTag) MarshalJSON() ([]byte, error) {
type NoMethod SetupTag
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SyncStatus: The status of a workspace after synchronization.
type SyncStatus struct {
// MergeConflict: Synchornization operation detected a merge conflict.
MergeConflict bool `json:"mergeConflict,omitempty"`
// SyncError: An error occurred during the synchronization operation.
SyncError bool `json:"syncError,omitempty"`
// ForceSendFields is a list of field names (e.g. "MergeConflict") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MergeConflict") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SyncStatus) MarshalJSON() ([]byte, error) {
type NoMethod SyncStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SyncWorkspaceResponse: A response after synchronizing the workspace
// to the latest container version.
type SyncWorkspaceResponse struct {
// MergeConflict: The merge conflict after sync. If this field is not
// empty, the sync is still treated as successful. But a version cannot
// be created until all conflicts are resolved.
MergeConflict []*MergeConflict `json:"mergeConflict,omitempty"`
// SyncStatus: Indicates whether synchronization caused a merge conflict
// or sync error.
SyncStatus *SyncStatus `json:"syncStatus,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "MergeConflict") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MergeConflict") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SyncWorkspaceResponse) MarshalJSON() ([]byte, error) {
type NoMethod SyncWorkspaceResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Tag: Represents a Google Tag Manager Tag.
type Tag struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// BlockingRuleId: Blocking rule IDs. If any of the listed rules
// evaluate to true, the tag will not fire.
BlockingRuleId []string `json:"blockingRuleId,omitempty"`
// BlockingTriggerId: Blocking trigger IDs. If any of the listed
// triggers evaluate to true, the tag will not fire.
BlockingTriggerId []string `json:"blockingTriggerId,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// Fingerprint: The fingerprint of the GTM Tag as computed at storage
// time. This value is recomputed whenever the tag is modified.
Fingerprint string `json:"fingerprint,omitempty"`
// FiringRuleId: Firing rule IDs. A tag will fire when any of the listed
// rules are true and all of its blockingRuleIds (if any specified) are
// false.
FiringRuleId []string `json:"firingRuleId,omitempty"`
// FiringTriggerId: Firing trigger IDs. A tag will fire when any of the
// listed triggers are true and all of its blockingTriggerIds (if any
// specified) are false.
FiringTriggerId []string `json:"firingTriggerId,omitempty"`
// LiveOnly: If set to true, this tag will only fire in the live
// environment (e.g. not in preview or debug mode).
LiveOnly bool `json:"liveOnly,omitempty"`
// Name: Tag display name.
Name string `json:"name,omitempty"`
// Notes: User notes on how to apply this tag in the container.
Notes string `json:"notes,omitempty"`
// Parameter: The tag's parameters.
Parameter []*Parameter `json:"parameter,omitempty"`
// ParentFolderId: Parent folder id.
ParentFolderId string `json:"parentFolderId,omitempty"`
// Path: GTM Tag's API relative path.
Path string `json:"path,omitempty"`
// Paused: Indicates whether the tag is paused, which prevents the tag
// from firing.
Paused bool `json:"paused,omitempty"`
// Priority: User defined numeric priority of the tag. Tags are fired
// asynchronously in order of priority. Tags with higher numeric value
// fire first. A tag's priority can be a positive or negative value. The
// default value is 0.
Priority *Parameter `json:"priority,omitempty"`
// ScheduleEndMs: The end timestamp in milliseconds to schedule a tag.
ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
// ScheduleStartMs: The start timestamp in milliseconds to schedule a
// tag.
ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
// SetupTag: The list of setup tags. Currently we only allow one.
SetupTag []*SetupTag `json:"setupTag,omitempty"`
// TagFiringOption: Option to fire this tag.
//
// Possible values:
// "oncePerEvent"
// "oncePerLoad"
// "tagFiringOptionUnspecified"
// "unlimited"
TagFiringOption string `json:"tagFiringOption,omitempty"`
// TagId: The Tag ID uniquely identifies the GTM Tag.
TagId string `json:"tagId,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// TeardownTag: The list of teardown tags. Currently we only allow one.
TeardownTag []*TeardownTag `json:"teardownTag,omitempty"`
// Type: GTM Tag Type.
Type string `json:"type,omitempty"`
// WorkspaceId: GTM Workspace ID.
WorkspaceId string `json:"workspaceId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Tag) MarshalJSON() ([]byte, error) {
type NoMethod Tag
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TeardownTag: Represents a tag that fires after another tag in order
// to tear down dependencies.
type TeardownTag struct {
// StopTeardownOnFailure: If true, fire the teardown tag if and only if
// the main tag fires successfully. If false, fire the teardown tag
// regardless of main tag firing status.
StopTeardownOnFailure bool `json:"stopTeardownOnFailure,omitempty"`
// TagName: The name of the teardown tag.
TagName string `json:"tagName,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "StopTeardownOnFailure") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "StopTeardownOnFailure") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *TeardownTag) MarshalJSON() ([]byte, error) {
type NoMethod TeardownTag
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Timestamp: A Timestamp represents a point in time independent of any
// time zone or calendar, represented as seconds and fractions of
// seconds at nanosecond resolution in UTC Epoch time. It is encoded
// using the Proleptic Gregorian Calendar which extends the Gregorian
// calendar backwards to year one. It is encoded assuming all minutes
// are 60 seconds long, i.e. leap seconds are "smeared" so that no leap
// second table is needed for interpretation. Range is from
// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
// restricting to that range, we ensure that we can convert to and from
// RFC 3339 date strings. See
// [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc333
// 9.txt).
//
// # Examples
//
// Example 1: Compute Timestamp from POSIX `time()`.
//
// Timestamp timestamp; timestamp.set_seconds(time(NULL));
// timestamp.set_nanos(0);
//
// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
//
// struct timeval tv; gettimeofday(&tv, NULL);
//
// Timestamp timestamp; timestamp.set_seconds(tv.tv_sec);
// timestamp.set_nanos(tv.tv_usec * 1000);
//
// Example 3: Compute Timestamp from Win32
// `GetSystemTimeAsFileTime()`.
//
// FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks =
// (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
//
// // A Windows tick is 100 nanoseconds. Windows epoch
// 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch
// 1970-01-01T00:00:00Z. Timestamp timestamp;
// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
//
// Example 4: Compute Timestamp from Java
// `System.currentTimeMillis()`.
//
// long millis = System.currentTimeMillis();
//
// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis /
// 1000) .setNanos((int) ((millis % 1000) *
// 1000000)).build();
//
//
//
// Example 5: Compute Timestamp from current time in Python.
//
// timestamp = Timestamp() timestamp.GetCurrentTime()
//
// # JSON Mapping
//
// In JSON format, the Timestamp type is encoded as a string in the [RFC
// 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
// where {year} is always expressed using four digits while {month},
// {day}, {hour}, {min}, and {sec} are zero-padded to two digits each.
// The fractional seconds, which can go up to 9 digits (i.e. up to 1
// nanosecond resolution), are optional. The "Z" suffix indicates the
// timezone ("UTC"); the timezone is required, though only UTC (as
// indicated by "Z") is presently supported.
//
// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
// 01:30 UTC on January 15, 2017.
//
// In JavaScript, one can convert a Date object to this format using the
// standard
// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
// t/Reference/Global_Objects/Date/toISOString] method. In Python, a
// standard `datetime.datetime` object can be converted to this format
// using
// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime
// ) with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in
// Java, one can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) to obtain a formatter capable of generating timestamps in this
// format.
type Timestamp struct {
// Nanos: Non-negative fractions of a second at nanosecond resolution.
// Negative second values with fractions must still have non-negative
// nanos values that count forward in time. Must be from 0 to
// 999,999,999 inclusive.
Nanos int64 `json:"nanos,omitempty"`
// Seconds: Represents seconds of UTC time since Unix epoch
// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
// 9999-12-31T23:59:59Z inclusive.
Seconds int64 `json:"seconds,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Nanos") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Nanos") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Timestamp) MarshalJSON() ([]byte, error) {
type NoMethod Timestamp
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Trigger: Represents a Google Tag Manager Trigger
type Trigger struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// AutoEventFilter: Used in the case of auto event tracking.
AutoEventFilter []*Condition `json:"autoEventFilter,omitempty"`
// CheckValidation: Whether or not we should only fire tags if the form
// submit or link click event is not cancelled by some other event
// handler (e.g. because of validation). Only valid for Form Submission
// and Link Click triggers.
CheckValidation *Parameter `json:"checkValidation,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// ContinuousTimeMinMilliseconds: A visibility trigger minimum
// continuous visible time (in milliseconds). Only valid for AMP
// Visibility trigger.
ContinuousTimeMinMilliseconds *Parameter `json:"continuousTimeMinMilliseconds,omitempty"`
// CustomEventFilter: Used in the case of custom event, which is fired
// iff all Conditions are true.
CustomEventFilter []*Condition `json:"customEventFilter,omitempty"`
// EventName: Name of the GTM event that is fired. Only valid for Timer
// triggers.
EventName *Parameter `json:"eventName,omitempty"`
// Filter: The trigger will only fire iff all Conditions are true.
Filter []*Condition `json:"filter,omitempty"`
// Fingerprint: The fingerprint of the GTM Trigger as computed at
// storage time. This value is recomputed whenever the trigger is
// modified.
Fingerprint string `json:"fingerprint,omitempty"`
// HorizontalScrollPercentageList: List of integer percentage values for
// scroll triggers. The trigger will fire when each percentage is
// reached when the view is scrolled horizontally. Only valid for AMP
// scroll triggers.
HorizontalScrollPercentageList *Parameter `json:"horizontalScrollPercentageList,omitempty"`
// Interval: Time between triggering recurring Timer Events (in
// milliseconds). Only valid for Timer triggers.
Interval *Parameter `json:"interval,omitempty"`
// IntervalSeconds: Time between Timer Events to fire (in seconds). Only
// valid for AMP Timer trigger.
IntervalSeconds *Parameter `json:"intervalSeconds,omitempty"`
// Limit: Limit of the number of GTM events this Timer Trigger will
// fire. If no limit is set, we will continue to fire GTM events until
// the user leaves the page. Only valid for Timer triggers.
Limit *Parameter `json:"limit,omitempty"`
// MaxTimerLengthSeconds: Max time to fire Timer Events (in seconds).
// Only valid for AMP Timer trigger.
MaxTimerLengthSeconds *Parameter `json:"maxTimerLengthSeconds,omitempty"`
// Name: Trigger display name.
Name string `json:"name,omitempty"`
// Notes: User notes on how to apply this trigger in the container.
Notes string `json:"notes,omitempty"`
// Parameter: Additional parameters.
Parameter []*Parameter `json:"parameter,omitempty"`
// ParentFolderId: Parent folder id.
ParentFolderId string `json:"parentFolderId,omitempty"`
// Path: GTM Trigger's API relative path.
Path string `json:"path,omitempty"`
// Selector: A click trigger CSS selector (i.e. "a", "button" etc.).
// Only valid for AMP Click trigger.
Selector *Parameter `json:"selector,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// TotalTimeMinMilliseconds: A visibility trigger minimum total visible
// time (in milliseconds). Only valid for AMP Visibility trigger.
TotalTimeMinMilliseconds *Parameter `json:"totalTimeMinMilliseconds,omitempty"`
// TriggerId: The Trigger ID uniquely identifies the GTM Trigger.
TriggerId string `json:"triggerId,omitempty"`
// Type: Defines the data layer event that causes this trigger.
//
// Possible values:
// "always"
// "ampClick"
// "ampScroll"
// "ampTimer"
// "ampVisibility"
// "click"
// "customEvent"
// "domReady"
// "elementVisibility"
// "eventTypeUnspecified"
// "firebaseAppException"
// "firebaseAppUpdate"
// "firebaseCampaign"
// "firebaseFirstOpen"
// "firebaseInAppPurchase"
// "firebaseNotificationDismiss"
// "firebaseNotificationForeground"
// "firebaseNotificationOpen"
// "firebaseNotificationReceive"
// "firebaseOsUpdate"
// "firebaseSessionStart"
// "firebaseUserEngagement"
// "formSubmission"
// "historyChange"
// "jsError"
// "linkClick"
// "pageview"
// "scrollDepth"
// "timer"
// "windowLoaded"
// "youTubeVideo"
Type string `json:"type,omitempty"`
// UniqueTriggerId: Globally unique id of the trigger that
// auto-generates this (a Form Submit, Link Click or Timer listener) if
// any. Used to make incompatible auto-events work together with trigger
// filtering based on trigger ids. This value is populated during output
// generation since the tags implied by triggers don't exist until then.
// Only valid for Form Submit, Link Click and Timer triggers.
UniqueTriggerId *Parameter `json:"uniqueTriggerId,omitempty"`
// VerticalScrollPercentageList: List of integer percentage values for
// scroll triggers. The trigger will fire when each percentage is
// reached when the view is scrolled vertically. Only valid for AMP
// scroll triggers.
VerticalScrollPercentageList *Parameter `json:"verticalScrollPercentageList,omitempty"`
// VisibilitySelector: A visibility trigger CSS selector (i.e. "#id").
// Only valid for AMP Visibility trigger.
VisibilitySelector *Parameter `json:"visibilitySelector,omitempty"`
// VisiblePercentageMax: A visibility trigger maximum percent
// visibility. Only valid for AMP Visibility trigger.
VisiblePercentageMax *Parameter `json:"visiblePercentageMax,omitempty"`
// VisiblePercentageMin: A visibility trigger minimum percent
// visibility. Only valid for AMP Visibility trigger.
VisiblePercentageMin *Parameter `json:"visiblePercentageMin,omitempty"`
// WaitForTags: Whether or not we should delay the form submissions or
// link opening until all of the tags have fired (by preventing the
// default action and later simulating the default action). Only valid
// for Form Submission and Link Click triggers.
WaitForTags *Parameter `json:"waitForTags,omitempty"`
// WaitForTagsTimeout: How long to wait (in milliseconds) for tags to
// fire when 'waits_for_tags' above evaluates to true. Only valid for
// Form Submission and Link Click triggers.
WaitForTagsTimeout *Parameter `json:"waitForTagsTimeout,omitempty"`
// WorkspaceId: GTM Workspace ID.
WorkspaceId string `json:"workspaceId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Trigger) MarshalJSON() ([]byte, error) {
type NoMethod Trigger
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UpdateWorkspaceProposalRequest: Updates a workspace proposal with
// patch-like semantics.
type UpdateWorkspaceProposalRequest struct {
// Fingerprint: When provided, this fingerprint must match the
// fingerprint of the proposal in storage.
Fingerprint string `json:"fingerprint,omitempty"`
// NewComment: If present, a new comment is added to the workspace
// proposal history.
NewComment *WorkspaceProposalHistoryComment `json:"newComment,omitempty"`
// Reviewers: If present, the list of reviewers of the workspace
// proposal is updated.
Reviewers []*WorkspaceProposalUser `json:"reviewers,omitempty"`
// Status: If present, the status of the workspace proposal is updated.
//
// Possible values:
// "approved"
// "cancelled"
// "completed"
// "requested"
// "reviewed"
// "statusUnspecified"
Status string `json:"status,omitempty"`
// ForceSendFields is a list of field names (e.g. "Fingerprint") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Fingerprint") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *UpdateWorkspaceProposalRequest) MarshalJSON() ([]byte, error) {
type NoMethod UpdateWorkspaceProposalRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UserPermission: Represents a user's permissions to an account and its
// container.
type UserPermission struct {
// AccountAccess: GTM Account access permissions.
AccountAccess *AccountAccess `json:"accountAccess,omitempty"`
// AccountId: The Account ID uniquely identifies the GTM Account.
AccountId string `json:"accountId,omitempty"`
// ContainerAccess: GTM Container access permissions.
ContainerAccess []*ContainerAccess `json:"containerAccess,omitempty"`
// EmailAddress: User's email address.
EmailAddress string `json:"emailAddress,omitempty"`
// Path: GTM UserPermission's API relative path.
Path string `json:"path,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountAccess") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountAccess") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *UserPermission) MarshalJSON() ([]byte, error) {
type NoMethod UserPermission
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Variable: Represents a Google Tag Manager Variable.
type Variable struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// DisablingTriggerId: For mobile containers only: A list of trigger IDs
// for disabling conditional variables; the variable is enabled if one
// of the enabling trigger is true while all the disabling trigger are
// false. Treated as an unordered set.
DisablingTriggerId []string `json:"disablingTriggerId,omitempty"`
// EnablingTriggerId: For mobile containers only: A list of trigger IDs
// for enabling conditional variables; the variable is enabled if one of
// the enabling triggers is true while all the disabling triggers are
// false. Treated as an unordered set.
EnablingTriggerId []string `json:"enablingTriggerId,omitempty"`
// Fingerprint: The fingerprint of the GTM Variable as computed at
// storage time. This value is recomputed whenever the variable is
// modified.
Fingerprint string `json:"fingerprint,omitempty"`
// Name: Variable display name.
Name string `json:"name,omitempty"`
// Notes: User notes on how to apply this variable in the container.
Notes string `json:"notes,omitempty"`
// Parameter: The variable's parameters.
Parameter []*Parameter `json:"parameter,omitempty"`
// ParentFolderId: Parent folder id.
ParentFolderId string `json:"parentFolderId,omitempty"`
// Path: GTM Variable's API relative path.
Path string `json:"path,omitempty"`
// ScheduleEndMs: The end timestamp in milliseconds to schedule a
// variable.
ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
// ScheduleStartMs: The start timestamp in milliseconds to schedule a
// variable.
ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// Type: GTM Variable Type.
Type string `json:"type,omitempty"`
// VariableId: The Variable ID uniquely identifies the GTM Variable.
VariableId string `json:"variableId,omitempty"`
// WorkspaceId: GTM Workspace ID.
WorkspaceId string `json:"workspaceId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Variable) MarshalJSON() ([]byte, error) {
type NoMethod Variable
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Workspace: Represents a Google Tag Manager Container Workspace.
type Workspace struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// Description: Workspace description.
Description string `json:"description,omitempty"`
// Fingerprint: The fingerprint of the GTM Workspace as computed at
// storage time. This value is recomputed whenever the workspace is
// modified.
Fingerprint string `json:"fingerprint,omitempty"`
// Name: Workspace display name.
Name string `json:"name,omitempty"`
// Path: GTM Workspace's API relative path.
Path string `json:"path,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// WorkspaceId: The Workspace ID uniquely identifies the GTM Workspace.
WorkspaceId string `json:"workspaceId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Workspace) MarshalJSON() ([]byte, error) {
type NoMethod Workspace
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkspaceProposal: A workspace proposal represents an ongoing review
// of workspace changes in an effort to gain approval for container
// version creation.
type WorkspaceProposal struct {
// Authors: List of authors for the workspace proposal.
Authors []*WorkspaceProposalUser `json:"authors,omitempty"`
// Fingerprint: The fingerprint of the GTM workspace proposal as
// computed at storage time. This value is recomputed whenever the
// proposal is modified.
Fingerprint string `json:"fingerprint,omitempty"`
// History: Records the history of comments and status changes.
History []*WorkspaceProposalHistory `json:"history,omitempty"`
// Path: GTM workspace proposal's relative path.
Path string `json:"path,omitempty"`
// Reviewers: Lists of reviewers for the workspace proposal.
Reviewers []*WorkspaceProposalUser `json:"reviewers,omitempty"`
// Status: The status of the workspace proposal as it goes through
// review.
//
// Possible values:
// "approved"
// "cancelled"
// "completed"
// "requested"
// "reviewed"
// "statusUnspecified"
Status string `json:"status,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Authors") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Authors") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WorkspaceProposal) MarshalJSON() ([]byte, error) {
type NoMethod WorkspaceProposal
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkspaceProposalHistory: A history event that represents a comment
// or status change in the proposal.
type WorkspaceProposalHistory struct {
// Comment: A user or reviewer comment.
Comment *WorkspaceProposalHistoryComment `json:"comment,omitempty"`
// CreatedBy: The party responsible for the change in history.
CreatedBy *WorkspaceProposalUser `json:"createdBy,omitempty"`
// CreatedTimestamp: When this history event was added to the workspace
// proposal.
CreatedTimestamp *Timestamp `json:"createdTimestamp,omitempty"`
// StatusChange: A change in the proposal's status.
StatusChange *WorkspaceProposalHistoryStatusChange `json:"statusChange,omitempty"`
// Type: The history type distinguishing between comments and status
// changes.
//
// Possible values:
// "comment"
// "statusChange"
// "unspecified"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Comment") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Comment") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WorkspaceProposalHistory) MarshalJSON() ([]byte, error) {
type NoMethod WorkspaceProposalHistory
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkspaceProposalHistoryComment: A comment from the reviewer or
// author.
type WorkspaceProposalHistoryComment struct {
// Content: The contents of the reviewer or author comment.
Content string `json:"content,omitempty"`
// ForceSendFields is a list of field names (e.g. "Content") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Content") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WorkspaceProposalHistoryComment) MarshalJSON() ([]byte, error) {
type NoMethod WorkspaceProposalHistoryComment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkspaceProposalHistoryStatusChange: A change in the proposal's
// status.
type WorkspaceProposalHistoryStatusChange struct {
// NewStatus: The new proposal status after that status change.
//
// Possible values:
// "approved"
// "cancelled"
// "completed"
// "requested"
// "reviewed"
// "statusUnspecified"
NewStatus string `json:"newStatus,omitempty"`
// OldStatus: The old proposal status before the status change.
//
// Possible values:
// "approved"
// "cancelled"
// "completed"
// "requested"
// "reviewed"
// "statusUnspecified"
OldStatus string `json:"oldStatus,omitempty"`
// ForceSendFields is a list of field names (e.g. "NewStatus") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NewStatus") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WorkspaceProposalHistoryStatusChange) MarshalJSON() ([]byte, error) {
type NoMethod WorkspaceProposalHistoryStatusChange
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkspaceProposalUser: Represents an external user or internal Google
// Tag Manager system.
type WorkspaceProposalUser struct {
// GaiaId: Gaia id associated with a user, absent for the Google Tag
// Manager system.
GaiaId int64 `json:"gaiaId,omitempty,string"`
// Type: User type distinguishes between a user and the Google Tag
// Manager system.
//
// Possible values:
// "gaiaId"
// "system"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "GaiaId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GaiaId") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WorkspaceProposalUser) MarshalJSON() ([]byte, error) {
type NoMethod WorkspaceProposalUser
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Zone: Represents a Google Tag Manager Zone's contents.
type Zone struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// Boundary: This Zone's boundary.
Boundary *ZoneBoundary `json:"boundary,omitempty"`
// ChildContainer: Containers that are children of this Zone.
ChildContainer []*ZoneChildContainer `json:"childContainer,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// Fingerprint: The fingerprint of the GTM Zone as computed at storage
// time. This value is recomputed whenever the zone is modified.
Fingerprint string `json:"fingerprint,omitempty"`
// Name: Zone display name.
Name string `json:"name,omitempty"`
// Notes: User notes on how to apply this zone in the container.
Notes string `json:"notes,omitempty"`
// Path: GTM Zone's API relative path.
Path string `json:"path,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// TypeRestriction: This Zone's type restrictions.
TypeRestriction *ZoneTypeRestriction `json:"typeRestriction,omitempty"`
// WorkspaceId: GTM Workspace ID.
WorkspaceId string `json:"workspaceId,omitempty"`
// ZoneId: The Zone ID uniquely identifies the GTM Zone.
ZoneId string `json:"zoneId,omitempty"`
// ForceSendFields is a list of field names (e.g. "AccountId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Zone) MarshalJSON() ([]byte, error) {
type NoMethod Zone
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ZoneBoundary: Represents a Zone's boundaries.
type ZoneBoundary struct {
// Condition: The conditions that, when conjoined, make up the boundary.
Condition []*Condition `json:"condition,omitempty"`
// CustomEvaluationTriggerId: Custom evaluation trigger IDs. A zone will
// evaluate its boundary conditions when any of the listed triggers are
// true.
CustomEvaluationTriggerId []string `json:"customEvaluationTriggerId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Condition") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Condition") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ZoneBoundary) MarshalJSON() ([]byte, error) {
type NoMethod ZoneBoundary
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ZoneChildContainer: Represents a child container of a Zone.
type ZoneChildContainer struct {
// Nickname: The zone's nickname for the child container.
Nickname string `json:"nickname,omitempty"`
// PublicId: The child container's public id.
PublicId string `json:"publicId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Nickname") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Nickname") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ZoneChildContainer) MarshalJSON() ([]byte, error) {
type NoMethod ZoneChildContainer
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ZoneTypeRestriction: Represents a Zone's type restrictions.
type ZoneTypeRestriction struct {
// Enable: True if type restrictions have been enabled for this Zone.
Enable bool `json:"enable,omitempty"`
// WhitelistedTypeId: List of type public ids that have been whitelisted
// for use in this Zone.
WhitelistedTypeId []string `json:"whitelistedTypeId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Enable") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enable") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ZoneTypeRestriction) MarshalJSON() ([]byte, error) {
type NoMethod ZoneTypeRestriction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "tagmanager.accounts.get":
type AccountsGetCall struct {
s *Service
path string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a GTM Account.
func (r *AccountsService) Get(path string) *AccountsGetCall {
c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.path = path
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *AccountsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"path": c.path,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "tagmanager.accounts.get" call.
// Exactly one of *Account or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Account.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Account{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Gets a GTM Account.",
// "httpMethod": "GET",
// "id": "tagmanager.accounts.get",
// "parameterOrder": [
// "path"
// ],
// "parameters": {
// "path": {
// "description": "GTM Accounts's API relative path. Example: accounts/{account_id}",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "{+path}",
// "response": {
// "$ref": "Account"
// },
// "scopes": [
// "https://www.googleapis.com/auth/tagmanager.edit.containers",
// "https://www.googleapis.com/auth/tagmanager.manage.accounts",
// "https://www.googleapis.com/auth/tagmanager.readonly"
// ]
// }
}
// method id "tagmanager.accounts.list":
type AccountsListCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists all GTM Accounts that a user has access to.
func (r *AccountsService) List() *AccountsListCall {
c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
return c
}
// PageToken sets the optional parameter "pageToken": Continuation token
// for fetching the next page of results.
func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *AccountsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "accounts")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "tagmanager.accounts.list" call.
// Exactly one of *ListAccountsResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *ListAccountsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*ListAccountsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &ListAccountsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists all GTM Accounts that a user has access to.",
// "httpMethod": "GET",
// "id": "tagmanager.accounts.list",
// "parameters": {
// "pageToken": {
// "description": "Continuation token for fetching the next page of results.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "accounts",
// "response": {
// "$ref": "ListAccountsResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/tagmanager.edit.containers",
// "https://www.googleapis.com/auth/tagmanager.manage.accounts",
// "https://www.googleapis.com/auth/tagmanager.readonly"
// ]
// }
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *AccountsListCall) Pages(ctx context.Context, f func(*ListAccountsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
// method id "tagmanager.accounts.update":
type AccountsUpdateCall struct {
s *Service
path string
account *Account
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Update: Updates a GTM Account.
func (r *AccountsService) Update(path string, account *Account) *AccountsUpdateCall {
c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.path = path
c.account = account
return c
}
// Fingerprint sets the optional parameter "fingerprint": When provided,
// this fingerprint must match the fingerprint of the account in
// storage.
func (c *AccountsUpdateCall) Fingerprint(fingerprint string) *AccountsUpdateCall {
c.urlParams_.Set("fingerprint", fingerprint)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *AccountsUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "{+path}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PUT", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"path": c.path,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "tagmanager.accounts.update" call.
// Exactly one of *Account or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Account.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Account{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates a GTM Account.",
// "httpMethod": "PUT",
// "id": "tagmanager.accounts.update",
// "parameterOrder": [
// "path"
// ],
// "parameters": {
// "fingerprint": {
// "description": "When provided, this fingerprint must match the fingerprint of the account in storage.",
// "location": "query",
// "type": "string"
// },
// "path": {
// "description": "GTM Accounts's API relative path. Example: accounts/{account_id}",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "{+path}",
// "request": {
// "$ref": "Account"
// },
// "response": {
// "$ref": "Account"
// },
// "scopes": [
// "https://www.googleapis.com/auth/tagmanager.manage.accounts"
// ]
// }
}
// method id "tagmanager.accounts.containers.create":
type AccountsContainersCreateCall struct {
s *Service
parent string
container