blob: 72b281149ffd4cb31657f7f56a42945812f59c9d [file] [log] [blame]
// Copyright 2020 Google LLC.
// 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.
//
// For product documentation, see: https://developers.google.com/tag-manager
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/tagmanager/v2"
// ...
// ctx := context.Background()
// tagmanagerService, err := tagmanager.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
//
// tagmanagerService, err := tagmanager.NewService(ctx, option.WithScopes(tagmanager.TagmanagerReadonlyScope))
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// tagmanagerService, err := tagmanager.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// tagmanagerService, err := tagmanager.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package tagmanager // import "google.golang.org/api/tagmanager/v2"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
htransport "google.golang.org/api/transport/http"
)
// 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/"
// 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"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/tagmanager.delete.containers",
"https://www.googleapis.com/auth/tagmanager.edit.containers",
"https://www.googleapis.com/auth/tagmanager.edit.containerversions",
"https://www.googleapis.com/auth/tagmanager.manage.accounts",
"https://www.googleapis.com/auth/tagmanager.manage.users",
"https://www.googleapis.com/auth/tagmanager.publish",
"https://www.googleapis.com/auth/tagmanager.readonly",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
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.Tags = NewAccountsContainersWorkspacesTagsService(s)
rs.Templates = NewAccountsContainersWorkspacesTemplatesService(s)
rs.Triggers = NewAccountsContainersWorkspacesTriggersService(s)
rs.Variables = NewAccountsContainersWorkspacesVariablesService(s)
rs.Zones = NewAccountsContainersWorkspacesZonesService(s)
return rs
}
type AccountsContainersWorkspacesService struct {
s *Service
BuiltInVariables *AccountsContainersWorkspacesBuiltInVariablesService
Folders *AccountsContainersWorkspacesFoldersService
Tags *AccountsContainersWorkspacesTagsService
Templates *AccountsContainersWorkspacesTemplatesService
Triggers *AccountsContainersWorkspacesTriggersService
Variables *AccountsContainersWorkspacesVariablesService
Zones *AccountsContainersWorkspacesZonesService
}
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 NewAccountsContainersWorkspacesTagsService(s *Service) *AccountsContainersWorkspacesTagsService {
rs := &AccountsContainersWorkspacesTagsService{s: s}
return rs
}
type AccountsContainersWorkspacesTagsService struct {
s *Service
}
func NewAccountsContainersWorkspacesTemplatesService(s *Service) *AccountsContainersWorkspacesTemplatesService {
rs := &AccountsContainersWorkspacesTemplatesService{s: s}
return rs
}
type AccountsContainersWorkspacesTemplatesService 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 NewAccountsContainersWorkspacesZonesService(s *Service) *AccountsContainersWorkspacesZonesService {
rs := &AccountsContainersWorkspacesZonesService{s: s}
return rs
}
type AccountsContainersWorkspacesZonesService 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.
// @mutable tagmanager.accounts.create
// @mutable tagmanager.accounts.update
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.
// @mutable tagmanager.accounts.create
// @mutable tagmanager.accounts.update
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.
// @mutable tagmanager.accounts.permissions.create
// @mutable tagmanager.accounts.permissions.update
//
// Possible values:
// "accountPermissionUnspecified"
// "noAccess"
// "user"
// "admin"
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.
// @required.tagmanager.accounts.containers.workspaces.built_in
// _variable.update
// @mutable
// tagmanager.accounts.containers.workspaces.built_in_variable.update
//
// Possible values:
// "builtInVariableTypeUnspecified"
// "pageUrl"
// "pageHostname"
// "pagePath"
// "referrer"
// "event" - For web or mobile.
// "clickElement"
// "clickClasses"
// "clickId"
// "clickTarget"
// "clickUrl"
// "clickText"
// "firstPartyServingUrl"
// "formElement"
// "formClasses"
// "formId"
// "formTarget"
// "formUrl"
// "formText"
// "errorMessage"
// "errorUrl"
// "errorLine"
// "newHistoryUrl"
// "oldHistoryUrl"
// "newHistoryFragment"
// "oldHistoryFragment"
// "newHistoryState"
// "oldHistoryState"
// "historySource"
// "containerVersion" - For web or mobile.
// "debugMode"
// "randomNumber" - For web or mobile.
// "containerId" - For web or mobile.
// "appId"
// "appName"
// "appVersionCode"
// "appVersionName"
// "language"
// "osVersion"
// "platform"
// "sdkVersion"
// "deviceName"
// "resolution"
// "advertiserId"
// "advertisingTrackingEnabled"
// "htmlId"
// "environmentName"
// "ampBrowserLanguage"
// "ampCanonicalPath"
// "ampCanonicalUrl"
// "ampCanonicalHost"
// "ampReferrer"
// "ampTitle"
// "ampClientId"
// "ampClientTimezone"
// "ampClientTimestamp"
// "ampClientScreenWidth"
// "ampClientScreenHeight"
// "ampClientScrollX"
// "ampClientScrollY"
// "ampClientMaxScrollX"
// "ampClientMaxScrollY"
// "ampTotalEngagedTime"
// "ampPageViewId"
// "ampPageLoadTime"
// "ampPageDownloadTime"
// "ampGtmEvent"
// "eventName"
// "firebaseEventParameterCampaign"
// "firebaseEventParameterCampaignAclid"
// "firebaseEventParameterCampaignAnid"
// "firebaseEventParameterCampaignClickTimestamp"
// "firebaseEventParameterCampaignContent"
// "firebaseEventParameterCampaignCp1"
// "firebaseEventParameterCampaignGclid"
// "firebaseEventParameterCampaignSource"
// "firebaseEventParameterCampaignTerm"
// "firebaseEventParameterCurrency"
// "firebaseEventParameterDynamicLinkAcceptTime"
// "firebaseEventParameterDynamicLinkLinkid"
// "firebaseEventParameterNotificationMessageDeviceTime"
// "firebaseEventParameterNotificationMessageId"
// "firebaseEventParameterNotificationMessageName"
// "firebaseEventParameterNotificationMessageTime"
// "firebaseEventParameterNotificationTopic"
// "firebaseEventParameterPreviousAppVersion"
// "firebaseEventParameterPreviousOsVersion"
// "firebaseEventParameterPrice"
// "firebaseEventParameterProductId"
// "firebaseEventParameterQuantity"
// "firebaseEventParameterValue"
// "videoProvider"
// "videoUrl"
// "videoTitle"
// "videoDuration"
// "videoPercent"
// "videoVisible"
// "videoStatus"
// "videoCurrentTime"
// "scrollDepthThreshold"
// "scrollDepthUnits"
// "scrollDepthDirection"
// "elementVisibilityRatio"
// "elementVisibilityTime"
// "elementVisibilityFirstTime"
// "elementVisibilityRecentTime"
// "requestPath"
// "requestMethod"
// "clientName"
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)
}
type Client struct {
// AccountId: GTM Account ID.
AccountId string `json:"accountId,omitempty"`
// ClientId: The Client ID uniquely identifies the GTM client.
ClientId string `json:"clientId,omitempty"`
// ContainerId: GTM Container ID.
ContainerId string `json:"containerId,omitempty"`
// Fingerprint: The fingerprint of the GTM Client as computed at storage
// time.
// This value is recomputed whenever the client is modified.
Fingerprint string `json:"fingerprint,omitempty"`
// Name: Client display name.
// @mutable
// tagmanager.accounts.containers.workspaces.clients.create
// @mutable tagmanager.accounts.containers.workspaces.clients.update
Name string `json:"name,omitempty"`
// Parameter: The client's parameters.
// @mutable
// tagmanager.accounts.containers.workspaces.clients.create
// @mutable tagmanager.accounts.containers.workspaces.clients.update
Parameter []*Parameter `json:"parameter,omitempty"`
// Path: GTM client's API relative path.
Path string `json:"path,omitempty"`
// Priority: Priority determines relative firing order.
// @mutable
// tagmanager.accounts.containers.workspaces.clients.create
// @mutable tagmanager.accounts.containers.workspaces.clients.update
Priority int64 `json:"priority,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// Type: Client type.
// @mutable
// tagmanager.accounts.containers.workspaces.clients.create
// @mutable tagmanager.accounts.containers.workspaces.clients.update
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 *Client) MarshalJSON() ([]byte, error) {
type NoMethod Client
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:<ul>
// <li>For binary operators, include parameters named <code>arg0</code>
// and
// <code>arg1</code> for specifying the left and right operands,
// respectively.</li>
// <li>At this time, the left operand (<code>arg0</code>) must be a
// reference
// to a variable.</li>
// <li>For case-insensitive Regex matching, include a boolean parameter
// named
// <code>ignore_case</code> that is set to <code>true</code>.
// If not specified or set to any other value, the matching will be
// case
// sensitive.</li>
// <li>To negate an operator, include a boolean parameter named
// <code>negate</code> boolean parameter that is set to
// <code>true</code>.
// </li>
// </ul>
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
Parameter []*Parameter `json:"parameter,omitempty"`
// Type: The type of operator for this condition.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
//
// Possible values:
// "conditionTypeUnspecified"
// "equals"
// "contains"
// "startsWith"
// "endsWith"
// "matchRegex"
// "greater"
// "greaterOrEquals"
// "less"
// "lessOrEquals"
// "cssSelector"
// "urlMatches" - NOTE(lanzone): When defining a ConditionType here,
// don't forget to also
// define a matching PredicateType (in condition.proto).
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.
// @mutable tagmanager.accounts.containers.create
// @mutable tagmanager.accounts.containers.update
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.
// @mutable tagmanager.accounts.containers.create
// @mutable tagmanager.accounts.containers.update
Name string `json:"name,omitempty"`
// Notes: Container Notes.
// @mutable tagmanager.accounts.containers.create
// @mutable tagmanager.accounts.containers.update
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: <code>web,
// android, or ios</code>.
// @mutable tagmanager.accounts.containers.create
// @mutable tagmanager.accounts.containers.update
//
// Possible values:
// "usageContextUnspecified"
// "web"
// "android"
// "ios"
// "androidSdk5"
// "iosSdk5"
// "amp"
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.
// @mutable tagmanager.accounts.permissions.create
// @mutable tagmanager.accounts.permissions.update
ContainerId string `json:"containerId,omitempty"`
// Permission: List of Container permissions.
// @mutable tagmanager.accounts.permissions.create
// @mutable tagmanager.accounts.permissions.update
//
// Possible values:
// "containerPermissionUnspecified"
// "noAccess"
// "read"
// "edit"
// "approve"
// "publish"
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"`
// Client: The clients in the container that this version was taken
// from.
Client []*Client `json:"client,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"`
// CustomTemplate: The custom templates in the container that this
// version was taken from.
CustomTemplate []*CustomTemplate `json:"customTemplate,omitempty"`
// Deleted: A value of true indicates this container version has been
// deleted.
Deleted bool `json:"deleted,omitempty"`
// Description: Container version description.
// @mutable tagmanager.accounts.containers.versions.update
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.
// @mutable tagmanager.accounts.containers.versions.update
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"`
// NumCustomTemplates: Number of custom templates in the container
// version.
NumCustomTemplates string `json:"numCustomTemplates,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)
}
// CustomTemplate: Represents a Google Tag Manager Custom Template's
// contents.
type CustomTemplate 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 Custom Template as computed
// at storage time.
// This value is recomputed whenever the template is modified.
Fingerprint string `json:"fingerprint,omitempty"`
// GalleryReference: A reference to the Community Template Gallery
// entry.
GalleryReference *GalleryReference `json:"galleryReference,omitempty"`
// Name: Custom Template display name.
Name string `json:"name,omitempty"`
// Path: GTM Custom Template's API relative path.
Path string `json:"path,omitempty"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// TemplateData: The custom template in text format.
TemplateData string `json:"templateData,omitempty"`
// TemplateId: The Custom Template ID uniquely identifies the GTM custom
// template.
TemplateId string `json:"templateId,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 *CustomTemplate) MarshalJSON() ([]byte, error) {
type NoMethod CustomTemplate
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:
// "changeStatusUnspecified"
// "none" - The entity has never been changed.
// "added" - The entity is added to the workspace.
// "deleted" - The entity is deleted from the workspace.
// "updated" - The entity has been updated in the workspace.
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 string `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.
// @mutable tagmanager.accounts.containers.environments.create
// @mutable tagmanager.accounts.containers.environments.update
Description string `json:"description,omitempty"`
// EnableDebug: Whether or not to enable debug by default for the
// environment.
// @mutable tagmanager.accounts.containers.environments.create
// @mutable tagmanager.accounts.containers.environments.update
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.
// @mutable tagmanager.accounts.containers.environments.create
// @mutable tagmanager.accounts.containers.environments.update
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:
// "user" - Points to a user defined environment.
// "live" - Points to the current live container version.
// "latest" - Points to the latest container version.
// "workspace" - Automatically managed environment that points to a
// workspace preview or
// version created by a workspace.
Type string `json:"type,omitempty"`
// Url: Default preview page url for the environment.
// @mutable tagmanager.accounts.containers.environments.create
// @mutable tagmanager.accounts.containers.environments.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.folders.create
// @mutable tagmanager.accounts.containers.workspaces.folders.update
Name string `json:"name,omitempty"`
// Notes: User notes on how to apply this folder in the
// container.
// @mutable
// tagmanager.accounts.containers.workspaces.folders.create
// @mutable tagmanager.accounts.containers.workspaces.folders.update
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)
}
// GalleryReference: Represents the link between a custom template and
// an entry on the Community
// Template Gallery site.
type GalleryReference struct {
// Host: The name of the host for the community gallery template.
Host string `json:"host,omitempty"`
// IsModified: If a user has manually edited the community gallery
// template.
IsModified bool `json:"isModified,omitempty"`
// Owner: The name of the owner for the community gallery template.
Owner string `json:"owner,omitempty"`
// Repository: The name of the repository for the community gallery
// template.
Repository string `json:"repository,omitempty"`
// Signature: The signature of the community gallery template as
// computed at import time.
// This value is recomputed whenever the template is updated from the
// gallery.
Signature string `json:"signature,omitempty"`
// Version: The version of the community gallery template.
Version string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "Host") 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. "Host") 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 *GalleryReference) MarshalJSON() ([]byte, error) {
type NoMethod GalleryReference
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)
}
type ListTemplatesResponse struct {
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Template: All GTM Custom Templates of a GTM Container.
Template []*CustomTemplate `json:"template,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 *ListTemplatesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListTemplatesResponse
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)
}
type ListZonesResponse struct {
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Zone: All GTM Zones of a GTM Container.
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. "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 *ListZonesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListZonesResponse
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.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable
// tagmanager.accounts.containers.workspaces.variables.update
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.update
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
Key string `json:"key,omitempty"`
// List: This list parameter's parameters (keys will be
// ignored).
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable
// tagmanager.accounts.containers.workspaces.variables.update
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.update
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
List []*Parameter `json:"list,omitempty"`
// Map: This map parameter's parameters (must have keys; keys must be
// unique).
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable
// tagmanager.accounts.containers.workspaces.variables.update
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.update
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
Map []*Parameter `json:"map,omitempty"`
// Type: The parameter type. Valid values
// are:<ul>
// <li><code>boolean</code>: The value represents a boolean, represented
// as
// 'true' or 'false'</li>
// <li><code>integer</code>: The value represents a 64-bit signed
// integer
// value, in base 10</li>
// <li><code>list</code>: A list of parameters should be
// specified</li>
// <li><code>map</code>: A map of parameters should be
// specified</li>
// <li><code>template</code>: The value represents any text; this can
// include
// variable references (even variable references that might return
// non-string types)</li>
// <li><code>trigger_reference</code>: The value represents a trigger,
// represented as the trigger
// id</li>
// <li><code>tag_reference</code>: The value represents a tag,
// represented as
// the tag name</li>
// </ul>
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable
// tagmanager.accounts.containers.workspaces.variables.update
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.update
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
//
// Possible values:
// "typeUnspecified"
// "template" - May include variable references (such as
// "{{myVariable}}").
// "integer"
// "boolean"
// "list"
// "map"
// "triggerReference"
// "tagReference"
Type string `json:"type,omitempty"`
// Value: A parameter's value (may contain variable references such
// as
// "{{myVariable}}")
// as appropriate to the specified type.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable
// tagmanager.accounts.containers.workspaces.variables.update
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.update
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
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)
}
// RevertTemplateResponse: The result of reverting a template in a
// workspace.
type RevertTemplateResponse struct {
// Template: Template as it appears in the latest container version
// since the last
// workspace synchronization operation. If no template is present, that
// means
// the template was deleted in the latest container version.
Template *CustomTemplate `json:"template,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Template") 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. "Template") 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 *RevertTemplateResponse) MarshalJSON() ([]byte, error) {
type NoMethod RevertTemplateResponse
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)
}
// RevertZoneResponse: The result of reverting a zone in a workspace.
type RevertZoneResponse struct {
// Zone: Zone as it appears in the latest container version since the
// last
// workspace synchronization operation. If no zone is present, that
// means
// the zone was deleted in the latest container version.
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. "Zone") 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. "Zone") 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 *RevertZoneResponse) MarshalJSON() ([]byte, error) {
type NoMethod RevertZoneResponse
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.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
BlockingRuleId []string `json:"blockingRuleId,omitempty"`
// BlockingTriggerId: Blocking trigger IDs. If any of the listed
// triggers evaluate to true, the
// tag will not fire.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
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 <code>blockingRuleIds</code> (if any specified) are
// false.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
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 <code>blockingTriggerIds</code> (if any
// specified) are
// false.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
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).
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
LiveOnly bool `json:"liveOnly,omitempty"`
// MonitoringMetadata: A map of key-value pairs of tag metadata to be
// included in the event data
// for tag monitoring.
// Notes:<ul>
// <li>This parameter must be type <code>MAP</code>.</li>
// <li>Each parameter in the map are type <code>TEMPLATE</code>,
// however
// cannot contain variable references.</li>
// </ul>
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
MonitoringMetadata *Parameter `json:"monitoringMetadata,omitempty"`
// MonitoringMetadataTagNameKey: If non-empty, then the tag display name
// will be included in the monitoring
// metadata map using the key specified.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
MonitoringMetadataTagNameKey string `json:"monitoringMetadataTagNameKey,omitempty"`
// Name: Tag display name.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
Name string `json:"name,omitempty"`
// Notes: User notes on how to apply this tag in the container.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
Notes string `json:"notes,omitempty"`
// Parameter: The tag's parameters.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
Priority *Parameter `json:"priority,omitempty"`
// ScheduleEndMs: The end timestamp in milliseconds to schedule a
// tag.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
// ScheduleStartMs: The start timestamp in milliseconds to schedule a
// tag.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
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:
// "tagFiringOptionUnspecified"
// "unlimited" - Tag can be fired multiple times per event.
// "oncePerEvent" - Tag can only be fired per event but can be fired
// multiple times per load
// (e.g., app load or page load).
// "oncePerLoad" - Tag can only be fired per load (e.g., app load or
// page load).
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.
// @mutable
// tagmanager.accounts.containers.workspaces.tags.create
// @mutable tagmanager.accounts.containers.workspaces.tags.update
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)
}
// 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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
ContinuousTimeMinMilliseconds *Parameter `json:"continuousTimeMinMilliseconds,omitempty"`
// CustomEventFilter: Used in the case of custom event, which is fired
// iff all Conditions are
// true.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
CustomEventFilter []*Condition `json:"customEventFilter,omitempty"`
// EventName: Name of the GTM event that is fired. Only valid for Timer
// triggers.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
EventName *Parameter `json:"eventName,omitempty"`
// Filter: The trigger will only fire iff all Conditions are
// true.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
HorizontalScrollPercentageList *Parameter `json:"horizontalScrollPercentageList,omitempty"`
// Interval: Time between triggering recurring Timer Events (in
// milliseconds). Only
// valid for Timer triggers.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
Interval *Parameter `json:"interval,omitempty"`
// IntervalSeconds: Time between Timer Events to fire (in seconds). Only
// valid for AMP Timer
// trigger.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
Limit *Parameter `json:"limit,omitempty"`
// MaxTimerLengthSeconds: Max time to fire Timer Events (in seconds).
// Only valid for AMP Timer
// trigger.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
MaxTimerLengthSeconds *Parameter `json:"maxTimerLengthSeconds,omitempty"`
// Name: Trigger display name.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
Name string `json:"name,omitempty"`
// Notes: User notes on how to apply this trigger in the
// container.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
Notes string `json:"notes,omitempty"`
// Parameter: Additional parameters.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
//
// Possible values:
// "eventTypeUnspecified"
// "pageview"
// "domReady"
// "windowLoaded"
// "customEvent"
// "triggerGroup"
// "always"
// "firebaseAppException"
// "firebaseAppUpdate"
// "firebaseCampaign"
// "firebaseFirstOpen"
// "firebaseInAppPurchase"
// "firebaseNotificationDismiss"
// "firebaseNotificationForeground"
// "firebaseNotificationOpen"
// "firebaseNotificationReceive"
// "firebaseOsUpdate"
// "firebaseSessionStart"
// "firebaseUserEngagement"
// "formSubmission"
// "click"
// "linkClick"
// "jsError"
// "historyChange"
// "timer"
// "ampClick"
// "ampTimer"
// "ampScroll"
// "ampVisibility"
// "youTubeVideo"
// "scrollDepth"
// "elementVisibility"
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
VerticalScrollPercentageList *Parameter `json:"verticalScrollPercentageList,omitempty"`
// VisibilitySelector: A visibility trigger CSS selector (i.e. "#id").
// Only valid for AMP
// Visibility trigger.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
VisibilitySelector *Parameter `json:"visibilitySelector,omitempty"`
// VisiblePercentageMax: A visibility trigger maximum percent
// visibility. Only valid for AMP
// Visibility trigger.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
VisiblePercentageMax *Parameter `json:"visiblePercentageMax,omitempty"`
// VisiblePercentageMin: A visibility trigger minimum percent
// visibility. Only valid for AMP
// Visibility trigger.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
WaitForTags *Parameter `json:"waitForTags,omitempty"`
// WaitForTagsTimeout: How long to wait (in milliseconds) for tags to
// fire when 'waits_for_tags'
// above evaluates to <code>true</code>. Only valid for Form Submission
// and
// Link Click triggers.
// @mutable
// tagmanager.accounts.containers.workspaces.triggers.create
// @mutable tagmanager.accounts.containers.workspaces.triggers.update
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)
}
// UserPermission: Represents a user's permissions to an account and its
// container.
type UserPermission struct {
// AccountAccess: GTM Account access permissions.
// @mutable tagmanager.accounts.permissions.create
// @mutable tagmanager.accounts.permissions.update
AccountAccess *AccountAccess `json:"accountAccess,omitempty"`
// AccountId: The Account ID uniquely identifies the GTM Account.
AccountId string `json:"accountId,omitempty"`
// ContainerAccess: GTM Container access permissions.
// @mutable tagmanager.accounts.permissions.create
// @mutable tagmanager.accounts.permissions.update
ContainerAccess []*ContainerAccess `json:"containerAccess,omitempty"`
// EmailAddress: User's email address.
// @mutable tagmanager.accounts.permissions.create
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.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable tagmanager.accounts.containers.workspaces.variables.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable tagmanager.accounts.containers.workspaces.variables.update
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"`
// FormatValue: Option to convert a variable value to other value.
FormatValue *VariableFormatValue `json:"formatValue,omitempty"`
// Name: Variable display name.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable tagmanager.accounts.containers.workspaces.variables.update
Name string `json:"name,omitempty"`
// Notes: User notes on how to apply this variable in the
// container.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable tagmanager.accounts.containers.workspaces.variables.update
Notes string `json:"notes,omitempty"`
// Parameter: The variable's parameters.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable tagmanager.accounts.containers.workspaces.variables.update
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.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable tagmanager.accounts.containers.workspaces.variables.update
ScheduleEndMs int64 `json:"scheduleEndMs,omitempty,string"`
// ScheduleStartMs: The start timestamp in milliseconds to schedule a
// variable.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable tagmanager.accounts.containers.workspaces.variables.update
ScheduleStartMs int64 `json:"scheduleStartMs,omitempty,string"`
// TagManagerUrl: Auto generated link to the tag manager UI
TagManagerUrl string `json:"tagManagerUrl,omitempty"`
// Type: GTM Variable Type.
// @mutable
// tagmanager.accounts.containers.workspaces.variables.create
// @mutable tagmanager.accounts.containers.workspaces.variables.update
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)
}
type VariableFormatValue struct {
// CaseConversionType: The option to convert a string-type variable
// value to either lowercase or
// uppercase.
//
// Possible values:
// "none"
// "lowercase" - The option to convert a variable value to lowercase.
// "uppercase" - The option to convert a variable value to uppercase.
CaseConversionType string `json:"caseConversionType,omitempty"`
// ConvertFalseToValue: The value to convert if a variable value is
// false.
ConvertFalseToValue *Parameter `json:"convertFalseToValue,omitempty"`
// ConvertNullToValue: The value to convert if a variable value is null.
ConvertNullToValue *Parameter `json:"convertNullToValue,omitempty"`
// ConvertTrueToValue: The value to convert if a variable value is true.
ConvertTrueToValue *Parameter `json:"convertTrueToValue,omitempty"`
// ConvertUndefinedToValue: The value to convert if a variable value is
// undefined.
ConvertUndefinedToValue *Parameter `json:"convertUndefinedToValue,omitempty"`
// ForceSendFields is a list of field names (e.g. "CaseConversionType")
// 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. "CaseConversionType") 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 *VariableFormatValue) MarshalJSON() ([]byte, error) {
type NoMethod VariableFormatValue
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.
// @mutable tagmanager.accounts.containers.workspaces.create
// @mutable tagmanager.accounts.containers.workspaces.update
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.
// @mutable tagmanager.accounts.containers.workspaces.create
// @mutable tagmanager.accounts.containers.workspaces.update
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)
}
// 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"`
// 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 *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