google-apis-tagmanager_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 982af2e5b3546f86e182c11fbf2e8aede9da1e91ef6186e86578a5a48373ed33
4
+ data.tar.gz: '09323aff054961e929e26cdfa6dadd3b12e875c06f32b14edb953ec7a1d7710c'
5
+ SHA512:
6
+ metadata.gz: 284fa051b3f1b62758957bfc9e5f7cd0ef0cbea2031945143ec26737c028f5b0a2935b5eecdf34cd946ef4387056e05994d000e0da658cc90fbd2ec88429e8da
7
+ data.tar.gz: d7cdecccb5500ee8103dfc0f74240d5b5e5fdd74b85bce14d716e9e168f39587629f2ad1c326904faa24fd7727761b530dd6549fc18152f6d2d964191f41d244
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-tagmanager_v1
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/tagmanager_v1/*.rb
9
+ lib/google/apis/tagmanager_v1.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-tagmanager_v1
2
+
3
+ ### v0.1.0 (2021-01-07)
4
+
5
+ * Regenerated using generator version 0.1.1
6
+ * Regenerated from discovery document revision 20200826
7
+
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -0,0 +1,96 @@
1
+ # Simple REST client for version V1 of the Tag Manager API
2
+
3
+ This is a simple client library for version V1 of the Tag Manager API. It provides:
4
+
5
+ * A client object that connects to the HTTP/JSON REST endpoint for the service.
6
+ * Ruby objects for data structures related to the service.
7
+ * Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts.
8
+ * Control of retry, pagination, and timeouts.
9
+
10
+ Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information.
11
+
12
+ ## Getting started
13
+
14
+ ### Before you begin
15
+
16
+ There are a few setup steps you need to complete before you can use this library:
17
+
18
+ 1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
19
+ 2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).
20
+ 3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/tagmanager.googleapis.com) in the console.
21
+
22
+ ### Installation
23
+
24
+ Add this line to your application's Gemfile:
25
+
26
+ ```ruby
27
+ gem 'google-apis-tagmanager_v1', '~> 0.1'
28
+ ```
29
+
30
+ And then execute:
31
+
32
+ ```
33
+ $ bundle
34
+ ```
35
+
36
+ Or install it yourself as:
37
+
38
+ ```
39
+ $ gem install google-apis-tagmanager_v1
40
+ ```
41
+
42
+ ### Creating a client object
43
+
44
+ Once the gem is installed, you can load the client code and instantiate a client.
45
+
46
+ ```ruby
47
+ # Load the client
48
+ require "google/apis/tagmanager_v1"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::TagmanagerV1::TagManagerService.new
52
+
53
+ # Authenticate calls
54
+ client.authentication = # ... use the googleauth gem to create credentials
55
+ ```
56
+
57
+ See the class reference docs for information on the methods you can call from a client.
58
+
59
+ ## Documentation
60
+
61
+ More detailed descriptions of the Google simple REST clients are available in two documents.
62
+
63
+ * The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
64
+ * The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
65
+
66
+ (Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Tagmanager service in particular.)
67
+
68
+ For reference information on specific calls in the Tag Manager API, see the {Google::Apis::TagmanagerV1::TagManagerService class reference docs}.
69
+
70
+ ## Which client should I use?
71
+
72
+ Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**.
73
+
74
+ This library, `google-apis-tagmanager_v1`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
75
+
76
+ Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
77
+
78
+ Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
79
+
80
+ **For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
81
+
82
+ The [product documentation](https://developers.google.com/tag-manager) may provide guidance regarding the preferred client library to use.
83
+
84
+ ## Supported Ruby versions
85
+
86
+ This library is supported on Ruby 2.5+.
87
+
88
+ Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
89
+
90
+ ## License
91
+
92
+ This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}.
93
+
94
+ ## Support
95
+
96
+ Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
@@ -0,0 +1,15 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "google/apis/tagmanager_v1"
@@ -0,0 +1,54 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/tagmanager_v1/service.rb'
16
+ require 'google/apis/tagmanager_v1/classes.rb'
17
+ require 'google/apis/tagmanager_v1/representations.rb'
18
+ require 'google/apis/tagmanager_v1/gem_version.rb'
19
+
20
+ module Google
21
+ module Apis
22
+ # Tag Manager API
23
+ #
24
+ # This API allows clients to access and modify container and tag configuration.
25
+ #
26
+ # @see https://developers.google.com/tag-manager
27
+ module TagmanagerV1
28
+ # Version of the Tag Manager API this client connects to.
29
+ # This is NOT the gem version.
30
+ VERSION = 'V1'
31
+
32
+ # Delete your Google Tag Manager containers
33
+ AUTH_TAGMANAGER_DELETE_CONTAINERS = 'https://www.googleapis.com/auth/tagmanager.delete.containers'
34
+
35
+ # Manage your Google Tag Manager container and its subcomponents, excluding versioning and publishing
36
+ AUTH_TAGMANAGER_EDIT_CONTAINERS = 'https://www.googleapis.com/auth/tagmanager.edit.containers'
37
+
38
+ # Manage your Google Tag Manager container versions
39
+ AUTH_TAGMANAGER_EDIT_CONTAINERVERSIONS = 'https://www.googleapis.com/auth/tagmanager.edit.containerversions'
40
+
41
+ # View and manage your Google Tag Manager accounts
42
+ AUTH_TAGMANAGER_MANAGE_ACCOUNTS = 'https://www.googleapis.com/auth/tagmanager.manage.accounts'
43
+
44
+ # Manage user permissions of your Google Tag Manager account and container
45
+ AUTH_TAGMANAGER_MANAGE_USERS = 'https://www.googleapis.com/auth/tagmanager.manage.users'
46
+
47
+ # Publish your Google Tag Manager container versions
48
+ AUTH_TAGMANAGER_PUBLISH = 'https://www.googleapis.com/auth/tagmanager.publish'
49
+
50
+ # View your Google Tag Manager container and its subcomponents
51
+ AUTH_TAGMANAGER_READONLY = 'https://www.googleapis.com/auth/tagmanager.readonly'
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,1663 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module TagmanagerV1
24
+
25
+ # Represents a Google Tag Manager Account.
26
+ class Account
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The Account ID uniquely identifies the GTM Account.
30
+ # Corresponds to the JSON property `accountId`
31
+ # @return [String]
32
+ attr_accessor :account_id
33
+
34
+ # The fingerprint of the GTM Account as computed at storage time. This value is
35
+ # recomputed whenever the account is modified.
36
+ # Corresponds to the JSON property `fingerprint`
37
+ # @return [String]
38
+ attr_accessor :fingerprint
39
+
40
+ # Account display name. @mutable tagmanager.accounts.create @mutable tagmanager.
41
+ # accounts.update
42
+ # Corresponds to the JSON property `name`
43
+ # @return [String]
44
+ attr_accessor :name
45
+
46
+ # Whether the account shares data anonymously with Google and others. @mutable
47
+ # tagmanager.accounts.create @mutable tagmanager.accounts.update
48
+ # Corresponds to the JSON property `shareData`
49
+ # @return [Boolean]
50
+ attr_accessor :share_data
51
+ alias_method :share_data?, :share_data
52
+
53
+ def initialize(**args)
54
+ update!(**args)
55
+ end
56
+
57
+ # Update properties of this object
58
+ def update!(**args)
59
+ @account_id = args[:account_id] if args.key?(:account_id)
60
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
61
+ @name = args[:name] if args.key?(:name)
62
+ @share_data = args[:share_data] if args.key?(:share_data)
63
+ end
64
+ end
65
+
66
+ # Defines the Google Tag Manager Account access permissions.
67
+ class AccountAccess
68
+ include Google::Apis::Core::Hashable
69
+
70
+ # List of Account permissions. Valid account permissions are read and manage. @
71
+ # mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.
72
+ # permissions.update
73
+ # Corresponds to the JSON property `permission`
74
+ # @return [Array<String>]
75
+ attr_accessor :permission
76
+
77
+ def initialize(**args)
78
+ update!(**args)
79
+ end
80
+
81
+ # Update properties of this object
82
+ def update!(**args)
83
+ @permission = args[:permission] if args.key?(:permission)
84
+ end
85
+ end
86
+
87
+ # Represents a predicate.
88
+ class Condition
89
+ include Google::Apis::Core::Hashable
90
+
91
+ # A list of named parameters (key/value), depending on the condition's type.
92
+ # Notes: - For binary operators, include parameters named arg0 and arg1 for
93
+ # specifying the left and right operands, respectively. - At this time, the left
94
+ # operand (arg0) must be a reference to a variable. - For case-insensitive Regex
95
+ # matching, include a boolean parameter named ignore_case that is set to true.
96
+ # If not specified or set to any other value, the matching will be case
97
+ # sensitive. - To negate an operator, include a boolean parameter named negate
98
+ # boolean parameter that is set to true. @mutable tagmanager.accounts.containers.
99
+ # triggers.create @mutable tagmanager.accounts.containers.triggers.update
100
+ # Corresponds to the JSON property `parameter`
101
+ # @return [Array<Google::Apis::TagmanagerV1::Parameter>]
102
+ attr_accessor :parameter
103
+
104
+ # The type of operator for this condition. @mutable tagmanager.accounts.
105
+ # containers.triggers.create @mutable tagmanager.accounts.containers.triggers.
106
+ # update
107
+ # Corresponds to the JSON property `type`
108
+ # @return [String]
109
+ attr_accessor :type
110
+
111
+ def initialize(**args)
112
+ update!(**args)
113
+ end
114
+
115
+ # Update properties of this object
116
+ def update!(**args)
117
+ @parameter = args[:parameter] if args.key?(:parameter)
118
+ @type = args[:type] if args.key?(:type)
119
+ end
120
+ end
121
+
122
+ # Represents a Google Tag Manager Container.
123
+ class Container
124
+ include Google::Apis::Core::Hashable
125
+
126
+ # GTM Account ID.
127
+ # Corresponds to the JSON property `accountId`
128
+ # @return [String]
129
+ attr_accessor :account_id
130
+
131
+ # The Container ID uniquely identifies the GTM Container.
132
+ # Corresponds to the JSON property `containerId`
133
+ # @return [String]
134
+ attr_accessor :container_id
135
+
136
+ # Optional list of domain names associated with the Container. @mutable
137
+ # tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.
138
+ # update
139
+ # Corresponds to the JSON property `domainName`
140
+ # @return [Array<String>]
141
+ attr_accessor :domain_name
142
+
143
+ # List of enabled built-in variables. Valid values include: pageUrl,
144
+ # pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId,
145
+ # clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget,
146
+ # formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment,
147
+ # oldHistoryFragment, newHistoryState, oldHistoryState, historySource,
148
+ # containerVersion, debugMode, randomNumber, containerId. @mutable tagmanager.
149
+ # accounts.containers.create @mutable tagmanager.accounts.containers.update
150
+ # Corresponds to the JSON property `enabledBuiltInVariable`
151
+ # @return [Array<String>]
152
+ attr_accessor :enabled_built_in_variable
153
+
154
+ # The fingerprint of the GTM Container as computed at storage time. This value
155
+ # is recomputed whenever the account is modified.
156
+ # Corresponds to the JSON property `fingerprint`
157
+ # @return [String]
158
+ attr_accessor :fingerprint
159
+
160
+ # Container display name. @mutable tagmanager.accounts.containers.create @
161
+ # mutable tagmanager.accounts.containers.update
162
+ # Corresponds to the JSON property `name`
163
+ # @return [String]
164
+ attr_accessor :name
165
+
166
+ # Container Notes. @mutable tagmanager.accounts.containers.create @mutable
167
+ # tagmanager.accounts.containers.update
168
+ # Corresponds to the JSON property `notes`
169
+ # @return [String]
170
+ attr_accessor :notes
171
+
172
+ # Container Public ID.
173
+ # Corresponds to the JSON property `publicId`
174
+ # @return [String]
175
+ attr_accessor :public_id
176
+
177
+ # Container Country ID. @mutable tagmanager.accounts.containers.create @mutable
178
+ # tagmanager.accounts.containers.update
179
+ # Corresponds to the JSON property `timeZoneCountryId`
180
+ # @return [String]
181
+ attr_accessor :time_zone_country_id
182
+
183
+ # Container Time Zone ID. @mutable tagmanager.accounts.containers.create @
184
+ # mutable tagmanager.accounts.containers.update
185
+ # Corresponds to the JSON property `timeZoneId`
186
+ # @return [String]
187
+ attr_accessor :time_zone_id
188
+
189
+ # List of Usage Contexts for the Container. Valid values include: web, android,
190
+ # ios. @mutable tagmanager.accounts.containers.create @mutable tagmanager.
191
+ # accounts.containers.update
192
+ # Corresponds to the JSON property `usageContext`
193
+ # @return [Array<String>]
194
+ attr_accessor :usage_context
195
+
196
+ def initialize(**args)
197
+ update!(**args)
198
+ end
199
+
200
+ # Update properties of this object
201
+ def update!(**args)
202
+ @account_id = args[:account_id] if args.key?(:account_id)
203
+ @container_id = args[:container_id] if args.key?(:container_id)
204
+ @domain_name = args[:domain_name] if args.key?(:domain_name)
205
+ @enabled_built_in_variable = args[:enabled_built_in_variable] if args.key?(:enabled_built_in_variable)
206
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
207
+ @name = args[:name] if args.key?(:name)
208
+ @notes = args[:notes] if args.key?(:notes)
209
+ @public_id = args[:public_id] if args.key?(:public_id)
210
+ @time_zone_country_id = args[:time_zone_country_id] if args.key?(:time_zone_country_id)
211
+ @time_zone_id = args[:time_zone_id] if args.key?(:time_zone_id)
212
+ @usage_context = args[:usage_context] if args.key?(:usage_context)
213
+ end
214
+ end
215
+
216
+ # Defines the Google Tag Manager Container access permissions.
217
+ class ContainerAccess
218
+ include Google::Apis::Core::Hashable
219
+
220
+ # GTM Container ID. @mutable tagmanager.accounts.permissions.create @mutable
221
+ # tagmanager.accounts.permissions.update
222
+ # Corresponds to the JSON property `containerId`
223
+ # @return [String]
224
+ attr_accessor :container_id
225
+
226
+ # List of Container permissions. Valid container permissions are: read, edit,
227
+ # delete, publish. @mutable tagmanager.accounts.permissions.create @mutable
228
+ # tagmanager.accounts.permissions.update
229
+ # Corresponds to the JSON property `permission`
230
+ # @return [Array<String>]
231
+ attr_accessor :permission
232
+
233
+ def initialize(**args)
234
+ update!(**args)
235
+ end
236
+
237
+ # Update properties of this object
238
+ def update!(**args)
239
+ @container_id = args[:container_id] if args.key?(:container_id)
240
+ @permission = args[:permission] if args.key?(:permission)
241
+ end
242
+ end
243
+
244
+ # Represents a Google Tag Manager Container Version.
245
+ class ContainerVersion
246
+ include Google::Apis::Core::Hashable
247
+
248
+ # GTM Account ID.
249
+ # Corresponds to the JSON property `accountId`
250
+ # @return [String]
251
+ attr_accessor :account_id
252
+
253
+ # Represents a Google Tag Manager Container.
254
+ # Corresponds to the JSON property `container`
255
+ # @return [Google::Apis::TagmanagerV1::Container]
256
+ attr_accessor :container
257
+
258
+ # GTM Container ID.
259
+ # Corresponds to the JSON property `containerId`
260
+ # @return [String]
261
+ attr_accessor :container_id
262
+
263
+ # The Container Version ID uniquely identifies the GTM Container Version.
264
+ # Corresponds to the JSON property `containerVersionId`
265
+ # @return [String]
266
+ attr_accessor :container_version_id
267
+
268
+ # A value of true indicates this container version has been deleted.
269
+ # Corresponds to the JSON property `deleted`
270
+ # @return [Boolean]
271
+ attr_accessor :deleted
272
+ alias_method :deleted?, :deleted
273
+
274
+ # The fingerprint of the GTM Container Version as computed at storage time. This
275
+ # value is recomputed whenever the container version is modified.
276
+ # Corresponds to the JSON property `fingerprint`
277
+ # @return [String]
278
+ attr_accessor :fingerprint
279
+
280
+ # The folders in the container that this version was taken from.
281
+ # Corresponds to the JSON property `folder`
282
+ # @return [Array<Google::Apis::TagmanagerV1::Folder>]
283
+ attr_accessor :folder
284
+
285
+ # The macros in the container that this version was taken from.
286
+ # Corresponds to the JSON property `macro`
287
+ # @return [Array<Google::Apis::TagmanagerV1::Macro>]
288
+ attr_accessor :macro
289
+
290
+ # Container version display name. @mutable tagmanager.accounts.containers.
291
+ # versions.update
292
+ # Corresponds to the JSON property `name`
293
+ # @return [String]
294
+ attr_accessor :name
295
+
296
+ # User notes on how to apply this container version in the container. @mutable
297
+ # tagmanager.accounts.containers.versions.update
298
+ # Corresponds to the JSON property `notes`
299
+ # @return [String]
300
+ attr_accessor :notes
301
+
302
+ # The rules in the container that this version was taken from.
303
+ # Corresponds to the JSON property `rule`
304
+ # @return [Array<Google::Apis::TagmanagerV1::Rule>]
305
+ attr_accessor :rule
306
+
307
+ # The tags in the container that this version was taken from.
308
+ # Corresponds to the JSON property `tag`
309
+ # @return [Array<Google::Apis::TagmanagerV1::Tag>]
310
+ attr_accessor :tag
311
+
312
+ # The triggers in the container that this version was taken from.
313
+ # Corresponds to the JSON property `trigger`
314
+ # @return [Array<Google::Apis::TagmanagerV1::Trigger>]
315
+ attr_accessor :trigger
316
+
317
+ # The variables in the container that this version was taken from.
318
+ # Corresponds to the JSON property `variable`
319
+ # @return [Array<Google::Apis::TagmanagerV1::Variable>]
320
+ attr_accessor :variable
321
+
322
+ def initialize(**args)
323
+ update!(**args)
324
+ end
325
+
326
+ # Update properties of this object
327
+ def update!(**args)
328
+ @account_id = args[:account_id] if args.key?(:account_id)
329
+ @container = args[:container] if args.key?(:container)
330
+ @container_id = args[:container_id] if args.key?(:container_id)
331
+ @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
332
+ @deleted = args[:deleted] if args.key?(:deleted)
333
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
334
+ @folder = args[:folder] if args.key?(:folder)
335
+ @macro = args[:macro] if args.key?(:macro)
336
+ @name = args[:name] if args.key?(:name)
337
+ @notes = args[:notes] if args.key?(:notes)
338
+ @rule = args[:rule] if args.key?(:rule)
339
+ @tag = args[:tag] if args.key?(:tag)
340
+ @trigger = args[:trigger] if args.key?(:trigger)
341
+ @variable = args[:variable] if args.key?(:variable)
342
+ end
343
+ end
344
+
345
+ # Represents a Google Tag Manager Container Version Header.
346
+ class ContainerVersionHeader
347
+ include Google::Apis::Core::Hashable
348
+
349
+ # GTM Account ID.
350
+ # Corresponds to the JSON property `accountId`
351
+ # @return [String]
352
+ attr_accessor :account_id
353
+
354
+ # GTM Container ID.
355
+ # Corresponds to the JSON property `containerId`
356
+ # @return [String]
357
+ attr_accessor :container_id
358
+
359
+ # The Container Version ID uniquely identifies the GTM Container Version.
360
+ # Corresponds to the JSON property `containerVersionId`
361
+ # @return [String]
362
+ attr_accessor :container_version_id
363
+
364
+ # A value of true indicates this container version has been deleted.
365
+ # Corresponds to the JSON property `deleted`
366
+ # @return [Boolean]
367
+ attr_accessor :deleted
368
+ alias_method :deleted?, :deleted
369
+
370
+ # Container version display name.
371
+ # Corresponds to the JSON property `name`
372
+ # @return [String]
373
+ attr_accessor :name
374
+
375
+ # Number of macros in the container version.
376
+ # Corresponds to the JSON property `numMacros`
377
+ # @return [String]
378
+ attr_accessor :num_macros
379
+
380
+ # Number of rules in the container version.
381
+ # Corresponds to the JSON property `numRules`
382
+ # @return [String]
383
+ attr_accessor :num_rules
384
+
385
+ # Number of tags in the container version.
386
+ # Corresponds to the JSON property `numTags`
387
+ # @return [String]
388
+ attr_accessor :num_tags
389
+
390
+ # Number of triggers in the container version.
391
+ # Corresponds to the JSON property `numTriggers`
392
+ # @return [String]
393
+ attr_accessor :num_triggers
394
+
395
+ # Number of variables in the container version.
396
+ # Corresponds to the JSON property `numVariables`
397
+ # @return [String]
398
+ attr_accessor :num_variables
399
+
400
+ def initialize(**args)
401
+ update!(**args)
402
+ end
403
+
404
+ # Update properties of this object
405
+ def update!(**args)
406
+ @account_id = args[:account_id] if args.key?(:account_id)
407
+ @container_id = args[:container_id] if args.key?(:container_id)
408
+ @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
409
+ @deleted = args[:deleted] if args.key?(:deleted)
410
+ @name = args[:name] if args.key?(:name)
411
+ @num_macros = args[:num_macros] if args.key?(:num_macros)
412
+ @num_rules = args[:num_rules] if args.key?(:num_rules)
413
+ @num_tags = args[:num_tags] if args.key?(:num_tags)
414
+ @num_triggers = args[:num_triggers] if args.key?(:num_triggers)
415
+ @num_variables = args[:num_variables] if args.key?(:num_variables)
416
+ end
417
+ end
418
+
419
+ # Options for new container versions.
420
+ class CreateContainerVersionRequestVersionOptions
421
+ include Google::Apis::Core::Hashable
422
+
423
+ # The name of the container version to be created.
424
+ # Corresponds to the JSON property `name`
425
+ # @return [String]
426
+ attr_accessor :name
427
+
428
+ # The notes of the container version to be created.
429
+ # Corresponds to the JSON property `notes`
430
+ # @return [String]
431
+ attr_accessor :notes
432
+
433
+ # The creation of this version may be for quick preview and shouldn't be saved.
434
+ # Corresponds to the JSON property `quickPreview`
435
+ # @return [Boolean]
436
+ attr_accessor :quick_preview
437
+ alias_method :quick_preview?, :quick_preview
438
+
439
+ def initialize(**args)
440
+ update!(**args)
441
+ end
442
+
443
+ # Update properties of this object
444
+ def update!(**args)
445
+ @name = args[:name] if args.key?(:name)
446
+ @notes = args[:notes] if args.key?(:notes)
447
+ @quick_preview = args[:quick_preview] if args.key?(:quick_preview)
448
+ end
449
+ end
450
+
451
+ # Create container versions response.
452
+ class CreateContainerVersionResponse
453
+ include Google::Apis::Core::Hashable
454
+
455
+ # Compiler errors or not.
456
+ # Corresponds to the JSON property `compilerError`
457
+ # @return [Boolean]
458
+ attr_accessor :compiler_error
459
+ alias_method :compiler_error?, :compiler_error
460
+
461
+ # Represents a Google Tag Manager Container Version.
462
+ # Corresponds to the JSON property `containerVersion`
463
+ # @return [Google::Apis::TagmanagerV1::ContainerVersion]
464
+ attr_accessor :container_version
465
+
466
+ def initialize(**args)
467
+ update!(**args)
468
+ end
469
+
470
+ # Update properties of this object
471
+ def update!(**args)
472
+ @compiler_error = args[:compiler_error] if args.key?(:compiler_error)
473
+ @container_version = args[:container_version] if args.key?(:container_version)
474
+ end
475
+ end
476
+
477
+ # Represents a Google Tag Manager Environment. Note that a user can create,
478
+ # delete and update environments of type USER, but can only update the
479
+ # enable_debug and url fields of environments of other types.
480
+ class Environment
481
+ include Google::Apis::Core::Hashable
482
+
483
+ # GTM Account ID.
484
+ # Corresponds to the JSON property `accountId`
485
+ # @return [String]
486
+ attr_accessor :account_id
487
+
488
+ # The environment authorization code.
489
+ # Corresponds to the JSON property `authorizationCode`
490
+ # @return [String]
491
+ attr_accessor :authorization_code
492
+
493
+ # The last update time-stamp for the authorization code.
494
+ # Corresponds to the JSON property `authorizationTimestampMs`
495
+ # @return [Fixnum]
496
+ attr_accessor :authorization_timestamp_ms
497
+
498
+ # GTM Container ID.
499
+ # Corresponds to the JSON property `containerId`
500
+ # @return [String]
501
+ attr_accessor :container_id
502
+
503
+ #
504
+ # Corresponds to the JSON property `containerVersionId`
505
+ # @return [String]
506
+ attr_accessor :container_version_id
507
+
508
+ # The environment description. Can be set or changed only on USER type
509
+ # environments. @mutable tagmanager.accounts.containers.environments.create @
510
+ # mutable tagmanager.accounts.containers.environments.update
511
+ # Corresponds to the JSON property `description`
512
+ # @return [String]
513
+ attr_accessor :description
514
+
515
+ # Whether or not to enable debug by default on for the environment. @mutable
516
+ # tagmanager.accounts.containers.environments.create @mutable tagmanager.
517
+ # accounts.containers.environments.update
518
+ # Corresponds to the JSON property `enableDebug`
519
+ # @return [Boolean]
520
+ attr_accessor :enable_debug
521
+ alias_method :enable_debug?, :enable_debug
522
+
523
+ # GTM Environment ID uniquely identifies the GTM Environment.
524
+ # Corresponds to the JSON property `environmentId`
525
+ # @return [String]
526
+ attr_accessor :environment_id
527
+
528
+ # The fingerprint of the GTM environment as computed at storage time. This value
529
+ # is recomputed whenever the environment is modified.
530
+ # Corresponds to the JSON property `fingerprint`
531
+ # @return [String]
532
+ attr_accessor :fingerprint
533
+
534
+ # The environment display name. Can be set or changed only on USER type
535
+ # environments. @mutable tagmanager.accounts.containers.environments.create @
536
+ # mutable tagmanager.accounts.containers.environments.update
537
+ # Corresponds to the JSON property `name`
538
+ # @return [String]
539
+ attr_accessor :name
540
+
541
+ # The type of this environment.
542
+ # Corresponds to the JSON property `type`
543
+ # @return [String]
544
+ attr_accessor :type
545
+
546
+ # Default preview page url for the environment. @mutable tagmanager.accounts.
547
+ # containers.environments.create @mutable tagmanager.accounts.containers.
548
+ # environments.update
549
+ # Corresponds to the JSON property `url`
550
+ # @return [String]
551
+ attr_accessor :url
552
+
553
+ def initialize(**args)
554
+ update!(**args)
555
+ end
556
+
557
+ # Update properties of this object
558
+ def update!(**args)
559
+ @account_id = args[:account_id] if args.key?(:account_id)
560
+ @authorization_code = args[:authorization_code] if args.key?(:authorization_code)
561
+ @authorization_timestamp_ms = args[:authorization_timestamp_ms] if args.key?(:authorization_timestamp_ms)
562
+ @container_id = args[:container_id] if args.key?(:container_id)
563
+ @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
564
+ @description = args[:description] if args.key?(:description)
565
+ @enable_debug = args[:enable_debug] if args.key?(:enable_debug)
566
+ @environment_id = args[:environment_id] if args.key?(:environment_id)
567
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
568
+ @name = args[:name] if args.key?(:name)
569
+ @type = args[:type] if args.key?(:type)
570
+ @url = args[:url] if args.key?(:url)
571
+ end
572
+ end
573
+
574
+ # Represents a Google Tag Manager Folder.
575
+ class Folder
576
+ include Google::Apis::Core::Hashable
577
+
578
+ # GTM Account ID.
579
+ # Corresponds to the JSON property `accountId`
580
+ # @return [String]
581
+ attr_accessor :account_id
582
+
583
+ # GTM Container ID.
584
+ # Corresponds to the JSON property `containerId`
585
+ # @return [String]
586
+ attr_accessor :container_id
587
+
588
+ # The fingerprint of the GTM Folder as computed at storage time. This value is
589
+ # recomputed whenever the folder is modified.
590
+ # Corresponds to the JSON property `fingerprint`
591
+ # @return [String]
592
+ attr_accessor :fingerprint
593
+
594
+ # The Folder ID uniquely identifies the GTM Folder.
595
+ # Corresponds to the JSON property `folderId`
596
+ # @return [String]
597
+ attr_accessor :folder_id
598
+
599
+ # Folder display name. @mutable tagmanager.accounts.containers.folders.create @
600
+ # mutable tagmanager.accounts.containers.folders.update
601
+ # Corresponds to the JSON property `name`
602
+ # @return [String]
603
+ attr_accessor :name
604
+
605
+ def initialize(**args)
606
+ update!(**args)
607
+ end
608
+
609
+ # Update properties of this object
610
+ def update!(**args)
611
+ @account_id = args[:account_id] if args.key?(:account_id)
612
+ @container_id = args[:container_id] if args.key?(:container_id)
613
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
614
+ @folder_id = args[:folder_id] if args.key?(:folder_id)
615
+ @name = args[:name] if args.key?(:name)
616
+ end
617
+ end
618
+
619
+ # Represents a Google Tag Manager Folder's contents.
620
+ class FolderEntities
621
+ include Google::Apis::Core::Hashable
622
+
623
+ # The list of tags inside the folder.
624
+ # Corresponds to the JSON property `tag`
625
+ # @return [Array<Google::Apis::TagmanagerV1::Tag>]
626
+ attr_accessor :tag
627
+
628
+ # The list of triggers inside the folder.
629
+ # Corresponds to the JSON property `trigger`
630
+ # @return [Array<Google::Apis::TagmanagerV1::Trigger>]
631
+ attr_accessor :trigger
632
+
633
+ # The list of variables inside the folder.
634
+ # Corresponds to the JSON property `variable`
635
+ # @return [Array<Google::Apis::TagmanagerV1::Variable>]
636
+ attr_accessor :variable
637
+
638
+ def initialize(**args)
639
+ update!(**args)
640
+ end
641
+
642
+ # Update properties of this object
643
+ def update!(**args)
644
+ @tag = args[:tag] if args.key?(:tag)
645
+ @trigger = args[:trigger] if args.key?(:trigger)
646
+ @variable = args[:variable] if args.key?(:variable)
647
+ end
648
+ end
649
+
650
+ # List AccountUsers Response.
651
+ class ListAccountUsersResponse
652
+ include Google::Apis::Core::Hashable
653
+
654
+ # All GTM AccountUsers of a GTM Account.
655
+ # Corresponds to the JSON property `userAccess`
656
+ # @return [Array<Google::Apis::TagmanagerV1::UserAccess>]
657
+ attr_accessor :user_access
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @user_access = args[:user_access] if args.key?(:user_access)
666
+ end
667
+ end
668
+
669
+ # List Accounts Response.
670
+ class ListAccountsResponse
671
+ include Google::Apis::Core::Hashable
672
+
673
+ # List of GTM Accounts that a user has access to.
674
+ # Corresponds to the JSON property `accounts`
675
+ # @return [Array<Google::Apis::TagmanagerV1::Account>]
676
+ attr_accessor :accounts
677
+
678
+ def initialize(**args)
679
+ update!(**args)
680
+ end
681
+
682
+ # Update properties of this object
683
+ def update!(**args)
684
+ @accounts = args[:accounts] if args.key?(:accounts)
685
+ end
686
+ end
687
+
688
+ # List container versions response.
689
+ class ListContainerVersionsResponse
690
+ include Google::Apis::Core::Hashable
691
+
692
+ # All versions of a GTM Container.
693
+ # Corresponds to the JSON property `containerVersion`
694
+ # @return [Array<Google::Apis::TagmanagerV1::ContainerVersion>]
695
+ attr_accessor :container_version
696
+
697
+ # All container version headers of a GTM Container.
698
+ # Corresponds to the JSON property `containerVersionHeader`
699
+ # @return [Array<Google::Apis::TagmanagerV1::ContainerVersionHeader>]
700
+ attr_accessor :container_version_header
701
+
702
+ def initialize(**args)
703
+ update!(**args)
704
+ end
705
+
706
+ # Update properties of this object
707
+ def update!(**args)
708
+ @container_version = args[:container_version] if args.key?(:container_version)
709
+ @container_version_header = args[:container_version_header] if args.key?(:container_version_header)
710
+ end
711
+ end
712
+
713
+ # List Containers Response.
714
+ class ListContainersResponse
715
+ include Google::Apis::Core::Hashable
716
+
717
+ # All Containers of a GTM Account.
718
+ # Corresponds to the JSON property `containers`
719
+ # @return [Array<Google::Apis::TagmanagerV1::Container>]
720
+ attr_accessor :containers
721
+
722
+ def initialize(**args)
723
+ update!(**args)
724
+ end
725
+
726
+ # Update properties of this object
727
+ def update!(**args)
728
+ @containers = args[:containers] if args.key?(:containers)
729
+ end
730
+ end
731
+
732
+ # List Environments Response.
733
+ class ListEnvironmentsResponse
734
+ include Google::Apis::Core::Hashable
735
+
736
+ # All Environments of a GTM Container.
737
+ # Corresponds to the JSON property `environments`
738
+ # @return [Array<Google::Apis::TagmanagerV1::Environment>]
739
+ attr_accessor :environments
740
+
741
+ def initialize(**args)
742
+ update!(**args)
743
+ end
744
+
745
+ # Update properties of this object
746
+ def update!(**args)
747
+ @environments = args[:environments] if args.key?(:environments)
748
+ end
749
+ end
750
+
751
+ # List Folders Response.
752
+ class ListFoldersResponse
753
+ include Google::Apis::Core::Hashable
754
+
755
+ # All GTM Folders of a GTM Container.
756
+ # Corresponds to the JSON property `folders`
757
+ # @return [Array<Google::Apis::TagmanagerV1::Folder>]
758
+ attr_accessor :folders
759
+
760
+ def initialize(**args)
761
+ update!(**args)
762
+ end
763
+
764
+ # Update properties of this object
765
+ def update!(**args)
766
+ @folders = args[:folders] if args.key?(:folders)
767
+ end
768
+ end
769
+
770
+ # List Tags Response.
771
+ class ListTagsResponse
772
+ include Google::Apis::Core::Hashable
773
+
774
+ # All GTM Tags of a GTM Container.
775
+ # Corresponds to the JSON property `tags`
776
+ # @return [Array<Google::Apis::TagmanagerV1::Tag>]
777
+ attr_accessor :tags
778
+
779
+ def initialize(**args)
780
+ update!(**args)
781
+ end
782
+
783
+ # Update properties of this object
784
+ def update!(**args)
785
+ @tags = args[:tags] if args.key?(:tags)
786
+ end
787
+ end
788
+
789
+ # List triggers response.
790
+ class ListTriggersResponse
791
+ include Google::Apis::Core::Hashable
792
+
793
+ # All GTM Triggers of a GTM Container.
794
+ # Corresponds to the JSON property `triggers`
795
+ # @return [Array<Google::Apis::TagmanagerV1::Trigger>]
796
+ attr_accessor :triggers
797
+
798
+ def initialize(**args)
799
+ update!(**args)
800
+ end
801
+
802
+ # Update properties of this object
803
+ def update!(**args)
804
+ @triggers = args[:triggers] if args.key?(:triggers)
805
+ end
806
+ end
807
+
808
+ # List Variables Response.
809
+ class ListVariablesResponse
810
+ include Google::Apis::Core::Hashable
811
+
812
+ # All GTM Variables of a GTM Container.
813
+ # Corresponds to the JSON property `variables`
814
+ # @return [Array<Google::Apis::TagmanagerV1::Variable>]
815
+ attr_accessor :variables
816
+
817
+ def initialize(**args)
818
+ update!(**args)
819
+ end
820
+
821
+ # Update properties of this object
822
+ def update!(**args)
823
+ @variables = args[:variables] if args.key?(:variables)
824
+ end
825
+ end
826
+
827
+ # Represents a Google Tag Manager Macro.
828
+ class Macro
829
+ include Google::Apis::Core::Hashable
830
+
831
+ # GTM Account ID.
832
+ # Corresponds to the JSON property `accountId`
833
+ # @return [String]
834
+ attr_accessor :account_id
835
+
836
+ # GTM Container ID.
837
+ # Corresponds to the JSON property `containerId`
838
+ # @return [String]
839
+ attr_accessor :container_id
840
+
841
+ # For mobile containers only: A list of rule IDs for disabling conditional
842
+ # macros; the macro is enabled if one of the enabling rules is true while all
843
+ # the disabling rules are false. Treated as an unordered set. @mutable
844
+ # tagmanager.accounts.containers.macros.create @mutable tagmanager.accounts.
845
+ # containers.macros.update
846
+ # Corresponds to the JSON property `disablingRuleId`
847
+ # @return [Array<String>]
848
+ attr_accessor :disabling_rule_id
849
+
850
+ # For mobile containers only: A list of rule IDs for enabling conditional macros;
851
+ # the macro is enabled if one of the enabling rules is true while all the
852
+ # disabling rules are false. Treated as an unordered set. @mutable tagmanager.
853
+ # accounts.containers.macros.create @mutable tagmanager.accounts.containers.
854
+ # macros.update
855
+ # Corresponds to the JSON property `enablingRuleId`
856
+ # @return [Array<String>]
857
+ attr_accessor :enabling_rule_id
858
+
859
+ # The fingerprint of the GTM Macro as computed at storage time. This value is
860
+ # recomputed whenever the macro is modified.
861
+ # Corresponds to the JSON property `fingerprint`
862
+ # @return [String]
863
+ attr_accessor :fingerprint
864
+
865
+ # The Macro ID uniquely identifies the GTM Macro.
866
+ # Corresponds to the JSON property `macroId`
867
+ # @return [String]
868
+ attr_accessor :macro_id
869
+
870
+ # Macro display name. @mutable tagmanager.accounts.containers.macros.create @
871
+ # mutable tagmanager.accounts.containers.macros.update
872
+ # Corresponds to the JSON property `name`
873
+ # @return [String]
874
+ attr_accessor :name
875
+
876
+ # User notes on how to apply this macro in the container. @mutable tagmanager.
877
+ # accounts.containers.macros.create @mutable tagmanager.accounts.containers.
878
+ # macros.update
879
+ # Corresponds to the JSON property `notes`
880
+ # @return [String]
881
+ attr_accessor :notes
882
+
883
+ # The macro's parameters. @mutable tagmanager.accounts.containers.macros.create @
884
+ # mutable tagmanager.accounts.containers.macros.update
885
+ # Corresponds to the JSON property `parameter`
886
+ # @return [Array<Google::Apis::TagmanagerV1::Parameter>]
887
+ attr_accessor :parameter
888
+
889
+ # Parent folder id.
890
+ # Corresponds to the JSON property `parentFolderId`
891
+ # @return [String]
892
+ attr_accessor :parent_folder_id
893
+
894
+ # The end timestamp in milliseconds to schedule a macro. @mutable tagmanager.
895
+ # accounts.containers.macros.create @mutable tagmanager.accounts.containers.
896
+ # macros.update
897
+ # Corresponds to the JSON property `scheduleEndMs`
898
+ # @return [Fixnum]
899
+ attr_accessor :schedule_end_ms
900
+
901
+ # The start timestamp in milliseconds to schedule a macro. @mutable tagmanager.
902
+ # accounts.containers.macros.create @mutable tagmanager.accounts.containers.
903
+ # macros.update
904
+ # Corresponds to the JSON property `scheduleStartMs`
905
+ # @return [Fixnum]
906
+ attr_accessor :schedule_start_ms
907
+
908
+ # GTM Macro Type. @mutable tagmanager.accounts.containers.macros.create @mutable
909
+ # tagmanager.accounts.containers.macros.update
910
+ # Corresponds to the JSON property `type`
911
+ # @return [String]
912
+ attr_accessor :type
913
+
914
+ def initialize(**args)
915
+ update!(**args)
916
+ end
917
+
918
+ # Update properties of this object
919
+ def update!(**args)
920
+ @account_id = args[:account_id] if args.key?(:account_id)
921
+ @container_id = args[:container_id] if args.key?(:container_id)
922
+ @disabling_rule_id = args[:disabling_rule_id] if args.key?(:disabling_rule_id)
923
+ @enabling_rule_id = args[:enabling_rule_id] if args.key?(:enabling_rule_id)
924
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
925
+ @macro_id = args[:macro_id] if args.key?(:macro_id)
926
+ @name = args[:name] if args.key?(:name)
927
+ @notes = args[:notes] if args.key?(:notes)
928
+ @parameter = args[:parameter] if args.key?(:parameter)
929
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
930
+ @schedule_end_ms = args[:schedule_end_ms] if args.key?(:schedule_end_ms)
931
+ @schedule_start_ms = args[:schedule_start_ms] if args.key?(:schedule_start_ms)
932
+ @type = args[:type] if args.key?(:type)
933
+ end
934
+ end
935
+
936
+ # Represents a Google Tag Manager Parameter.
937
+ class Parameter
938
+ include Google::Apis::Core::Hashable
939
+
940
+ # The named key that uniquely identifies a parameter. Required for top-level
941
+ # parameters, as well as map values. Ignored for list values. @mutable
942
+ # tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.
943
+ # containers.variables.update @mutable tagmanager.accounts.containers.triggers.
944
+ # create @mutable tagmanager.accounts.containers.triggers.update @mutable
945
+ # tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.
946
+ # containers.tags.update
947
+ # Corresponds to the JSON property `key`
948
+ # @return [String]
949
+ attr_accessor :key
950
+
951
+ # This list parameter's parameters (keys will be ignored). @mutable tagmanager.
952
+ # accounts.containers.variables.create @mutable tagmanager.accounts.containers.
953
+ # variables.update @mutable tagmanager.accounts.containers.triggers.create @
954
+ # mutable tagmanager.accounts.containers.triggers.update @mutable tagmanager.
955
+ # accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.
956
+ # update
957
+ # Corresponds to the JSON property `list`
958
+ # @return [Array<Google::Apis::TagmanagerV1::Parameter>]
959
+ attr_accessor :list
960
+
961
+ # This map parameter's parameters (must have keys; keys must be unique). @
962
+ # mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.
963
+ # accounts.containers.variables.update @mutable tagmanager.accounts.containers.
964
+ # triggers.create @mutable tagmanager.accounts.containers.triggers.update @
965
+ # mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.
966
+ # accounts.containers.tags.update
967
+ # Corresponds to the JSON property `map`
968
+ # @return [Array<Google::Apis::TagmanagerV1::Parameter>]
969
+ attr_accessor :map
970
+
971
+ # The parameter type. Valid values are: - boolean: The value represents a
972
+ # boolean, represented as 'true' or 'false' - integer: The value represents a 64-
973
+ # bit signed integer value, in base 10 - list: A list of parameters should be
974
+ # specified - map: A map of parameters should be specified - template: The value
975
+ # represents any text; this can include variable references (even variable
976
+ # references that might return non-string types) - trigger_reference: The value
977
+ # represents a trigger, represented as the trigger id - tag_reference: The value
978
+ # represents a tag, represented as the tag name @mutable tagmanager.accounts.
979
+ # containers.variables.create @mutable tagmanager.accounts.containers.variables.
980
+ # update @mutable tagmanager.accounts.containers.triggers.create @mutable
981
+ # tagmanager.accounts.containers.triggers.update @mutable tagmanager.accounts.
982
+ # containers.tags.create @mutable tagmanager.accounts.containers.tags.update
983
+ # Corresponds to the JSON property `type`
984
+ # @return [String]
985
+ attr_accessor :type
986
+
987
+ # A parameter's value (may contain variable references such as "``myVariable``")
988
+ # as appropriate to the specified type. @mutable tagmanager.accounts.containers.
989
+ # variables.create @mutable tagmanager.accounts.containers.variables.update @
990
+ # mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.
991
+ # accounts.containers.triggers.update @mutable tagmanager.accounts.containers.
992
+ # tags.create @mutable tagmanager.accounts.containers.tags.update
993
+ # Corresponds to the JSON property `value`
994
+ # @return [String]
995
+ attr_accessor :value
996
+
997
+ def initialize(**args)
998
+ update!(**args)
999
+ end
1000
+
1001
+ # Update properties of this object
1002
+ def update!(**args)
1003
+ @key = args[:key] if args.key?(:key)
1004
+ @list = args[:list] if args.key?(:list)
1005
+ @map = args[:map] if args.key?(:map)
1006
+ @type = args[:type] if args.key?(:type)
1007
+ @value = args[:value] if args.key?(:value)
1008
+ end
1009
+ end
1010
+
1011
+ # Publish container version response.
1012
+ class PublishContainerVersionResponse
1013
+ include Google::Apis::Core::Hashable
1014
+
1015
+ # Compiler errors or not.
1016
+ # Corresponds to the JSON property `compilerError`
1017
+ # @return [Boolean]
1018
+ attr_accessor :compiler_error
1019
+ alias_method :compiler_error?, :compiler_error
1020
+
1021
+ # Represents a Google Tag Manager Container Version.
1022
+ # Corresponds to the JSON property `containerVersion`
1023
+ # @return [Google::Apis::TagmanagerV1::ContainerVersion]
1024
+ attr_accessor :container_version
1025
+
1026
+ def initialize(**args)
1027
+ update!(**args)
1028
+ end
1029
+
1030
+ # Update properties of this object
1031
+ def update!(**args)
1032
+ @compiler_error = args[:compiler_error] if args.key?(:compiler_error)
1033
+ @container_version = args[:container_version] if args.key?(:container_version)
1034
+ end
1035
+ end
1036
+
1037
+ # Represents a Google Tag Manager Rule.
1038
+ class Rule
1039
+ include Google::Apis::Core::Hashable
1040
+
1041
+ # GTM Account ID.
1042
+ # Corresponds to the JSON property `accountId`
1043
+ # @return [String]
1044
+ attr_accessor :account_id
1045
+
1046
+ # The list of conditions that make up this rule (implicit AND between them). @
1047
+ # mutable tagmanager.accounts.containers.rules.create @mutable tagmanager.
1048
+ # accounts.containers.rules.update
1049
+ # Corresponds to the JSON property `condition`
1050
+ # @return [Array<Google::Apis::TagmanagerV1::Condition>]
1051
+ attr_accessor :condition
1052
+
1053
+ # GTM Container ID.
1054
+ # Corresponds to the JSON property `containerId`
1055
+ # @return [String]
1056
+ attr_accessor :container_id
1057
+
1058
+ # The fingerprint of the GTM Rule as computed at storage time. This value is
1059
+ # recomputed whenever the rule is modified.
1060
+ # Corresponds to the JSON property `fingerprint`
1061
+ # @return [String]
1062
+ attr_accessor :fingerprint
1063
+
1064
+ # Rule display name. @mutable tagmanager.accounts.containers.rules.create @
1065
+ # mutable tagmanager.accounts.containers.rules.update
1066
+ # Corresponds to the JSON property `name`
1067
+ # @return [String]
1068
+ attr_accessor :name
1069
+
1070
+ # User notes on how to apply this rule in the container. @mutable tagmanager.
1071
+ # accounts.containers.rules.create @mutable tagmanager.accounts.containers.rules.
1072
+ # update
1073
+ # Corresponds to the JSON property `notes`
1074
+ # @return [String]
1075
+ attr_accessor :notes
1076
+
1077
+ # The Rule ID uniquely identifies the GTM Rule.
1078
+ # Corresponds to the JSON property `ruleId`
1079
+ # @return [String]
1080
+ attr_accessor :rule_id
1081
+
1082
+ def initialize(**args)
1083
+ update!(**args)
1084
+ end
1085
+
1086
+ # Update properties of this object
1087
+ def update!(**args)
1088
+ @account_id = args[:account_id] if args.key?(:account_id)
1089
+ @condition = args[:condition] if args.key?(:condition)
1090
+ @container_id = args[:container_id] if args.key?(:container_id)
1091
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
1092
+ @name = args[:name] if args.key?(:name)
1093
+ @notes = args[:notes] if args.key?(:notes)
1094
+ @rule_id = args[:rule_id] if args.key?(:rule_id)
1095
+ end
1096
+ end
1097
+
1098
+ #
1099
+ class SetupTag
1100
+ include Google::Apis::Core::Hashable
1101
+
1102
+ # If true, fire the main tag if and only if the setup tag fires successfully. If
1103
+ # false, fire the main tag regardless of setup tag firing status.
1104
+ # Corresponds to the JSON property `stopOnSetupFailure`
1105
+ # @return [Boolean]
1106
+ attr_accessor :stop_on_setup_failure
1107
+ alias_method :stop_on_setup_failure?, :stop_on_setup_failure
1108
+
1109
+ # The name of the setup tag.
1110
+ # Corresponds to the JSON property `tagName`
1111
+ # @return [String]
1112
+ attr_accessor :tag_name
1113
+
1114
+ def initialize(**args)
1115
+ update!(**args)
1116
+ end
1117
+
1118
+ # Update properties of this object
1119
+ def update!(**args)
1120
+ @stop_on_setup_failure = args[:stop_on_setup_failure] if args.key?(:stop_on_setup_failure)
1121
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
1122
+ end
1123
+ end
1124
+
1125
+ # Represents a Google Tag Manager Tag.
1126
+ class Tag
1127
+ include Google::Apis::Core::Hashable
1128
+
1129
+ # GTM Account ID.
1130
+ # Corresponds to the JSON property `accountId`
1131
+ # @return [String]
1132
+ attr_accessor :account_id
1133
+
1134
+ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will
1135
+ # not fire. @mutable tagmanager.accounts.containers.tags.create @mutable
1136
+ # tagmanager.accounts.containers.tags.update
1137
+ # Corresponds to the JSON property `blockingRuleId`
1138
+ # @return [Array<String>]
1139
+ attr_accessor :blocking_rule_id
1140
+
1141
+ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag
1142
+ # will not fire. @mutable tagmanager.accounts.containers.tags.create @mutable
1143
+ # tagmanager.accounts.containers.tags.update
1144
+ # Corresponds to the JSON property `blockingTriggerId`
1145
+ # @return [Array<String>]
1146
+ attr_accessor :blocking_trigger_id
1147
+
1148
+ # GTM Container ID.
1149
+ # Corresponds to the JSON property `containerId`
1150
+ # @return [String]
1151
+ attr_accessor :container_id
1152
+
1153
+ # The fingerprint of the GTM Tag as computed at storage time. This value is
1154
+ # recomputed whenever the tag is modified.
1155
+ # Corresponds to the JSON property `fingerprint`
1156
+ # @return [String]
1157
+ attr_accessor :fingerprint
1158
+
1159
+ # Firing rule IDs. A tag will fire when any of the listed rules are true and all
1160
+ # of its blockingRuleIds (if any specified) are false. @mutable tagmanager.
1161
+ # accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.
1162
+ # update
1163
+ # Corresponds to the JSON property `firingRuleId`
1164
+ # @return [Array<String>]
1165
+ attr_accessor :firing_rule_id
1166
+
1167
+ # Firing trigger IDs. A tag will fire when any of the listed triggers are true
1168
+ # and all of its blockingTriggerIds (if any specified) are false. @mutable
1169
+ # tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.
1170
+ # containers.tags.update
1171
+ # Corresponds to the JSON property `firingTriggerId`
1172
+ # @return [Array<String>]
1173
+ attr_accessor :firing_trigger_id
1174
+
1175
+ # If set to true, this tag will only fire in the live environment (e.g. not in
1176
+ # preview or debug mode). @mutable tagmanager.accounts.containers.tags.create @
1177
+ # mutable tagmanager.accounts.containers.tags.update
1178
+ # Corresponds to the JSON property `liveOnly`
1179
+ # @return [Boolean]
1180
+ attr_accessor :live_only
1181
+ alias_method :live_only?, :live_only
1182
+
1183
+ # Tag display name. @mutable tagmanager.accounts.containers.tags.create @mutable
1184
+ # tagmanager.accounts.containers.tags.update
1185
+ # Corresponds to the JSON property `name`
1186
+ # @return [String]
1187
+ attr_accessor :name
1188
+
1189
+ # User notes on how to apply this tag in the container. @mutable tagmanager.
1190
+ # accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.
1191
+ # update
1192
+ # Corresponds to the JSON property `notes`
1193
+ # @return [String]
1194
+ attr_accessor :notes
1195
+
1196
+ # The tag's parameters. @mutable tagmanager.accounts.containers.tags.create @
1197
+ # mutable tagmanager.accounts.containers.tags.update
1198
+ # Corresponds to the JSON property `parameter`
1199
+ # @return [Array<Google::Apis::TagmanagerV1::Parameter>]
1200
+ attr_accessor :parameter
1201
+
1202
+ # Parent folder id.
1203
+ # Corresponds to the JSON property `parentFolderId`
1204
+ # @return [String]
1205
+ attr_accessor :parent_folder_id
1206
+
1207
+ # True if the tag is paused. @mutable tagmanager.accounts.containers.tags.create
1208
+ # @mutable tagmanager.accounts.containers.tags.update
1209
+ # Corresponds to the JSON property `paused`
1210
+ # @return [Boolean]
1211
+ attr_accessor :paused
1212
+ alias_method :paused?, :paused
1213
+
1214
+ # Represents a Google Tag Manager Parameter.
1215
+ # Corresponds to the JSON property `priority`
1216
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1217
+ attr_accessor :priority
1218
+
1219
+ # The end timestamp in milliseconds to schedule a tag. @mutable tagmanager.
1220
+ # accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.
1221
+ # update
1222
+ # Corresponds to the JSON property `scheduleEndMs`
1223
+ # @return [Fixnum]
1224
+ attr_accessor :schedule_end_ms
1225
+
1226
+ # The start timestamp in milliseconds to schedule a tag. @mutable tagmanager.
1227
+ # accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.
1228
+ # update
1229
+ # Corresponds to the JSON property `scheduleStartMs`
1230
+ # @return [Fixnum]
1231
+ attr_accessor :schedule_start_ms
1232
+
1233
+ # The list of setup tags. Currently we only allow one.
1234
+ # Corresponds to the JSON property `setupTag`
1235
+ # @return [Array<Google::Apis::TagmanagerV1::SetupTag>]
1236
+ attr_accessor :setup_tag
1237
+
1238
+ # Option to fire this tag.
1239
+ # Corresponds to the JSON property `tagFiringOption`
1240
+ # @return [String]
1241
+ attr_accessor :tag_firing_option
1242
+
1243
+ # The Tag ID uniquely identifies the GTM Tag.
1244
+ # Corresponds to the JSON property `tagId`
1245
+ # @return [String]
1246
+ attr_accessor :tag_id
1247
+
1248
+ # The list of teardown tags. Currently we only allow one.
1249
+ # Corresponds to the JSON property `teardownTag`
1250
+ # @return [Array<Google::Apis::TagmanagerV1::TeardownTag>]
1251
+ attr_accessor :teardown_tag
1252
+
1253
+ # GTM Tag Type. @mutable tagmanager.accounts.containers.tags.create @mutable
1254
+ # tagmanager.accounts.containers.tags.update
1255
+ # Corresponds to the JSON property `type`
1256
+ # @return [String]
1257
+ attr_accessor :type
1258
+
1259
+ def initialize(**args)
1260
+ update!(**args)
1261
+ end
1262
+
1263
+ # Update properties of this object
1264
+ def update!(**args)
1265
+ @account_id = args[:account_id] if args.key?(:account_id)
1266
+ @blocking_rule_id = args[:blocking_rule_id] if args.key?(:blocking_rule_id)
1267
+ @blocking_trigger_id = args[:blocking_trigger_id] if args.key?(:blocking_trigger_id)
1268
+ @container_id = args[:container_id] if args.key?(:container_id)
1269
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
1270
+ @firing_rule_id = args[:firing_rule_id] if args.key?(:firing_rule_id)
1271
+ @firing_trigger_id = args[:firing_trigger_id] if args.key?(:firing_trigger_id)
1272
+ @live_only = args[:live_only] if args.key?(:live_only)
1273
+ @name = args[:name] if args.key?(:name)
1274
+ @notes = args[:notes] if args.key?(:notes)
1275
+ @parameter = args[:parameter] if args.key?(:parameter)
1276
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
1277
+ @paused = args[:paused] if args.key?(:paused)
1278
+ @priority = args[:priority] if args.key?(:priority)
1279
+ @schedule_end_ms = args[:schedule_end_ms] if args.key?(:schedule_end_ms)
1280
+ @schedule_start_ms = args[:schedule_start_ms] if args.key?(:schedule_start_ms)
1281
+ @setup_tag = args[:setup_tag] if args.key?(:setup_tag)
1282
+ @tag_firing_option = args[:tag_firing_option] if args.key?(:tag_firing_option)
1283
+ @tag_id = args[:tag_id] if args.key?(:tag_id)
1284
+ @teardown_tag = args[:teardown_tag] if args.key?(:teardown_tag)
1285
+ @type = args[:type] if args.key?(:type)
1286
+ end
1287
+ end
1288
+
1289
+ #
1290
+ class TeardownTag
1291
+ include Google::Apis::Core::Hashable
1292
+
1293
+ # If true, fire the teardown tag if and only if the main tag fires successfully.
1294
+ # If false, fire the teardown tag regardless of main tag firing status.
1295
+ # Corresponds to the JSON property `stopTeardownOnFailure`
1296
+ # @return [Boolean]
1297
+ attr_accessor :stop_teardown_on_failure
1298
+ alias_method :stop_teardown_on_failure?, :stop_teardown_on_failure
1299
+
1300
+ # The name of the teardown tag.
1301
+ # Corresponds to the JSON property `tagName`
1302
+ # @return [String]
1303
+ attr_accessor :tag_name
1304
+
1305
+ def initialize(**args)
1306
+ update!(**args)
1307
+ end
1308
+
1309
+ # Update properties of this object
1310
+ def update!(**args)
1311
+ @stop_teardown_on_failure = args[:stop_teardown_on_failure] if args.key?(:stop_teardown_on_failure)
1312
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
1313
+ end
1314
+ end
1315
+
1316
+ # Represents a Google Tag Manager Trigger
1317
+ class Trigger
1318
+ include Google::Apis::Core::Hashable
1319
+
1320
+ # GTM Account ID.
1321
+ # Corresponds to the JSON property `accountId`
1322
+ # @return [String]
1323
+ attr_accessor :account_id
1324
+
1325
+ # Used in the case of auto event tracking. @mutable tagmanager.accounts.
1326
+ # containers.triggers.create @mutable tagmanager.accounts.containers.triggers.
1327
+ # update
1328
+ # Corresponds to the JSON property `autoEventFilter`
1329
+ # @return [Array<Google::Apis::TagmanagerV1::Condition>]
1330
+ attr_accessor :auto_event_filter
1331
+
1332
+ # Represents a Google Tag Manager Parameter.
1333
+ # Corresponds to the JSON property `checkValidation`
1334
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1335
+ attr_accessor :check_validation
1336
+
1337
+ # GTM Container ID.
1338
+ # Corresponds to the JSON property `containerId`
1339
+ # @return [String]
1340
+ attr_accessor :container_id
1341
+
1342
+ # Represents a Google Tag Manager Parameter.
1343
+ # Corresponds to the JSON property `continuousTimeMinMilliseconds`
1344
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1345
+ attr_accessor :continuous_time_min_milliseconds
1346
+
1347
+ # Used in the case of custom event, which is fired iff all Conditions are true. @
1348
+ # mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.
1349
+ # accounts.containers.triggers.update
1350
+ # Corresponds to the JSON property `customEventFilter`
1351
+ # @return [Array<Google::Apis::TagmanagerV1::Condition>]
1352
+ attr_accessor :custom_event_filter
1353
+
1354
+ # Represents a Google Tag Manager Parameter.
1355
+ # Corresponds to the JSON property `eventName`
1356
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1357
+ attr_accessor :event_name
1358
+
1359
+ # The trigger will only fire iff all Conditions are true. @mutable tagmanager.
1360
+ # accounts.containers.triggers.create @mutable tagmanager.accounts.containers.
1361
+ # triggers.update
1362
+ # Corresponds to the JSON property `filter`
1363
+ # @return [Array<Google::Apis::TagmanagerV1::Condition>]
1364
+ attr_accessor :filter
1365
+
1366
+ # The fingerprint of the GTM Trigger as computed at storage time. This value is
1367
+ # recomputed whenever the trigger is modified.
1368
+ # Corresponds to the JSON property `fingerprint`
1369
+ # @return [String]
1370
+ attr_accessor :fingerprint
1371
+
1372
+ # Represents a Google Tag Manager Parameter.
1373
+ # Corresponds to the JSON property `horizontalScrollPercentageList`
1374
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1375
+ attr_accessor :horizontal_scroll_percentage_list
1376
+
1377
+ # Represents a Google Tag Manager Parameter.
1378
+ # Corresponds to the JSON property `interval`
1379
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1380
+ attr_accessor :interval
1381
+
1382
+ # Represents a Google Tag Manager Parameter.
1383
+ # Corresponds to the JSON property `intervalSeconds`
1384
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1385
+ attr_accessor :interval_seconds
1386
+
1387
+ # Represents a Google Tag Manager Parameter.
1388
+ # Corresponds to the JSON property `limit`
1389
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1390
+ attr_accessor :limit
1391
+
1392
+ # Represents a Google Tag Manager Parameter.
1393
+ # Corresponds to the JSON property `maxTimerLengthSeconds`
1394
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1395
+ attr_accessor :max_timer_length_seconds
1396
+
1397
+ # Trigger display name. @mutable tagmanager.accounts.containers.triggers.create @
1398
+ # mutable tagmanager.accounts.containers.triggers.update
1399
+ # Corresponds to the JSON property `name`
1400
+ # @return [String]
1401
+ attr_accessor :name
1402
+
1403
+ # Additional parameters. @mutable tagmanager.accounts.containers.workspaces.
1404
+ # triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.
1405
+ # update
1406
+ # Corresponds to the JSON property `parameter`
1407
+ # @return [Array<Google::Apis::TagmanagerV1::Parameter>]
1408
+ attr_accessor :parameter
1409
+
1410
+ # Parent folder id.
1411
+ # Corresponds to the JSON property `parentFolderId`
1412
+ # @return [String]
1413
+ attr_accessor :parent_folder_id
1414
+
1415
+ # Represents a Google Tag Manager Parameter.
1416
+ # Corresponds to the JSON property `selector`
1417
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1418
+ attr_accessor :selector
1419
+
1420
+ # Represents a Google Tag Manager Parameter.
1421
+ # Corresponds to the JSON property `totalTimeMinMilliseconds`
1422
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1423
+ attr_accessor :total_time_min_milliseconds
1424
+
1425
+ # The Trigger ID uniquely identifies the GTM Trigger.
1426
+ # Corresponds to the JSON property `triggerId`
1427
+ # @return [String]
1428
+ attr_accessor :trigger_id
1429
+
1430
+ # Defines the data layer event that causes this trigger. @mutable tagmanager.
1431
+ # accounts.containers.triggers.create @mutable tagmanager.accounts.containers.
1432
+ # triggers.update
1433
+ # Corresponds to the JSON property `type`
1434
+ # @return [String]
1435
+ attr_accessor :type
1436
+
1437
+ # Represents a Google Tag Manager Parameter.
1438
+ # Corresponds to the JSON property `uniqueTriggerId`
1439
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1440
+ attr_accessor :unique_trigger_id
1441
+
1442
+ # Represents a Google Tag Manager Parameter.
1443
+ # Corresponds to the JSON property `verticalScrollPercentageList`
1444
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1445
+ attr_accessor :vertical_scroll_percentage_list
1446
+
1447
+ # Represents a Google Tag Manager Parameter.
1448
+ # Corresponds to the JSON property `visibilitySelector`
1449
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1450
+ attr_accessor :visibility_selector
1451
+
1452
+ # Represents a Google Tag Manager Parameter.
1453
+ # Corresponds to the JSON property `visiblePercentageMax`
1454
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1455
+ attr_accessor :visible_percentage_max
1456
+
1457
+ # Represents a Google Tag Manager Parameter.
1458
+ # Corresponds to the JSON property `visiblePercentageMin`
1459
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1460
+ attr_accessor :visible_percentage_min
1461
+
1462
+ # Represents a Google Tag Manager Parameter.
1463
+ # Corresponds to the JSON property `waitForTags`
1464
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1465
+ attr_accessor :wait_for_tags
1466
+
1467
+ # Represents a Google Tag Manager Parameter.
1468
+ # Corresponds to the JSON property `waitForTagsTimeout`
1469
+ # @return [Google::Apis::TagmanagerV1::Parameter]
1470
+ attr_accessor :wait_for_tags_timeout
1471
+
1472
+ def initialize(**args)
1473
+ update!(**args)
1474
+ end
1475
+
1476
+ # Update properties of this object
1477
+ def update!(**args)
1478
+ @account_id = args[:account_id] if args.key?(:account_id)
1479
+ @auto_event_filter = args[:auto_event_filter] if args.key?(:auto_event_filter)
1480
+ @check_validation = args[:check_validation] if args.key?(:check_validation)
1481
+ @container_id = args[:container_id] if args.key?(:container_id)
1482
+ @continuous_time_min_milliseconds = args[:continuous_time_min_milliseconds] if args.key?(:continuous_time_min_milliseconds)
1483
+ @custom_event_filter = args[:custom_event_filter] if args.key?(:custom_event_filter)
1484
+ @event_name = args[:event_name] if args.key?(:event_name)
1485
+ @filter = args[:filter] if args.key?(:filter)
1486
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
1487
+ @horizontal_scroll_percentage_list = args[:horizontal_scroll_percentage_list] if args.key?(:horizontal_scroll_percentage_list)
1488
+ @interval = args[:interval] if args.key?(:interval)
1489
+ @interval_seconds = args[:interval_seconds] if args.key?(:interval_seconds)
1490
+ @limit = args[:limit] if args.key?(:limit)
1491
+ @max_timer_length_seconds = args[:max_timer_length_seconds] if args.key?(:max_timer_length_seconds)
1492
+ @name = args[:name] if args.key?(:name)
1493
+ @parameter = args[:parameter] if args.key?(:parameter)
1494
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
1495
+ @selector = args[:selector] if args.key?(:selector)
1496
+ @total_time_min_milliseconds = args[:total_time_min_milliseconds] if args.key?(:total_time_min_milliseconds)
1497
+ @trigger_id = args[:trigger_id] if args.key?(:trigger_id)
1498
+ @type = args[:type] if args.key?(:type)
1499
+ @unique_trigger_id = args[:unique_trigger_id] if args.key?(:unique_trigger_id)
1500
+ @vertical_scroll_percentage_list = args[:vertical_scroll_percentage_list] if args.key?(:vertical_scroll_percentage_list)
1501
+ @visibility_selector = args[:visibility_selector] if args.key?(:visibility_selector)
1502
+ @visible_percentage_max = args[:visible_percentage_max] if args.key?(:visible_percentage_max)
1503
+ @visible_percentage_min = args[:visible_percentage_min] if args.key?(:visible_percentage_min)
1504
+ @wait_for_tags = args[:wait_for_tags] if args.key?(:wait_for_tags)
1505
+ @wait_for_tags_timeout = args[:wait_for_tags_timeout] if args.key?(:wait_for_tags_timeout)
1506
+ end
1507
+ end
1508
+
1509
+ # Represents a user's permissions to an account and its container.
1510
+ class UserAccess
1511
+ include Google::Apis::Core::Hashable
1512
+
1513
+ # Defines the Google Tag Manager Account access permissions.
1514
+ # Corresponds to the JSON property `accountAccess`
1515
+ # @return [Google::Apis::TagmanagerV1::AccountAccess]
1516
+ attr_accessor :account_access
1517
+
1518
+ # GTM Account ID.
1519
+ # Corresponds to the JSON property `accountId`
1520
+ # @return [String]
1521
+ attr_accessor :account_id
1522
+
1523
+ # GTM Container access permissions. @mutable tagmanager.accounts.permissions.
1524
+ # create @mutable tagmanager.accounts.permissions.update
1525
+ # Corresponds to the JSON property `containerAccess`
1526
+ # @return [Array<Google::Apis::TagmanagerV1::ContainerAccess>]
1527
+ attr_accessor :container_access
1528
+
1529
+ # User's email address. @mutable tagmanager.accounts.permissions.create
1530
+ # Corresponds to the JSON property `emailAddress`
1531
+ # @return [String]
1532
+ attr_accessor :email_address
1533
+
1534
+ # Account Permission ID.
1535
+ # Corresponds to the JSON property `permissionId`
1536
+ # @return [String]
1537
+ attr_accessor :permission_id
1538
+
1539
+ def initialize(**args)
1540
+ update!(**args)
1541
+ end
1542
+
1543
+ # Update properties of this object
1544
+ def update!(**args)
1545
+ @account_access = args[:account_access] if args.key?(:account_access)
1546
+ @account_id = args[:account_id] if args.key?(:account_id)
1547
+ @container_access = args[:container_access] if args.key?(:container_access)
1548
+ @email_address = args[:email_address] if args.key?(:email_address)
1549
+ @permission_id = args[:permission_id] if args.key?(:permission_id)
1550
+ end
1551
+ end
1552
+
1553
+ # Represents a Google Tag Manager Variable.
1554
+ class Variable
1555
+ include Google::Apis::Core::Hashable
1556
+
1557
+ # GTM Account ID.
1558
+ # Corresponds to the JSON property `accountId`
1559
+ # @return [String]
1560
+ attr_accessor :account_id
1561
+
1562
+ # GTM Container ID.
1563
+ # Corresponds to the JSON property `containerId`
1564
+ # @return [String]
1565
+ attr_accessor :container_id
1566
+
1567
+ # For mobile containers only: A list of trigger IDs for disabling conditional
1568
+ # variables; the variable is enabled if one of the enabling trigger is true
1569
+ # while all the disabling trigger are false. Treated as an unordered set. @
1570
+ # mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.
1571
+ # accounts.containers.variables.update
1572
+ # Corresponds to the JSON property `disablingTriggerId`
1573
+ # @return [Array<String>]
1574
+ attr_accessor :disabling_trigger_id
1575
+
1576
+ # For mobile containers only: A list of trigger IDs for enabling conditional
1577
+ # variables; the variable is enabled if one of the enabling triggers is true
1578
+ # while all the disabling triggers are false. Treated as an unordered set. @
1579
+ # mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.
1580
+ # accounts.containers.variables.update
1581
+ # Corresponds to the JSON property `enablingTriggerId`
1582
+ # @return [Array<String>]
1583
+ attr_accessor :enabling_trigger_id
1584
+
1585
+ # The fingerprint of the GTM Variable as computed at storage time. This value is
1586
+ # recomputed whenever the variable is modified.
1587
+ # Corresponds to the JSON property `fingerprint`
1588
+ # @return [String]
1589
+ attr_accessor :fingerprint
1590
+
1591
+ # Variable display name. @mutable tagmanager.accounts.containers.variables.
1592
+ # create @mutable tagmanager.accounts.containers.variables.update
1593
+ # Corresponds to the JSON property `name`
1594
+ # @return [String]
1595
+ attr_accessor :name
1596
+
1597
+ # User notes on how to apply this variable in the container. @mutable tagmanager.
1598
+ # accounts.containers.variables.create @mutable tagmanager.accounts.containers.
1599
+ # variables.update
1600
+ # Corresponds to the JSON property `notes`
1601
+ # @return [String]
1602
+ attr_accessor :notes
1603
+
1604
+ # The variable's parameters. @mutable tagmanager.accounts.containers.variables.
1605
+ # create @mutable tagmanager.accounts.containers.variables.update
1606
+ # Corresponds to the JSON property `parameter`
1607
+ # @return [Array<Google::Apis::TagmanagerV1::Parameter>]
1608
+ attr_accessor :parameter
1609
+
1610
+ # Parent folder id.
1611
+ # Corresponds to the JSON property `parentFolderId`
1612
+ # @return [String]
1613
+ attr_accessor :parent_folder_id
1614
+
1615
+ # The end timestamp in milliseconds to schedule a variable. @mutable tagmanager.
1616
+ # accounts.containers.variables.create @mutable tagmanager.accounts.containers.
1617
+ # variables.update
1618
+ # Corresponds to the JSON property `scheduleEndMs`
1619
+ # @return [Fixnum]
1620
+ attr_accessor :schedule_end_ms
1621
+
1622
+ # The start timestamp in milliseconds to schedule a variable. @mutable
1623
+ # tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.
1624
+ # containers.variables.update
1625
+ # Corresponds to the JSON property `scheduleStartMs`
1626
+ # @return [Fixnum]
1627
+ attr_accessor :schedule_start_ms
1628
+
1629
+ # GTM Variable Type. @mutable tagmanager.accounts.containers.variables.create @
1630
+ # mutable tagmanager.accounts.containers.variables.update
1631
+ # Corresponds to the JSON property `type`
1632
+ # @return [String]
1633
+ attr_accessor :type
1634
+
1635
+ # The Variable ID uniquely identifies the GTM Variable.
1636
+ # Corresponds to the JSON property `variableId`
1637
+ # @return [String]
1638
+ attr_accessor :variable_id
1639
+
1640
+ def initialize(**args)
1641
+ update!(**args)
1642
+ end
1643
+
1644
+ # Update properties of this object
1645
+ def update!(**args)
1646
+ @account_id = args[:account_id] if args.key?(:account_id)
1647
+ @container_id = args[:container_id] if args.key?(:container_id)
1648
+ @disabling_trigger_id = args[:disabling_trigger_id] if args.key?(:disabling_trigger_id)
1649
+ @enabling_trigger_id = args[:enabling_trigger_id] if args.key?(:enabling_trigger_id)
1650
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
1651
+ @name = args[:name] if args.key?(:name)
1652
+ @notes = args[:notes] if args.key?(:notes)
1653
+ @parameter = args[:parameter] if args.key?(:parameter)
1654
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
1655
+ @schedule_end_ms = args[:schedule_end_ms] if args.key?(:schedule_end_ms)
1656
+ @schedule_start_ms = args[:schedule_start_ms] if args.key?(:schedule_start_ms)
1657
+ @type = args[:type] if args.key?(:type)
1658
+ @variable_id = args[:variable_id] if args.key?(:variable_id)
1659
+ end
1660
+ end
1661
+ end
1662
+ end
1663
+ end