google-apis-tagmanager_v2 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: b7c4d7ce2bae2acef458012294b7471897984d0b00e809afc06400332c480a42
4
+ data.tar.gz: 872e3566e2425d3e9ee1344da2101d8861468ed44e8fa1f809de789ced49d885
5
+ SHA512:
6
+ metadata.gz: 5d9d55c989aede69f09e9bfb96b6889795987e386ad7803e8e2c60f685fbac67b98aeba25b54448d46bb62facb4645292d83431bfaabdfef407ee84c77a3420c
7
+ data.tar.gz: be22d4bcf547f7674a35f38212351b1319c70a43443b684b8a173a3f58ce700b0e7df09f120ca15ecf5454f65c6cd73f8e7705c04d753e2dd5a7923ece8f4e32
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-tagmanager_v2
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/tagmanager_v2/*.rb
9
+ lib/google/apis/tagmanager_v2.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-tagmanager_v2
2
+
3
+ ### v0.1.0 (2021-01-07)
4
+
5
+ * Regenerated using generator version 0.1.1
6
+ * Regenerated from discovery document revision 20201022
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 V2 of the Tag Manager API
2
+
3
+ This is a simple client library for version V2 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_v2', '~> 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_v2
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_v2"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::TagmanagerV2::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::TagmanagerV2::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_v2`, 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_v2"
@@ -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_v2/service.rb'
16
+ require 'google/apis/tagmanager_v2/classes.rb'
17
+ require 'google/apis/tagmanager_v2/representations.rb'
18
+ require 'google/apis/tagmanager_v2/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 TagmanagerV2
28
+ # Version of the Tag Manager API this client connects to.
29
+ # This is NOT the gem version.
30
+ VERSION = 'V2'
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,2729 @@
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 TagmanagerV2
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
+ # GTM Account's API relative path.
47
+ # Corresponds to the JSON property `path`
48
+ # @return [String]
49
+ attr_accessor :path
50
+
51
+ # Whether the account shares data anonymously with Google and others. This flag
52
+ # enables benchmarking by sharing your data in an anonymous form. Google will
53
+ # remove all identifiable information about your website, combine the data with
54
+ # hundreds of other anonymous sites and report aggregate trends in the
55
+ # benchmarking service. @mutable tagmanager.accounts.create @mutable tagmanager.
56
+ # accounts.update
57
+ # Corresponds to the JSON property `shareData`
58
+ # @return [Boolean]
59
+ attr_accessor :share_data
60
+ alias_method :share_data?, :share_data
61
+
62
+ # Auto generated link to the tag manager UI
63
+ # Corresponds to the JSON property `tagManagerUrl`
64
+ # @return [String]
65
+ attr_accessor :tag_manager_url
66
+
67
+ def initialize(**args)
68
+ update!(**args)
69
+ end
70
+
71
+ # Update properties of this object
72
+ def update!(**args)
73
+ @account_id = args[:account_id] if args.key?(:account_id)
74
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
75
+ @name = args[:name] if args.key?(:name)
76
+ @path = args[:path] if args.key?(:path)
77
+ @share_data = args[:share_data] if args.key?(:share_data)
78
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
79
+ end
80
+ end
81
+
82
+ # Defines the Google Tag Manager Account access permissions.
83
+ class AccountAccess
84
+ include Google::Apis::Core::Hashable
85
+
86
+ # Whether the user has no access, user access, or admin access to an account. @
87
+ # mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.
88
+ # permissions.update
89
+ # Corresponds to the JSON property `permission`
90
+ # @return [String]
91
+ attr_accessor :permission
92
+
93
+ def initialize(**args)
94
+ update!(**args)
95
+ end
96
+
97
+ # Update properties of this object
98
+ def update!(**args)
99
+ @permission = args[:permission] if args.key?(:permission)
100
+ end
101
+ end
102
+
103
+ # Built-in variables are a special category of variables that are pre-created
104
+ # and non-customizable. They provide common functionality like accessing
105
+ # propeties of the gtm data layer, monitoring clicks, or accessing elements of a
106
+ # page URL.
107
+ class BuiltInVariable
108
+ include Google::Apis::Core::Hashable
109
+
110
+ # GTM Account ID.
111
+ # Corresponds to the JSON property `accountId`
112
+ # @return [String]
113
+ attr_accessor :account_id
114
+
115
+ # GTM Container ID.
116
+ # Corresponds to the JSON property `containerId`
117
+ # @return [String]
118
+ attr_accessor :container_id
119
+
120
+ # Name of the built-in variable to be used to refer to the built-in variable.
121
+ # Corresponds to the JSON property `name`
122
+ # @return [String]
123
+ attr_accessor :name
124
+
125
+ # GTM BuiltInVariable's API relative path.
126
+ # Corresponds to the JSON property `path`
127
+ # @return [String]
128
+ attr_accessor :path
129
+
130
+ # Type of built-in variable. @required.tagmanager.accounts.containers.workspaces.
131
+ # built_in_variable.update @mutable tagmanager.accounts.containers.workspaces.
132
+ # built_in_variable.update
133
+ # Corresponds to the JSON property `type`
134
+ # @return [String]
135
+ attr_accessor :type
136
+
137
+ # GTM Workspace ID.
138
+ # Corresponds to the JSON property `workspaceId`
139
+ # @return [String]
140
+ attr_accessor :workspace_id
141
+
142
+ def initialize(**args)
143
+ update!(**args)
144
+ end
145
+
146
+ # Update properties of this object
147
+ def update!(**args)
148
+ @account_id = args[:account_id] if args.key?(:account_id)
149
+ @container_id = args[:container_id] if args.key?(:container_id)
150
+ @name = args[:name] if args.key?(:name)
151
+ @path = args[:path] if args.key?(:path)
152
+ @type = args[:type] if args.key?(:type)
153
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
154
+ end
155
+ end
156
+
157
+ #
158
+ class Client
159
+ include Google::Apis::Core::Hashable
160
+
161
+ # GTM Account ID.
162
+ # Corresponds to the JSON property `accountId`
163
+ # @return [String]
164
+ attr_accessor :account_id
165
+
166
+ # The Client ID uniquely identifies the GTM client.
167
+ # Corresponds to the JSON property `clientId`
168
+ # @return [String]
169
+ attr_accessor :client_id
170
+
171
+ # GTM Container ID.
172
+ # Corresponds to the JSON property `containerId`
173
+ # @return [String]
174
+ attr_accessor :container_id
175
+
176
+ # The fingerprint of the GTM Client as computed at storage time. This value is
177
+ # recomputed whenever the client is modified.
178
+ # Corresponds to the JSON property `fingerprint`
179
+ # @return [String]
180
+ attr_accessor :fingerprint
181
+
182
+ # Client display name. @mutable tagmanager.accounts.containers.workspaces.
183
+ # clients.create @mutable tagmanager.accounts.containers.workspaces.clients.
184
+ # update
185
+ # Corresponds to the JSON property `name`
186
+ # @return [String]
187
+ attr_accessor :name
188
+
189
+ # The client's parameters. @mutable tagmanager.accounts.containers.workspaces.
190
+ # clients.create @mutable tagmanager.accounts.containers.workspaces.clients.
191
+ # update
192
+ # Corresponds to the JSON property `parameter`
193
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
194
+ attr_accessor :parameter
195
+
196
+ # Parent folder id.
197
+ # Corresponds to the JSON property `parentFolderId`
198
+ # @return [String]
199
+ attr_accessor :parent_folder_id
200
+
201
+ # GTM client's API relative path.
202
+ # Corresponds to the JSON property `path`
203
+ # @return [String]
204
+ attr_accessor :path
205
+
206
+ # Priority determines relative firing order. @mutable tagmanager.accounts.
207
+ # containers.workspaces.clients.create @mutable tagmanager.accounts.containers.
208
+ # workspaces.clients.update
209
+ # Corresponds to the JSON property `priority`
210
+ # @return [Fixnum]
211
+ attr_accessor :priority
212
+
213
+ # Auto generated link to the tag manager UI
214
+ # Corresponds to the JSON property `tagManagerUrl`
215
+ # @return [String]
216
+ attr_accessor :tag_manager_url
217
+
218
+ # Client type. @mutable tagmanager.accounts.containers.workspaces.clients.create
219
+ # @mutable tagmanager.accounts.containers.workspaces.clients.update
220
+ # Corresponds to the JSON property `type`
221
+ # @return [String]
222
+ attr_accessor :type
223
+
224
+ # GTM Workspace ID.
225
+ # Corresponds to the JSON property `workspaceId`
226
+ # @return [String]
227
+ attr_accessor :workspace_id
228
+
229
+ def initialize(**args)
230
+ update!(**args)
231
+ end
232
+
233
+ # Update properties of this object
234
+ def update!(**args)
235
+ @account_id = args[:account_id] if args.key?(:account_id)
236
+ @client_id = args[:client_id] if args.key?(:client_id)
237
+ @container_id = args[:container_id] if args.key?(:container_id)
238
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
239
+ @name = args[:name] if args.key?(:name)
240
+ @parameter = args[:parameter] if args.key?(:parameter)
241
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
242
+ @path = args[:path] if args.key?(:path)
243
+ @priority = args[:priority] if args.key?(:priority)
244
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
245
+ @type = args[:type] if args.key?(:type)
246
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
247
+ end
248
+ end
249
+
250
+ # Represents a predicate.
251
+ class Condition
252
+ include Google::Apis::Core::Hashable
253
+
254
+ # A list of named parameters (key/value), depending on the condition's type.
255
+ # Notes: - For binary operators, include parameters named arg0 and arg1 for
256
+ # specifying the left and right operands, respectively. - At this time, the left
257
+ # operand (arg0) must be a reference to a variable. - For case-insensitive Regex
258
+ # matching, include a boolean parameter named ignore_case that is set to true.
259
+ # If not specified or set to any other value, the matching will be case
260
+ # sensitive. - To negate an operator, include a boolean parameter named negate
261
+ # boolean parameter that is set to true. @mutable tagmanager.accounts.containers.
262
+ # workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.
263
+ # triggers.update
264
+ # Corresponds to the JSON property `parameter`
265
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
266
+ attr_accessor :parameter
267
+
268
+ # The type of operator for this condition. @mutable tagmanager.accounts.
269
+ # containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.
270
+ # workspaces.triggers.update
271
+ # Corresponds to the JSON property `type`
272
+ # @return [String]
273
+ attr_accessor :type
274
+
275
+ def initialize(**args)
276
+ update!(**args)
277
+ end
278
+
279
+ # Update properties of this object
280
+ def update!(**args)
281
+ @parameter = args[:parameter] if args.key?(:parameter)
282
+ @type = args[:type] if args.key?(:type)
283
+ end
284
+ end
285
+
286
+ # Represents a Google Tag Manager Container, which specifies the platform tags
287
+ # will run on, manages workspaces, and retains container versions.
288
+ class Container
289
+ include Google::Apis::Core::Hashable
290
+
291
+ # GTM Account ID.
292
+ # Corresponds to the JSON property `accountId`
293
+ # @return [String]
294
+ attr_accessor :account_id
295
+
296
+ # The Container ID uniquely identifies the GTM Container.
297
+ # Corresponds to the JSON property `containerId`
298
+ # @return [String]
299
+ attr_accessor :container_id
300
+
301
+ # List of domain names associated with the Container. @mutable tagmanager.
302
+ # accounts.containers.create @mutable tagmanager.accounts.containers.update
303
+ # Corresponds to the JSON property `domainName`
304
+ # @return [Array<String>]
305
+ attr_accessor :domain_name
306
+
307
+ # The fingerprint of the GTM Container as computed at storage time. This value
308
+ # is recomputed whenever the account is modified.
309
+ # Corresponds to the JSON property `fingerprint`
310
+ # @return [String]
311
+ attr_accessor :fingerprint
312
+
313
+ # Container display name. @mutable tagmanager.accounts.containers.create @
314
+ # mutable tagmanager.accounts.containers.update
315
+ # Corresponds to the JSON property `name`
316
+ # @return [String]
317
+ attr_accessor :name
318
+
319
+ # Container Notes. @mutable tagmanager.accounts.containers.create @mutable
320
+ # tagmanager.accounts.containers.update
321
+ # Corresponds to the JSON property `notes`
322
+ # @return [String]
323
+ attr_accessor :notes
324
+
325
+ # GTM Container's API relative path.
326
+ # Corresponds to the JSON property `path`
327
+ # @return [String]
328
+ attr_accessor :path
329
+
330
+ # Container Public ID.
331
+ # Corresponds to the JSON property `publicId`
332
+ # @return [String]
333
+ attr_accessor :public_id
334
+
335
+ # Auto generated link to the tag manager UI
336
+ # Corresponds to the JSON property `tagManagerUrl`
337
+ # @return [String]
338
+ attr_accessor :tag_manager_url
339
+
340
+ # List of Usage Contexts for the Container. Valid values include: web, android,
341
+ # or ios. @mutable tagmanager.accounts.containers.create @mutable tagmanager.
342
+ # accounts.containers.update
343
+ # Corresponds to the JSON property `usageContext`
344
+ # @return [Array<String>]
345
+ attr_accessor :usage_context
346
+
347
+ def initialize(**args)
348
+ update!(**args)
349
+ end
350
+
351
+ # Update properties of this object
352
+ def update!(**args)
353
+ @account_id = args[:account_id] if args.key?(:account_id)
354
+ @container_id = args[:container_id] if args.key?(:container_id)
355
+ @domain_name = args[:domain_name] if args.key?(:domain_name)
356
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
357
+ @name = args[:name] if args.key?(:name)
358
+ @notes = args[:notes] if args.key?(:notes)
359
+ @path = args[:path] if args.key?(:path)
360
+ @public_id = args[:public_id] if args.key?(:public_id)
361
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
362
+ @usage_context = args[:usage_context] if args.key?(:usage_context)
363
+ end
364
+ end
365
+
366
+ # Defines the Google Tag Manager Container access permissions.
367
+ class ContainerAccess
368
+ include Google::Apis::Core::Hashable
369
+
370
+ # GTM Container ID. @mutable tagmanager.accounts.permissions.create @mutable
371
+ # tagmanager.accounts.permissions.update
372
+ # Corresponds to the JSON property `containerId`
373
+ # @return [String]
374
+ attr_accessor :container_id
375
+
376
+ # List of Container permissions. @mutable tagmanager.accounts.permissions.create
377
+ # @mutable tagmanager.accounts.permissions.update
378
+ # Corresponds to the JSON property `permission`
379
+ # @return [String]
380
+ attr_accessor :permission
381
+
382
+ def initialize(**args)
383
+ update!(**args)
384
+ end
385
+
386
+ # Update properties of this object
387
+ def update!(**args)
388
+ @container_id = args[:container_id] if args.key?(:container_id)
389
+ @permission = args[:permission] if args.key?(:permission)
390
+ end
391
+ end
392
+
393
+ # Represents a Google Tag Manager Container Version.
394
+ class ContainerVersion
395
+ include Google::Apis::Core::Hashable
396
+
397
+ # GTM Account ID.
398
+ # Corresponds to the JSON property `accountId`
399
+ # @return [String]
400
+ attr_accessor :account_id
401
+
402
+ # The built-in variables in the container that this version was taken from.
403
+ # Corresponds to the JSON property `builtInVariable`
404
+ # @return [Array<Google::Apis::TagmanagerV2::BuiltInVariable>]
405
+ attr_accessor :built_in_variable
406
+
407
+ # The clients in the container that this version was taken from.
408
+ # Corresponds to the JSON property `client`
409
+ # @return [Array<Google::Apis::TagmanagerV2::Client>]
410
+ attr_accessor :client
411
+
412
+ # Represents a Google Tag Manager Container, which specifies the platform tags
413
+ # will run on, manages workspaces, and retains container versions.
414
+ # Corresponds to the JSON property `container`
415
+ # @return [Google::Apis::TagmanagerV2::Container]
416
+ attr_accessor :container
417
+
418
+ # GTM Container ID.
419
+ # Corresponds to the JSON property `containerId`
420
+ # @return [String]
421
+ attr_accessor :container_id
422
+
423
+ # The Container Version ID uniquely identifies the GTM Container Version.
424
+ # Corresponds to the JSON property `containerVersionId`
425
+ # @return [String]
426
+ attr_accessor :container_version_id
427
+
428
+ # The custom templates in the container that this version was taken from.
429
+ # Corresponds to the JSON property `customTemplate`
430
+ # @return [Array<Google::Apis::TagmanagerV2::CustomTemplate>]
431
+ attr_accessor :custom_template
432
+
433
+ # A value of true indicates this container version has been deleted.
434
+ # Corresponds to the JSON property `deleted`
435
+ # @return [Boolean]
436
+ attr_accessor :deleted
437
+ alias_method :deleted?, :deleted
438
+
439
+ # Container version description. @mutable tagmanager.accounts.containers.
440
+ # versions.update
441
+ # Corresponds to the JSON property `description`
442
+ # @return [String]
443
+ attr_accessor :description
444
+
445
+ # The fingerprint of the GTM Container Version as computed at storage time. This
446
+ # value is recomputed whenever the container version is modified.
447
+ # Corresponds to the JSON property `fingerprint`
448
+ # @return [String]
449
+ attr_accessor :fingerprint
450
+
451
+ # The folders in the container that this version was taken from.
452
+ # Corresponds to the JSON property `folder`
453
+ # @return [Array<Google::Apis::TagmanagerV2::Folder>]
454
+ attr_accessor :folder
455
+
456
+ # Container version display name. @mutable tagmanager.accounts.containers.
457
+ # versions.update
458
+ # Corresponds to the JSON property `name`
459
+ # @return [String]
460
+ attr_accessor :name
461
+
462
+ # GTM ContainerVersions's API relative path.
463
+ # Corresponds to the JSON property `path`
464
+ # @return [String]
465
+ attr_accessor :path
466
+
467
+ # The tags in the container that this version was taken from.
468
+ # Corresponds to the JSON property `tag`
469
+ # @return [Array<Google::Apis::TagmanagerV2::Tag>]
470
+ attr_accessor :tag
471
+
472
+ # Auto generated link to the tag manager UI
473
+ # Corresponds to the JSON property `tagManagerUrl`
474
+ # @return [String]
475
+ attr_accessor :tag_manager_url
476
+
477
+ # The triggers in the container that this version was taken from.
478
+ # Corresponds to the JSON property `trigger`
479
+ # @return [Array<Google::Apis::TagmanagerV2::Trigger>]
480
+ attr_accessor :trigger
481
+
482
+ # The variables in the container that this version was taken from.
483
+ # Corresponds to the JSON property `variable`
484
+ # @return [Array<Google::Apis::TagmanagerV2::Variable>]
485
+ attr_accessor :variable
486
+
487
+ # The zones in the container that this version was taken from.
488
+ # Corresponds to the JSON property `zone`
489
+ # @return [Array<Google::Apis::TagmanagerV2::Zone>]
490
+ attr_accessor :zone
491
+
492
+ def initialize(**args)
493
+ update!(**args)
494
+ end
495
+
496
+ # Update properties of this object
497
+ def update!(**args)
498
+ @account_id = args[:account_id] if args.key?(:account_id)
499
+ @built_in_variable = args[:built_in_variable] if args.key?(:built_in_variable)
500
+ @client = args[:client] if args.key?(:client)
501
+ @container = args[:container] if args.key?(:container)
502
+ @container_id = args[:container_id] if args.key?(:container_id)
503
+ @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
504
+ @custom_template = args[:custom_template] if args.key?(:custom_template)
505
+ @deleted = args[:deleted] if args.key?(:deleted)
506
+ @description = args[:description] if args.key?(:description)
507
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
508
+ @folder = args[:folder] if args.key?(:folder)
509
+ @name = args[:name] if args.key?(:name)
510
+ @path = args[:path] if args.key?(:path)
511
+ @tag = args[:tag] if args.key?(:tag)
512
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
513
+ @trigger = args[:trigger] if args.key?(:trigger)
514
+ @variable = args[:variable] if args.key?(:variable)
515
+ @zone = args[:zone] if args.key?(:zone)
516
+ end
517
+ end
518
+
519
+ # Represents a Google Tag Manager Container Version Header.
520
+ class ContainerVersionHeader
521
+ include Google::Apis::Core::Hashable
522
+
523
+ # GTM Account ID.
524
+ # Corresponds to the JSON property `accountId`
525
+ # @return [String]
526
+ attr_accessor :account_id
527
+
528
+ # GTM Container ID.
529
+ # Corresponds to the JSON property `containerId`
530
+ # @return [String]
531
+ attr_accessor :container_id
532
+
533
+ # The Container Version ID uniquely identifies the GTM Container Version.
534
+ # Corresponds to the JSON property `containerVersionId`
535
+ # @return [String]
536
+ attr_accessor :container_version_id
537
+
538
+ # A value of true indicates this container version has been deleted.
539
+ # Corresponds to the JSON property `deleted`
540
+ # @return [Boolean]
541
+ attr_accessor :deleted
542
+ alias_method :deleted?, :deleted
543
+
544
+ # Container version display name.
545
+ # Corresponds to the JSON property `name`
546
+ # @return [String]
547
+ attr_accessor :name
548
+
549
+ # Number of clients in the container version.
550
+ # Corresponds to the JSON property `numClients`
551
+ # @return [String]
552
+ attr_accessor :num_clients
553
+
554
+ # Number of custom templates in the container version.
555
+ # Corresponds to the JSON property `numCustomTemplates`
556
+ # @return [String]
557
+ attr_accessor :num_custom_templates
558
+
559
+ # Number of macros in the container version.
560
+ # Corresponds to the JSON property `numMacros`
561
+ # @return [String]
562
+ attr_accessor :num_macros
563
+
564
+ # Number of rules in the container version.
565
+ # Corresponds to the JSON property `numRules`
566
+ # @return [String]
567
+ attr_accessor :num_rules
568
+
569
+ # Number of tags in the container version.
570
+ # Corresponds to the JSON property `numTags`
571
+ # @return [String]
572
+ attr_accessor :num_tags
573
+
574
+ # Number of triggers in the container version.
575
+ # Corresponds to the JSON property `numTriggers`
576
+ # @return [String]
577
+ attr_accessor :num_triggers
578
+
579
+ # Number of variables in the container version.
580
+ # Corresponds to the JSON property `numVariables`
581
+ # @return [String]
582
+ attr_accessor :num_variables
583
+
584
+ # Number of zones in the container version.
585
+ # Corresponds to the JSON property `numZones`
586
+ # @return [String]
587
+ attr_accessor :num_zones
588
+
589
+ # GTM Container Versions's API relative path.
590
+ # Corresponds to the JSON property `path`
591
+ # @return [String]
592
+ attr_accessor :path
593
+
594
+ def initialize(**args)
595
+ update!(**args)
596
+ end
597
+
598
+ # Update properties of this object
599
+ def update!(**args)
600
+ @account_id = args[:account_id] if args.key?(:account_id)
601
+ @container_id = args[:container_id] if args.key?(:container_id)
602
+ @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
603
+ @deleted = args[:deleted] if args.key?(:deleted)
604
+ @name = args[:name] if args.key?(:name)
605
+ @num_clients = args[:num_clients] if args.key?(:num_clients)
606
+ @num_custom_templates = args[:num_custom_templates] if args.key?(:num_custom_templates)
607
+ @num_macros = args[:num_macros] if args.key?(:num_macros)
608
+ @num_rules = args[:num_rules] if args.key?(:num_rules)
609
+ @num_tags = args[:num_tags] if args.key?(:num_tags)
610
+ @num_triggers = args[:num_triggers] if args.key?(:num_triggers)
611
+ @num_variables = args[:num_variables] if args.key?(:num_variables)
612
+ @num_zones = args[:num_zones] if args.key?(:num_zones)
613
+ @path = args[:path] if args.key?(:path)
614
+ end
615
+ end
616
+
617
+ #
618
+ class CreateBuiltInVariableResponse
619
+ include Google::Apis::Core::Hashable
620
+
621
+ # List of created built-in variables.
622
+ # Corresponds to the JSON property `builtInVariable`
623
+ # @return [Array<Google::Apis::TagmanagerV2::BuiltInVariable>]
624
+ attr_accessor :built_in_variable
625
+
626
+ def initialize(**args)
627
+ update!(**args)
628
+ end
629
+
630
+ # Update properties of this object
631
+ def update!(**args)
632
+ @built_in_variable = args[:built_in_variable] if args.key?(:built_in_variable)
633
+ end
634
+ end
635
+
636
+ # Options for new container versions.
637
+ class CreateContainerVersionRequestVersionOptions
638
+ include Google::Apis::Core::Hashable
639
+
640
+ # The name of the container version to be created.
641
+ # Corresponds to the JSON property `name`
642
+ # @return [String]
643
+ attr_accessor :name
644
+
645
+ # The notes of the container version to be created.
646
+ # Corresponds to the JSON property `notes`
647
+ # @return [String]
648
+ attr_accessor :notes
649
+
650
+ def initialize(**args)
651
+ update!(**args)
652
+ end
653
+
654
+ # Update properties of this object
655
+ def update!(**args)
656
+ @name = args[:name] if args.key?(:name)
657
+ @notes = args[:notes] if args.key?(:notes)
658
+ end
659
+ end
660
+
661
+ # Create container versions response.
662
+ class CreateContainerVersionResponse
663
+ include Google::Apis::Core::Hashable
664
+
665
+ # Compiler errors or not.
666
+ # Corresponds to the JSON property `compilerError`
667
+ # @return [Boolean]
668
+ attr_accessor :compiler_error
669
+ alias_method :compiler_error?, :compiler_error
670
+
671
+ # Represents a Google Tag Manager Container Version.
672
+ # Corresponds to the JSON property `containerVersion`
673
+ # @return [Google::Apis::TagmanagerV2::ContainerVersion]
674
+ attr_accessor :container_version
675
+
676
+ # Auto generated workspace path created as a result of version creation. This
677
+ # field should only be populated if the created version was not a quick preview.
678
+ # Corresponds to the JSON property `newWorkspacePath`
679
+ # @return [String]
680
+ attr_accessor :new_workspace_path
681
+
682
+ # The status of a workspace after synchronization.
683
+ # Corresponds to the JSON property `syncStatus`
684
+ # @return [Google::Apis::TagmanagerV2::SyncStatus]
685
+ attr_accessor :sync_status
686
+
687
+ def initialize(**args)
688
+ update!(**args)
689
+ end
690
+
691
+ # Update properties of this object
692
+ def update!(**args)
693
+ @compiler_error = args[:compiler_error] if args.key?(:compiler_error)
694
+ @container_version = args[:container_version] if args.key?(:container_version)
695
+ @new_workspace_path = args[:new_workspace_path] if args.key?(:new_workspace_path)
696
+ @sync_status = args[:sync_status] if args.key?(:sync_status)
697
+ end
698
+ end
699
+
700
+ # Represents a Google Tag Manager Custom Template's contents.
701
+ class CustomTemplate
702
+ include Google::Apis::Core::Hashable
703
+
704
+ # GTM Account ID.
705
+ # Corresponds to the JSON property `accountId`
706
+ # @return [String]
707
+ attr_accessor :account_id
708
+
709
+ # GTM Container ID.
710
+ # Corresponds to the JSON property `containerId`
711
+ # @return [String]
712
+ attr_accessor :container_id
713
+
714
+ # The fingerprint of the GTM Custom Template as computed at storage time. This
715
+ # value is recomputed whenever the template is modified.
716
+ # Corresponds to the JSON property `fingerprint`
717
+ # @return [String]
718
+ attr_accessor :fingerprint
719
+
720
+ # Represents the link between a custom template and an entry on the Community
721
+ # Template Gallery site.
722
+ # Corresponds to the JSON property `galleryReference`
723
+ # @return [Google::Apis::TagmanagerV2::GalleryReference]
724
+ attr_accessor :gallery_reference
725
+
726
+ # Custom Template display name.
727
+ # Corresponds to the JSON property `name`
728
+ # @return [String]
729
+ attr_accessor :name
730
+
731
+ # GTM Custom Template's API relative path.
732
+ # Corresponds to the JSON property `path`
733
+ # @return [String]
734
+ attr_accessor :path
735
+
736
+ # Auto generated link to the tag manager UI
737
+ # Corresponds to the JSON property `tagManagerUrl`
738
+ # @return [String]
739
+ attr_accessor :tag_manager_url
740
+
741
+ # The custom template in text format.
742
+ # Corresponds to the JSON property `templateData`
743
+ # @return [String]
744
+ attr_accessor :template_data
745
+
746
+ # The Custom Template ID uniquely identifies the GTM custom template.
747
+ # Corresponds to the JSON property `templateId`
748
+ # @return [String]
749
+ attr_accessor :template_id
750
+
751
+ # GTM Workspace ID.
752
+ # Corresponds to the JSON property `workspaceId`
753
+ # @return [String]
754
+ attr_accessor :workspace_id
755
+
756
+ def initialize(**args)
757
+ update!(**args)
758
+ end
759
+
760
+ # Update properties of this object
761
+ def update!(**args)
762
+ @account_id = args[:account_id] if args.key?(:account_id)
763
+ @container_id = args[:container_id] if args.key?(:container_id)
764
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
765
+ @gallery_reference = args[:gallery_reference] if args.key?(:gallery_reference)
766
+ @name = args[:name] if args.key?(:name)
767
+ @path = args[:path] if args.key?(:path)
768
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
769
+ @template_data = args[:template_data] if args.key?(:template_data)
770
+ @template_id = args[:template_id] if args.key?(:template_id)
771
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
772
+ end
773
+ end
774
+
775
+ # A workspace entity that may represent a tag, trigger, variable, or folder in
776
+ # addition to its status in the workspace.
777
+ class Entity
778
+ include Google::Apis::Core::Hashable
779
+
780
+ # Represents how the entity has been changed in the workspace.
781
+ # Corresponds to the JSON property `changeStatus`
782
+ # @return [String]
783
+ attr_accessor :change_status
784
+
785
+ # The client being represented by the entity.
786
+ # Corresponds to the JSON property `client`
787
+ # @return [Google::Apis::TagmanagerV2::Client]
788
+ attr_accessor :client
789
+
790
+ # Represents a Google Tag Manager Folder.
791
+ # Corresponds to the JSON property `folder`
792
+ # @return [Google::Apis::TagmanagerV2::Folder]
793
+ attr_accessor :folder
794
+
795
+ # Represents a Google Tag Manager Tag.
796
+ # Corresponds to the JSON property `tag`
797
+ # @return [Google::Apis::TagmanagerV2::Tag]
798
+ attr_accessor :tag
799
+
800
+ # Represents a Google Tag Manager Trigger
801
+ # Corresponds to the JSON property `trigger`
802
+ # @return [Google::Apis::TagmanagerV2::Trigger]
803
+ attr_accessor :trigger
804
+
805
+ # Represents a Google Tag Manager Variable.
806
+ # Corresponds to the JSON property `variable`
807
+ # @return [Google::Apis::TagmanagerV2::Variable]
808
+ attr_accessor :variable
809
+
810
+ def initialize(**args)
811
+ update!(**args)
812
+ end
813
+
814
+ # Update properties of this object
815
+ def update!(**args)
816
+ @change_status = args[:change_status] if args.key?(:change_status)
817
+ @client = args[:client] if args.key?(:client)
818
+ @folder = args[:folder] if args.key?(:folder)
819
+ @tag = args[:tag] if args.key?(:tag)
820
+ @trigger = args[:trigger] if args.key?(:trigger)
821
+ @variable = args[:variable] if args.key?(:variable)
822
+ end
823
+ end
824
+
825
+ # Represents a Google Tag Manager Environment. Note that a user can create,
826
+ # delete and update environments of type USER, but can only update the
827
+ # enable_debug and url fields of environments of other types.
828
+ class Environment
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
+ # The environment authorization code.
837
+ # Corresponds to the JSON property `authorizationCode`
838
+ # @return [String]
839
+ attr_accessor :authorization_code
840
+
841
+ # The last update time-stamp for the authorization code.
842
+ # Corresponds to the JSON property `authorizationTimestamp`
843
+ # @return [String]
844
+ attr_accessor :authorization_timestamp
845
+
846
+ # GTM Container ID.
847
+ # Corresponds to the JSON property `containerId`
848
+ # @return [String]
849
+ attr_accessor :container_id
850
+
851
+ # Represents a link to a container version.
852
+ # Corresponds to the JSON property `containerVersionId`
853
+ # @return [String]
854
+ attr_accessor :container_version_id
855
+
856
+ # The environment description. Can be set or changed only on USER type
857
+ # environments. @mutable tagmanager.accounts.containers.environments.create @
858
+ # mutable tagmanager.accounts.containers.environments.update
859
+ # Corresponds to the JSON property `description`
860
+ # @return [String]
861
+ attr_accessor :description
862
+
863
+ # Whether or not to enable debug by default for the environment. @mutable
864
+ # tagmanager.accounts.containers.environments.create @mutable tagmanager.
865
+ # accounts.containers.environments.update
866
+ # Corresponds to the JSON property `enableDebug`
867
+ # @return [Boolean]
868
+ attr_accessor :enable_debug
869
+ alias_method :enable_debug?, :enable_debug
870
+
871
+ # GTM Environment ID uniquely identifies the GTM Environment.
872
+ # Corresponds to the JSON property `environmentId`
873
+ # @return [String]
874
+ attr_accessor :environment_id
875
+
876
+ # The fingerprint of the GTM environment as computed at storage time. This value
877
+ # is recomputed whenever the environment is modified.
878
+ # Corresponds to the JSON property `fingerprint`
879
+ # @return [String]
880
+ attr_accessor :fingerprint
881
+
882
+ # The environment display name. Can be set or changed only on USER type
883
+ # environments. @mutable tagmanager.accounts.containers.environments.create @
884
+ # mutable tagmanager.accounts.containers.environments.update
885
+ # Corresponds to the JSON property `name`
886
+ # @return [String]
887
+ attr_accessor :name
888
+
889
+ # GTM Environment's API relative path.
890
+ # Corresponds to the JSON property `path`
891
+ # @return [String]
892
+ attr_accessor :path
893
+
894
+ # Auto generated link to the tag manager UI
895
+ # Corresponds to the JSON property `tagManagerUrl`
896
+ # @return [String]
897
+ attr_accessor :tag_manager_url
898
+
899
+ # The type of this environment.
900
+ # Corresponds to the JSON property `type`
901
+ # @return [String]
902
+ attr_accessor :type
903
+
904
+ # Default preview page url for the environment. @mutable tagmanager.accounts.
905
+ # containers.environments.create @mutable tagmanager.accounts.containers.
906
+ # environments.update
907
+ # Corresponds to the JSON property `url`
908
+ # @return [String]
909
+ attr_accessor :url
910
+
911
+ # Represents a link to a quick preview of a workspace.
912
+ # Corresponds to the JSON property `workspaceId`
913
+ # @return [String]
914
+ attr_accessor :workspace_id
915
+
916
+ def initialize(**args)
917
+ update!(**args)
918
+ end
919
+
920
+ # Update properties of this object
921
+ def update!(**args)
922
+ @account_id = args[:account_id] if args.key?(:account_id)
923
+ @authorization_code = args[:authorization_code] if args.key?(:authorization_code)
924
+ @authorization_timestamp = args[:authorization_timestamp] if args.key?(:authorization_timestamp)
925
+ @container_id = args[:container_id] if args.key?(:container_id)
926
+ @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
927
+ @description = args[:description] if args.key?(:description)
928
+ @enable_debug = args[:enable_debug] if args.key?(:enable_debug)
929
+ @environment_id = args[:environment_id] if args.key?(:environment_id)
930
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
931
+ @name = args[:name] if args.key?(:name)
932
+ @path = args[:path] if args.key?(:path)
933
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
934
+ @type = args[:type] if args.key?(:type)
935
+ @url = args[:url] if args.key?(:url)
936
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
937
+ end
938
+ end
939
+
940
+ # Represents a Google Tag Manager Folder.
941
+ class Folder
942
+ include Google::Apis::Core::Hashable
943
+
944
+ # GTM Account ID.
945
+ # Corresponds to the JSON property `accountId`
946
+ # @return [String]
947
+ attr_accessor :account_id
948
+
949
+ # GTM Container ID.
950
+ # Corresponds to the JSON property `containerId`
951
+ # @return [String]
952
+ attr_accessor :container_id
953
+
954
+ # The fingerprint of the GTM Folder as computed at storage time. This value is
955
+ # recomputed whenever the folder is modified.
956
+ # Corresponds to the JSON property `fingerprint`
957
+ # @return [String]
958
+ attr_accessor :fingerprint
959
+
960
+ # The Folder ID uniquely identifies the GTM Folder.
961
+ # Corresponds to the JSON property `folderId`
962
+ # @return [String]
963
+ attr_accessor :folder_id
964
+
965
+ # Folder display name. @mutable tagmanager.accounts.containers.workspaces.
966
+ # folders.create @mutable tagmanager.accounts.containers.workspaces.folders.
967
+ # update
968
+ # Corresponds to the JSON property `name`
969
+ # @return [String]
970
+ attr_accessor :name
971
+
972
+ # User notes on how to apply this folder in the container. @mutable tagmanager.
973
+ # accounts.containers.workspaces.folders.create @mutable tagmanager.accounts.
974
+ # containers.workspaces.folders.update
975
+ # Corresponds to the JSON property `notes`
976
+ # @return [String]
977
+ attr_accessor :notes
978
+
979
+ # GTM Folder's API relative path.
980
+ # Corresponds to the JSON property `path`
981
+ # @return [String]
982
+ attr_accessor :path
983
+
984
+ # Auto generated link to the tag manager UI
985
+ # Corresponds to the JSON property `tagManagerUrl`
986
+ # @return [String]
987
+ attr_accessor :tag_manager_url
988
+
989
+ # GTM Workspace ID.
990
+ # Corresponds to the JSON property `workspaceId`
991
+ # @return [String]
992
+ attr_accessor :workspace_id
993
+
994
+ def initialize(**args)
995
+ update!(**args)
996
+ end
997
+
998
+ # Update properties of this object
999
+ def update!(**args)
1000
+ @account_id = args[:account_id] if args.key?(:account_id)
1001
+ @container_id = args[:container_id] if args.key?(:container_id)
1002
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
1003
+ @folder_id = args[:folder_id] if args.key?(:folder_id)
1004
+ @name = args[:name] if args.key?(:name)
1005
+ @notes = args[:notes] if args.key?(:notes)
1006
+ @path = args[:path] if args.key?(:path)
1007
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
1008
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
1009
+ end
1010
+ end
1011
+
1012
+ # Represents a Google Tag Manager Folder's contents.
1013
+ class FolderEntities
1014
+ include Google::Apis::Core::Hashable
1015
+
1016
+ # Continuation token for fetching the next page of results.
1017
+ # Corresponds to the JSON property `nextPageToken`
1018
+ # @return [String]
1019
+ attr_accessor :next_page_token
1020
+
1021
+ # The list of tags inside the folder.
1022
+ # Corresponds to the JSON property `tag`
1023
+ # @return [Array<Google::Apis::TagmanagerV2::Tag>]
1024
+ attr_accessor :tag
1025
+
1026
+ # The list of triggers inside the folder.
1027
+ # Corresponds to the JSON property `trigger`
1028
+ # @return [Array<Google::Apis::TagmanagerV2::Trigger>]
1029
+ attr_accessor :trigger
1030
+
1031
+ # The list of variables inside the folder.
1032
+ # Corresponds to the JSON property `variable`
1033
+ # @return [Array<Google::Apis::TagmanagerV2::Variable>]
1034
+ attr_accessor :variable
1035
+
1036
+ def initialize(**args)
1037
+ update!(**args)
1038
+ end
1039
+
1040
+ # Update properties of this object
1041
+ def update!(**args)
1042
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1043
+ @tag = args[:tag] if args.key?(:tag)
1044
+ @trigger = args[:trigger] if args.key?(:trigger)
1045
+ @variable = args[:variable] if args.key?(:variable)
1046
+ end
1047
+ end
1048
+
1049
+ # Represents the link between a custom template and an entry on the Community
1050
+ # Template Gallery site.
1051
+ class GalleryReference
1052
+ include Google::Apis::Core::Hashable
1053
+
1054
+ # The name of the host for the community gallery template.
1055
+ # Corresponds to the JSON property `host`
1056
+ # @return [String]
1057
+ attr_accessor :host
1058
+
1059
+ # If a user has manually edited the community gallery template.
1060
+ # Corresponds to the JSON property `isModified`
1061
+ # @return [Boolean]
1062
+ attr_accessor :is_modified
1063
+ alias_method :is_modified?, :is_modified
1064
+
1065
+ # The name of the owner for the community gallery template.
1066
+ # Corresponds to the JSON property `owner`
1067
+ # @return [String]
1068
+ attr_accessor :owner
1069
+
1070
+ # The name of the repository for the community gallery template.
1071
+ # Corresponds to the JSON property `repository`
1072
+ # @return [String]
1073
+ attr_accessor :repository
1074
+
1075
+ # The signature of the community gallery template as computed at import time.
1076
+ # This value is recomputed whenever the template is updated from the gallery.
1077
+ # Corresponds to the JSON property `signature`
1078
+ # @return [String]
1079
+ attr_accessor :signature
1080
+
1081
+ # The version of the community gallery template.
1082
+ # Corresponds to the JSON property `version`
1083
+ # @return [String]
1084
+ attr_accessor :version
1085
+
1086
+ def initialize(**args)
1087
+ update!(**args)
1088
+ end
1089
+
1090
+ # Update properties of this object
1091
+ def update!(**args)
1092
+ @host = args[:host] if args.key?(:host)
1093
+ @is_modified = args[:is_modified] if args.key?(:is_modified)
1094
+ @owner = args[:owner] if args.key?(:owner)
1095
+ @repository = args[:repository] if args.key?(:repository)
1096
+ @signature = args[:signature] if args.key?(:signature)
1097
+ @version = args[:version] if args.key?(:version)
1098
+ end
1099
+ end
1100
+
1101
+ # The changes that have occurred in the workspace since the base container
1102
+ # version.
1103
+ class GetWorkspaceStatusResponse
1104
+ include Google::Apis::Core::Hashable
1105
+
1106
+ # The merge conflict after sync.
1107
+ # Corresponds to the JSON property `mergeConflict`
1108
+ # @return [Array<Google::Apis::TagmanagerV2::MergeConflict>]
1109
+ attr_accessor :merge_conflict
1110
+
1111
+ # Entities that have been changed in the workspace.
1112
+ # Corresponds to the JSON property `workspaceChange`
1113
+ # @return [Array<Google::Apis::TagmanagerV2::Entity>]
1114
+ attr_accessor :workspace_change
1115
+
1116
+ def initialize(**args)
1117
+ update!(**args)
1118
+ end
1119
+
1120
+ # Update properties of this object
1121
+ def update!(**args)
1122
+ @merge_conflict = args[:merge_conflict] if args.key?(:merge_conflict)
1123
+ @workspace_change = args[:workspace_change] if args.key?(:workspace_change)
1124
+ end
1125
+ end
1126
+
1127
+ # List Accounts Response.
1128
+ class ListAccountsResponse
1129
+ include Google::Apis::Core::Hashable
1130
+
1131
+ # List of GTM Accounts that a user has access to.
1132
+ # Corresponds to the JSON property `account`
1133
+ # @return [Array<Google::Apis::TagmanagerV2::Account>]
1134
+ attr_accessor :account
1135
+
1136
+ # Continuation token for fetching the next page of results.
1137
+ # Corresponds to the JSON property `nextPageToken`
1138
+ # @return [String]
1139
+ attr_accessor :next_page_token
1140
+
1141
+ def initialize(**args)
1142
+ update!(**args)
1143
+ end
1144
+
1145
+ # Update properties of this object
1146
+ def update!(**args)
1147
+ @account = args[:account] if args.key?(:account)
1148
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1149
+ end
1150
+ end
1151
+
1152
+ # List container versions response.
1153
+ class ListContainerVersionsResponse
1154
+ include Google::Apis::Core::Hashable
1155
+
1156
+ # All container version headers of a GTM Container.
1157
+ # Corresponds to the JSON property `containerVersionHeader`
1158
+ # @return [Array<Google::Apis::TagmanagerV2::ContainerVersionHeader>]
1159
+ attr_accessor :container_version_header
1160
+
1161
+ # Continuation token for fetching the next page of results.
1162
+ # Corresponds to the JSON property `nextPageToken`
1163
+ # @return [String]
1164
+ attr_accessor :next_page_token
1165
+
1166
+ def initialize(**args)
1167
+ update!(**args)
1168
+ end
1169
+
1170
+ # Update properties of this object
1171
+ def update!(**args)
1172
+ @container_version_header = args[:container_version_header] if args.key?(:container_version_header)
1173
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1174
+ end
1175
+ end
1176
+
1177
+ # List Containers Response.
1178
+ class ListContainersResponse
1179
+ include Google::Apis::Core::Hashable
1180
+
1181
+ # All Containers of a GTM Account.
1182
+ # Corresponds to the JSON property `container`
1183
+ # @return [Array<Google::Apis::TagmanagerV2::Container>]
1184
+ attr_accessor :container
1185
+
1186
+ # Continuation token for fetching the next page of results.
1187
+ # Corresponds to the JSON property `nextPageToken`
1188
+ # @return [String]
1189
+ attr_accessor :next_page_token
1190
+
1191
+ def initialize(**args)
1192
+ update!(**args)
1193
+ end
1194
+
1195
+ # Update properties of this object
1196
+ def update!(**args)
1197
+ @container = args[:container] if args.key?(:container)
1198
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1199
+ end
1200
+ end
1201
+
1202
+ # A list of enabled built-in variables.
1203
+ class ListEnabledBuiltInVariablesResponse
1204
+ include Google::Apis::Core::Hashable
1205
+
1206
+ # All GTM BuiltInVariables of a GTM container.
1207
+ # Corresponds to the JSON property `builtInVariable`
1208
+ # @return [Array<Google::Apis::TagmanagerV2::BuiltInVariable>]
1209
+ attr_accessor :built_in_variable
1210
+
1211
+ # Continuation token for fetching the next page of results.
1212
+ # Corresponds to the JSON property `nextPageToken`
1213
+ # @return [String]
1214
+ attr_accessor :next_page_token
1215
+
1216
+ def initialize(**args)
1217
+ update!(**args)
1218
+ end
1219
+
1220
+ # Update properties of this object
1221
+ def update!(**args)
1222
+ @built_in_variable = args[:built_in_variable] if args.key?(:built_in_variable)
1223
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1224
+ end
1225
+ end
1226
+
1227
+ # List Environments Response.
1228
+ class ListEnvironmentsResponse
1229
+ include Google::Apis::Core::Hashable
1230
+
1231
+ # All Environments of a GTM Container.
1232
+ # Corresponds to the JSON property `environment`
1233
+ # @return [Array<Google::Apis::TagmanagerV2::Environment>]
1234
+ attr_accessor :environment
1235
+
1236
+ # Continuation token for fetching the next page of results.
1237
+ # Corresponds to the JSON property `nextPageToken`
1238
+ # @return [String]
1239
+ attr_accessor :next_page_token
1240
+
1241
+ def initialize(**args)
1242
+ update!(**args)
1243
+ end
1244
+
1245
+ # Update properties of this object
1246
+ def update!(**args)
1247
+ @environment = args[:environment] if args.key?(:environment)
1248
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1249
+ end
1250
+ end
1251
+
1252
+ # List Folders Response.
1253
+ class ListFoldersResponse
1254
+ include Google::Apis::Core::Hashable
1255
+
1256
+ # All GTM Folders of a GTM Container.
1257
+ # Corresponds to the JSON property `folder`
1258
+ # @return [Array<Google::Apis::TagmanagerV2::Folder>]
1259
+ attr_accessor :folder
1260
+
1261
+ # Continuation token for fetching the next page of results.
1262
+ # Corresponds to the JSON property `nextPageToken`
1263
+ # @return [String]
1264
+ attr_accessor :next_page_token
1265
+
1266
+ def initialize(**args)
1267
+ update!(**args)
1268
+ end
1269
+
1270
+ # Update properties of this object
1271
+ def update!(**args)
1272
+ @folder = args[:folder] if args.key?(:folder)
1273
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1274
+ end
1275
+ end
1276
+
1277
+ # List Tags Response.
1278
+ class ListTagsResponse
1279
+ include Google::Apis::Core::Hashable
1280
+
1281
+ # Continuation token for fetching the next page of results.
1282
+ # Corresponds to the JSON property `nextPageToken`
1283
+ # @return [String]
1284
+ attr_accessor :next_page_token
1285
+
1286
+ # All GTM Tags of a GTM Container.
1287
+ # Corresponds to the JSON property `tag`
1288
+ # @return [Array<Google::Apis::TagmanagerV2::Tag>]
1289
+ attr_accessor :tag
1290
+
1291
+ def initialize(**args)
1292
+ update!(**args)
1293
+ end
1294
+
1295
+ # Update properties of this object
1296
+ def update!(**args)
1297
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1298
+ @tag = args[:tag] if args.key?(:tag)
1299
+ end
1300
+ end
1301
+
1302
+ #
1303
+ class ListTemplatesResponse
1304
+ include Google::Apis::Core::Hashable
1305
+
1306
+ # Continuation token for fetching the next page of results.
1307
+ # Corresponds to the JSON property `nextPageToken`
1308
+ # @return [String]
1309
+ attr_accessor :next_page_token
1310
+
1311
+ # All GTM Custom Templates of a GTM Container.
1312
+ # Corresponds to the JSON property `template`
1313
+ # @return [Array<Google::Apis::TagmanagerV2::CustomTemplate>]
1314
+ attr_accessor :template
1315
+
1316
+ def initialize(**args)
1317
+ update!(**args)
1318
+ end
1319
+
1320
+ # Update properties of this object
1321
+ def update!(**args)
1322
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1323
+ @template = args[:template] if args.key?(:template)
1324
+ end
1325
+ end
1326
+
1327
+ # List triggers response.
1328
+ class ListTriggersResponse
1329
+ include Google::Apis::Core::Hashable
1330
+
1331
+ # Continuation token for fetching the next page of results.
1332
+ # Corresponds to the JSON property `nextPageToken`
1333
+ # @return [String]
1334
+ attr_accessor :next_page_token
1335
+
1336
+ # All GTM Triggers of a GTM Container.
1337
+ # Corresponds to the JSON property `trigger`
1338
+ # @return [Array<Google::Apis::TagmanagerV2::Trigger>]
1339
+ attr_accessor :trigger
1340
+
1341
+ def initialize(**args)
1342
+ update!(**args)
1343
+ end
1344
+
1345
+ # Update properties of this object
1346
+ def update!(**args)
1347
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1348
+ @trigger = args[:trigger] if args.key?(:trigger)
1349
+ end
1350
+ end
1351
+
1352
+ # List user permissions response.
1353
+ class ListUserPermissionsResponse
1354
+ include Google::Apis::Core::Hashable
1355
+
1356
+ # Continuation token for fetching the next page of results.
1357
+ # Corresponds to the JSON property `nextPageToken`
1358
+ # @return [String]
1359
+ attr_accessor :next_page_token
1360
+
1361
+ # All GTM UserPermissions of a GTM Account.
1362
+ # Corresponds to the JSON property `userPermission`
1363
+ # @return [Array<Google::Apis::TagmanagerV2::UserPermission>]
1364
+ attr_accessor :user_permission
1365
+
1366
+ def initialize(**args)
1367
+ update!(**args)
1368
+ end
1369
+
1370
+ # Update properties of this object
1371
+ def update!(**args)
1372
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1373
+ @user_permission = args[:user_permission] if args.key?(:user_permission)
1374
+ end
1375
+ end
1376
+
1377
+ # List Variables Response.
1378
+ class ListVariablesResponse
1379
+ include Google::Apis::Core::Hashable
1380
+
1381
+ # Continuation token for fetching the next page of results.
1382
+ # Corresponds to the JSON property `nextPageToken`
1383
+ # @return [String]
1384
+ attr_accessor :next_page_token
1385
+
1386
+ # All GTM Variables of a GTM Container.
1387
+ # Corresponds to the JSON property `variable`
1388
+ # @return [Array<Google::Apis::TagmanagerV2::Variable>]
1389
+ attr_accessor :variable
1390
+
1391
+ def initialize(**args)
1392
+ update!(**args)
1393
+ end
1394
+
1395
+ # Update properties of this object
1396
+ def update!(**args)
1397
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1398
+ @variable = args[:variable] if args.key?(:variable)
1399
+ end
1400
+ end
1401
+
1402
+ # A list of workspaces in a container.
1403
+ class ListWorkspacesResponse
1404
+ include Google::Apis::Core::Hashable
1405
+
1406
+ # Continuation token for fetching the next page of results.
1407
+ # Corresponds to the JSON property `nextPageToken`
1408
+ # @return [String]
1409
+ attr_accessor :next_page_token
1410
+
1411
+ # All Workspaces of a GTM Container.
1412
+ # Corresponds to the JSON property `workspace`
1413
+ # @return [Array<Google::Apis::TagmanagerV2::Workspace>]
1414
+ attr_accessor :workspace
1415
+
1416
+ def initialize(**args)
1417
+ update!(**args)
1418
+ end
1419
+
1420
+ # Update properties of this object
1421
+ def update!(**args)
1422
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1423
+ @workspace = args[:workspace] if args.key?(:workspace)
1424
+ end
1425
+ end
1426
+
1427
+ #
1428
+ class ListZonesResponse
1429
+ include Google::Apis::Core::Hashable
1430
+
1431
+ # Continuation token for fetching the next page of results.
1432
+ # Corresponds to the JSON property `nextPageToken`
1433
+ # @return [String]
1434
+ attr_accessor :next_page_token
1435
+
1436
+ # All GTM Zones of a GTM Container.
1437
+ # Corresponds to the JSON property `zone`
1438
+ # @return [Array<Google::Apis::TagmanagerV2::Zone>]
1439
+ attr_accessor :zone
1440
+
1441
+ def initialize(**args)
1442
+ update!(**args)
1443
+ end
1444
+
1445
+ # Update properties of this object
1446
+ def update!(**args)
1447
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1448
+ @zone = args[:zone] if args.key?(:zone)
1449
+ end
1450
+ end
1451
+
1452
+ # Represents a merge conflict.
1453
+ class MergeConflict
1454
+ include Google::Apis::Core::Hashable
1455
+
1456
+ # A workspace entity that may represent a tag, trigger, variable, or folder in
1457
+ # addition to its status in the workspace.
1458
+ # Corresponds to the JSON property `entityInBaseVersion`
1459
+ # @return [Google::Apis::TagmanagerV2::Entity]
1460
+ attr_accessor :entity_in_base_version
1461
+
1462
+ # A workspace entity that may represent a tag, trigger, variable, or folder in
1463
+ # addition to its status in the workspace.
1464
+ # Corresponds to the JSON property `entityInWorkspace`
1465
+ # @return [Google::Apis::TagmanagerV2::Entity]
1466
+ attr_accessor :entity_in_workspace
1467
+
1468
+ def initialize(**args)
1469
+ update!(**args)
1470
+ end
1471
+
1472
+ # Update properties of this object
1473
+ def update!(**args)
1474
+ @entity_in_base_version = args[:entity_in_base_version] if args.key?(:entity_in_base_version)
1475
+ @entity_in_workspace = args[:entity_in_workspace] if args.key?(:entity_in_workspace)
1476
+ end
1477
+ end
1478
+
1479
+ # Represents a Google Tag Manager Parameter.
1480
+ class Parameter
1481
+ include Google::Apis::Core::Hashable
1482
+
1483
+ # The named key that uniquely identifies a parameter. Required for top-level
1484
+ # parameters, as well as map values. Ignored for list values. @mutable
1485
+ # tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.
1486
+ # accounts.containers.workspaces.variables.update @mutable tagmanager.accounts.
1487
+ # containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.
1488
+ # workspaces.triggers.update @mutable tagmanager.accounts.containers.workspaces.
1489
+ # tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update
1490
+ # Corresponds to the JSON property `key`
1491
+ # @return [String]
1492
+ attr_accessor :key
1493
+
1494
+ # This list parameter's parameters (keys will be ignored). @mutable tagmanager.
1495
+ # accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.
1496
+ # containers.workspaces.variables.update @mutable tagmanager.accounts.containers.
1497
+ # workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.
1498
+ # triggers.update @mutable tagmanager.accounts.containers.workspaces.tags.create
1499
+ # @mutable tagmanager.accounts.containers.workspaces.tags.update
1500
+ # Corresponds to the JSON property `list`
1501
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
1502
+ attr_accessor :list
1503
+
1504
+ # This map parameter's parameters (must have keys; keys must be unique). @
1505
+ # mutable tagmanager.accounts.containers.workspaces.variables.create @mutable
1506
+ # tagmanager.accounts.containers.workspaces.variables.update @mutable tagmanager.
1507
+ # accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.
1508
+ # containers.workspaces.triggers.update @mutable tagmanager.accounts.containers.
1509
+ # workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.
1510
+ # update
1511
+ # Corresponds to the JSON property `map`
1512
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
1513
+ attr_accessor :map
1514
+
1515
+ # The parameter type. Valid values are: - boolean: The value represents a
1516
+ # boolean, represented as 'true' or 'false' - integer: The value represents a 64-
1517
+ # bit signed integer value, in base 10 - list: A list of parameters should be
1518
+ # specified - map: A map of parameters should be specified - template: The value
1519
+ # represents any text; this can include variable references (even variable
1520
+ # references that might return non-string types) - trigger_reference: The value
1521
+ # represents a trigger, represented as the trigger id - tag_reference: The value
1522
+ # represents a tag, represented as the tag name @mutable tagmanager.accounts.
1523
+ # containers.workspaces.variables.create @mutable tagmanager.accounts.containers.
1524
+ # workspaces.variables.update @mutable tagmanager.accounts.containers.workspaces.
1525
+ # triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.
1526
+ # update @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable
1527
+ # tagmanager.accounts.containers.workspaces.tags.update
1528
+ # Corresponds to the JSON property `type`
1529
+ # @return [String]
1530
+ attr_accessor :type
1531
+
1532
+ # A parameter's value (may contain variable references such as "``myVariable``")
1533
+ # as appropriate to the specified type. @mutable tagmanager.accounts.containers.
1534
+ # workspaces.variables.create @mutable tagmanager.accounts.containers.workspaces.
1535
+ # variables.update @mutable tagmanager.accounts.containers.workspaces.triggers.
1536
+ # create @mutable tagmanager.accounts.containers.workspaces.triggers.update @
1537
+ # mutable tagmanager.accounts.containers.workspaces.tags.create @mutable
1538
+ # tagmanager.accounts.containers.workspaces.tags.update
1539
+ # Corresponds to the JSON property `value`
1540
+ # @return [String]
1541
+ attr_accessor :value
1542
+
1543
+ def initialize(**args)
1544
+ update!(**args)
1545
+ end
1546
+
1547
+ # Update properties of this object
1548
+ def update!(**args)
1549
+ @key = args[:key] if args.key?(:key)
1550
+ @list = args[:list] if args.key?(:list)
1551
+ @map = args[:map] if args.key?(:map)
1552
+ @type = args[:type] if args.key?(:type)
1553
+ @value = args[:value] if args.key?(:value)
1554
+ end
1555
+ end
1556
+
1557
+ # Publish container version response.
1558
+ class PublishContainerVersionResponse
1559
+ include Google::Apis::Core::Hashable
1560
+
1561
+ # Compiler errors or not.
1562
+ # Corresponds to the JSON property `compilerError`
1563
+ # @return [Boolean]
1564
+ attr_accessor :compiler_error
1565
+ alias_method :compiler_error?, :compiler_error
1566
+
1567
+ # Represents a Google Tag Manager Container Version.
1568
+ # Corresponds to the JSON property `containerVersion`
1569
+ # @return [Google::Apis::TagmanagerV2::ContainerVersion]
1570
+ attr_accessor :container_version
1571
+
1572
+ def initialize(**args)
1573
+ update!(**args)
1574
+ end
1575
+
1576
+ # Update properties of this object
1577
+ def update!(**args)
1578
+ @compiler_error = args[:compiler_error] if args.key?(:compiler_error)
1579
+ @container_version = args[:container_version] if args.key?(:container_version)
1580
+ end
1581
+ end
1582
+
1583
+ # Response to quick previewing a workspace.
1584
+ class QuickPreviewResponse
1585
+ include Google::Apis::Core::Hashable
1586
+
1587
+ # Were there compiler errors or not.
1588
+ # Corresponds to the JSON property `compilerError`
1589
+ # @return [Boolean]
1590
+ attr_accessor :compiler_error
1591
+ alias_method :compiler_error?, :compiler_error
1592
+
1593
+ # Represents a Google Tag Manager Container Version.
1594
+ # Corresponds to the JSON property `containerVersion`
1595
+ # @return [Google::Apis::TagmanagerV2::ContainerVersion]
1596
+ attr_accessor :container_version
1597
+
1598
+ # The status of a workspace after synchronization.
1599
+ # Corresponds to the JSON property `syncStatus`
1600
+ # @return [Google::Apis::TagmanagerV2::SyncStatus]
1601
+ attr_accessor :sync_status
1602
+
1603
+ def initialize(**args)
1604
+ update!(**args)
1605
+ end
1606
+
1607
+ # Update properties of this object
1608
+ def update!(**args)
1609
+ @compiler_error = args[:compiler_error] if args.key?(:compiler_error)
1610
+ @container_version = args[:container_version] if args.key?(:container_version)
1611
+ @sync_status = args[:sync_status] if args.key?(:sync_status)
1612
+ end
1613
+ end
1614
+
1615
+ # The result of reverting a built-in variable in a workspace.
1616
+ class RevertBuiltInVariableResponse
1617
+ include Google::Apis::Core::Hashable
1618
+
1619
+ # Whether the built-in variable is enabled after reversion.
1620
+ # Corresponds to the JSON property `enabled`
1621
+ # @return [Boolean]
1622
+ attr_accessor :enabled
1623
+ alias_method :enabled?, :enabled
1624
+
1625
+ def initialize(**args)
1626
+ update!(**args)
1627
+ end
1628
+
1629
+ # Update properties of this object
1630
+ def update!(**args)
1631
+ @enabled = args[:enabled] if args.key?(:enabled)
1632
+ end
1633
+ end
1634
+
1635
+ # The result of reverting folder changes in a workspace.
1636
+ class RevertFolderResponse
1637
+ include Google::Apis::Core::Hashable
1638
+
1639
+ # Represents a Google Tag Manager Folder.
1640
+ # Corresponds to the JSON property `folder`
1641
+ # @return [Google::Apis::TagmanagerV2::Folder]
1642
+ attr_accessor :folder
1643
+
1644
+ def initialize(**args)
1645
+ update!(**args)
1646
+ end
1647
+
1648
+ # Update properties of this object
1649
+ def update!(**args)
1650
+ @folder = args[:folder] if args.key?(:folder)
1651
+ end
1652
+ end
1653
+
1654
+ # The result of reverting a tag in a workspace.
1655
+ class RevertTagResponse
1656
+ include Google::Apis::Core::Hashable
1657
+
1658
+ # Represents a Google Tag Manager Tag.
1659
+ # Corresponds to the JSON property `tag`
1660
+ # @return [Google::Apis::TagmanagerV2::Tag]
1661
+ attr_accessor :tag
1662
+
1663
+ def initialize(**args)
1664
+ update!(**args)
1665
+ end
1666
+
1667
+ # Update properties of this object
1668
+ def update!(**args)
1669
+ @tag = args[:tag] if args.key?(:tag)
1670
+ end
1671
+ end
1672
+
1673
+ # The result of reverting a template in a workspace.
1674
+ class RevertTemplateResponse
1675
+ include Google::Apis::Core::Hashable
1676
+
1677
+ # Represents a Google Tag Manager Custom Template's contents.
1678
+ # Corresponds to the JSON property `template`
1679
+ # @return [Google::Apis::TagmanagerV2::CustomTemplate]
1680
+ attr_accessor :template
1681
+
1682
+ def initialize(**args)
1683
+ update!(**args)
1684
+ end
1685
+
1686
+ # Update properties of this object
1687
+ def update!(**args)
1688
+ @template = args[:template] if args.key?(:template)
1689
+ end
1690
+ end
1691
+
1692
+ # The result of reverting a trigger in a workspace.
1693
+ class RevertTriggerResponse
1694
+ include Google::Apis::Core::Hashable
1695
+
1696
+ # Represents a Google Tag Manager Trigger
1697
+ # Corresponds to the JSON property `trigger`
1698
+ # @return [Google::Apis::TagmanagerV2::Trigger]
1699
+ attr_accessor :trigger
1700
+
1701
+ def initialize(**args)
1702
+ update!(**args)
1703
+ end
1704
+
1705
+ # Update properties of this object
1706
+ def update!(**args)
1707
+ @trigger = args[:trigger] if args.key?(:trigger)
1708
+ end
1709
+ end
1710
+
1711
+ # The result of reverting a variable in a workspace.
1712
+ class RevertVariableResponse
1713
+ include Google::Apis::Core::Hashable
1714
+
1715
+ # Represents a Google Tag Manager Variable.
1716
+ # Corresponds to the JSON property `variable`
1717
+ # @return [Google::Apis::TagmanagerV2::Variable]
1718
+ attr_accessor :variable
1719
+
1720
+ def initialize(**args)
1721
+ update!(**args)
1722
+ end
1723
+
1724
+ # Update properties of this object
1725
+ def update!(**args)
1726
+ @variable = args[:variable] if args.key?(:variable)
1727
+ end
1728
+ end
1729
+
1730
+ # The result of reverting a zone in a workspace.
1731
+ class RevertZoneResponse
1732
+ include Google::Apis::Core::Hashable
1733
+
1734
+ # Represents a Google Tag Manager Zone's contents.
1735
+ # Corresponds to the JSON property `zone`
1736
+ # @return [Google::Apis::TagmanagerV2::Zone]
1737
+ attr_accessor :zone
1738
+
1739
+ def initialize(**args)
1740
+ update!(**args)
1741
+ end
1742
+
1743
+ # Update properties of this object
1744
+ def update!(**args)
1745
+ @zone = args[:zone] if args.key?(:zone)
1746
+ end
1747
+ end
1748
+
1749
+ # Represents a reference to atag that fires before another tag in order to set
1750
+ # up dependencies.
1751
+ class SetupTag
1752
+ include Google::Apis::Core::Hashable
1753
+
1754
+ # If true, fire the main tag if and only if the setup tag fires successfully. If
1755
+ # false, fire the main tag regardless of setup tag firing status.
1756
+ # Corresponds to the JSON property `stopOnSetupFailure`
1757
+ # @return [Boolean]
1758
+ attr_accessor :stop_on_setup_failure
1759
+ alias_method :stop_on_setup_failure?, :stop_on_setup_failure
1760
+
1761
+ # The name of the setup tag.
1762
+ # Corresponds to the JSON property `tagName`
1763
+ # @return [String]
1764
+ attr_accessor :tag_name
1765
+
1766
+ def initialize(**args)
1767
+ update!(**args)
1768
+ end
1769
+
1770
+ # Update properties of this object
1771
+ def update!(**args)
1772
+ @stop_on_setup_failure = args[:stop_on_setup_failure] if args.key?(:stop_on_setup_failure)
1773
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
1774
+ end
1775
+ end
1776
+
1777
+ # The status of a workspace after synchronization.
1778
+ class SyncStatus
1779
+ include Google::Apis::Core::Hashable
1780
+
1781
+ # Synchornization operation detected a merge conflict.
1782
+ # Corresponds to the JSON property `mergeConflict`
1783
+ # @return [Boolean]
1784
+ attr_accessor :merge_conflict
1785
+ alias_method :merge_conflict?, :merge_conflict
1786
+
1787
+ # An error occurred during the synchronization operation.
1788
+ # Corresponds to the JSON property `syncError`
1789
+ # @return [Boolean]
1790
+ attr_accessor :sync_error
1791
+ alias_method :sync_error?, :sync_error
1792
+
1793
+ def initialize(**args)
1794
+ update!(**args)
1795
+ end
1796
+
1797
+ # Update properties of this object
1798
+ def update!(**args)
1799
+ @merge_conflict = args[:merge_conflict] if args.key?(:merge_conflict)
1800
+ @sync_error = args[:sync_error] if args.key?(:sync_error)
1801
+ end
1802
+ end
1803
+
1804
+ # A response after synchronizing the workspace to the latest container version.
1805
+ class SyncWorkspaceResponse
1806
+ include Google::Apis::Core::Hashable
1807
+
1808
+ # The merge conflict after sync. If this field is not empty, the sync is still
1809
+ # treated as successful. But a version cannot be created until all conflicts are
1810
+ # resolved.
1811
+ # Corresponds to the JSON property `mergeConflict`
1812
+ # @return [Array<Google::Apis::TagmanagerV2::MergeConflict>]
1813
+ attr_accessor :merge_conflict
1814
+
1815
+ # The status of a workspace after synchronization.
1816
+ # Corresponds to the JSON property `syncStatus`
1817
+ # @return [Google::Apis::TagmanagerV2::SyncStatus]
1818
+ attr_accessor :sync_status
1819
+
1820
+ def initialize(**args)
1821
+ update!(**args)
1822
+ end
1823
+
1824
+ # Update properties of this object
1825
+ def update!(**args)
1826
+ @merge_conflict = args[:merge_conflict] if args.key?(:merge_conflict)
1827
+ @sync_status = args[:sync_status] if args.key?(:sync_status)
1828
+ end
1829
+ end
1830
+
1831
+ # Represents a Google Tag Manager Tag.
1832
+ class Tag
1833
+ include Google::Apis::Core::Hashable
1834
+
1835
+ # GTM Account ID.
1836
+ # Corresponds to the JSON property `accountId`
1837
+ # @return [String]
1838
+ attr_accessor :account_id
1839
+
1840
+ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will
1841
+ # not fire. @mutable tagmanager.accounts.containers.workspaces.tags.create @
1842
+ # mutable tagmanager.accounts.containers.workspaces.tags.update
1843
+ # Corresponds to the JSON property `blockingRuleId`
1844
+ # @return [Array<String>]
1845
+ attr_accessor :blocking_rule_id
1846
+
1847
+ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag
1848
+ # will not fire. @mutable tagmanager.accounts.containers.workspaces.tags.create @
1849
+ # mutable tagmanager.accounts.containers.workspaces.tags.update
1850
+ # Corresponds to the JSON property `blockingTriggerId`
1851
+ # @return [Array<String>]
1852
+ attr_accessor :blocking_trigger_id
1853
+
1854
+ # GTM Container ID.
1855
+ # Corresponds to the JSON property `containerId`
1856
+ # @return [String]
1857
+ attr_accessor :container_id
1858
+
1859
+ # The fingerprint of the GTM Tag as computed at storage time. This value is
1860
+ # recomputed whenever the tag is modified.
1861
+ # Corresponds to the JSON property `fingerprint`
1862
+ # @return [String]
1863
+ attr_accessor :fingerprint
1864
+
1865
+ # Firing rule IDs. A tag will fire when any of the listed rules are true and all
1866
+ # of its blockingRuleIds (if any specified) are false. @mutable tagmanager.
1867
+ # accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.
1868
+ # containers.workspaces.tags.update
1869
+ # Corresponds to the JSON property `firingRuleId`
1870
+ # @return [Array<String>]
1871
+ attr_accessor :firing_rule_id
1872
+
1873
+ # Firing trigger IDs. A tag will fire when any of the listed triggers are true
1874
+ # and all of its blockingTriggerIds (if any specified) are false. @mutable
1875
+ # tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.
1876
+ # accounts.containers.workspaces.tags.update
1877
+ # Corresponds to the JSON property `firingTriggerId`
1878
+ # @return [Array<String>]
1879
+ attr_accessor :firing_trigger_id
1880
+
1881
+ # If set to true, this tag will only fire in the live environment (e.g. not in
1882
+ # preview or debug mode). @mutable tagmanager.accounts.containers.workspaces.
1883
+ # tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update
1884
+ # Corresponds to the JSON property `liveOnly`
1885
+ # @return [Boolean]
1886
+ attr_accessor :live_only
1887
+ alias_method :live_only?, :live_only
1888
+
1889
+ # Represents a Google Tag Manager Parameter.
1890
+ # Corresponds to the JSON property `monitoringMetadata`
1891
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1892
+ attr_accessor :monitoring_metadata
1893
+
1894
+ # If non-empty, then the tag display name will be included in the monitoring
1895
+ # metadata map using the key specified. @mutable tagmanager.accounts.containers.
1896
+ # workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.
1897
+ # update
1898
+ # Corresponds to the JSON property `monitoringMetadataTagNameKey`
1899
+ # @return [String]
1900
+ attr_accessor :monitoring_metadata_tag_name_key
1901
+
1902
+ # Tag display name. @mutable tagmanager.accounts.containers.workspaces.tags.
1903
+ # create @mutable tagmanager.accounts.containers.workspaces.tags.update
1904
+ # Corresponds to the JSON property `name`
1905
+ # @return [String]
1906
+ attr_accessor :name
1907
+
1908
+ # User notes on how to apply this tag in the container. @mutable tagmanager.
1909
+ # accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.
1910
+ # containers.workspaces.tags.update
1911
+ # Corresponds to the JSON property `notes`
1912
+ # @return [String]
1913
+ attr_accessor :notes
1914
+
1915
+ # The tag's parameters. @mutable tagmanager.accounts.containers.workspaces.tags.
1916
+ # create @mutable tagmanager.accounts.containers.workspaces.tags.update
1917
+ # Corresponds to the JSON property `parameter`
1918
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
1919
+ attr_accessor :parameter
1920
+
1921
+ # Parent folder id.
1922
+ # Corresponds to the JSON property `parentFolderId`
1923
+ # @return [String]
1924
+ attr_accessor :parent_folder_id
1925
+
1926
+ # GTM Tag's API relative path.
1927
+ # Corresponds to the JSON property `path`
1928
+ # @return [String]
1929
+ attr_accessor :path
1930
+
1931
+ # Indicates whether the tag is paused, which prevents the tag from firing. @
1932
+ # mutable tagmanager.accounts.containers.workspaces.tags.create @mutable
1933
+ # tagmanager.accounts.containers.workspaces.tags.update
1934
+ # Corresponds to the JSON property `paused`
1935
+ # @return [Boolean]
1936
+ attr_accessor :paused
1937
+ alias_method :paused?, :paused
1938
+
1939
+ # Represents a Google Tag Manager Parameter.
1940
+ # Corresponds to the JSON property `priority`
1941
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1942
+ attr_accessor :priority
1943
+
1944
+ # The end timestamp in milliseconds to schedule a tag. @mutable tagmanager.
1945
+ # accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.
1946
+ # containers.workspaces.tags.update
1947
+ # Corresponds to the JSON property `scheduleEndMs`
1948
+ # @return [Fixnum]
1949
+ attr_accessor :schedule_end_ms
1950
+
1951
+ # The start timestamp in milliseconds to schedule a tag. @mutable tagmanager.
1952
+ # accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.
1953
+ # containers.workspaces.tags.update
1954
+ # Corresponds to the JSON property `scheduleStartMs`
1955
+ # @return [Fixnum]
1956
+ attr_accessor :schedule_start_ms
1957
+
1958
+ # The list of setup tags. Currently we only allow one.
1959
+ # Corresponds to the JSON property `setupTag`
1960
+ # @return [Array<Google::Apis::TagmanagerV2::SetupTag>]
1961
+ attr_accessor :setup_tag
1962
+
1963
+ # Option to fire this tag.
1964
+ # Corresponds to the JSON property `tagFiringOption`
1965
+ # @return [String]
1966
+ attr_accessor :tag_firing_option
1967
+
1968
+ # The Tag ID uniquely identifies the GTM Tag.
1969
+ # Corresponds to the JSON property `tagId`
1970
+ # @return [String]
1971
+ attr_accessor :tag_id
1972
+
1973
+ # Auto generated link to the tag manager UI
1974
+ # Corresponds to the JSON property `tagManagerUrl`
1975
+ # @return [String]
1976
+ attr_accessor :tag_manager_url
1977
+
1978
+ # The list of teardown tags. Currently we only allow one.
1979
+ # Corresponds to the JSON property `teardownTag`
1980
+ # @return [Array<Google::Apis::TagmanagerV2::TeardownTag>]
1981
+ attr_accessor :teardown_tag
1982
+
1983
+ # GTM Tag Type. @mutable tagmanager.accounts.containers.workspaces.tags.create @
1984
+ # mutable tagmanager.accounts.containers.workspaces.tags.update
1985
+ # Corresponds to the JSON property `type`
1986
+ # @return [String]
1987
+ attr_accessor :type
1988
+
1989
+ # GTM Workspace ID.
1990
+ # Corresponds to the JSON property `workspaceId`
1991
+ # @return [String]
1992
+ attr_accessor :workspace_id
1993
+
1994
+ def initialize(**args)
1995
+ update!(**args)
1996
+ end
1997
+
1998
+ # Update properties of this object
1999
+ def update!(**args)
2000
+ @account_id = args[:account_id] if args.key?(:account_id)
2001
+ @blocking_rule_id = args[:blocking_rule_id] if args.key?(:blocking_rule_id)
2002
+ @blocking_trigger_id = args[:blocking_trigger_id] if args.key?(:blocking_trigger_id)
2003
+ @container_id = args[:container_id] if args.key?(:container_id)
2004
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2005
+ @firing_rule_id = args[:firing_rule_id] if args.key?(:firing_rule_id)
2006
+ @firing_trigger_id = args[:firing_trigger_id] if args.key?(:firing_trigger_id)
2007
+ @live_only = args[:live_only] if args.key?(:live_only)
2008
+ @monitoring_metadata = args[:monitoring_metadata] if args.key?(:monitoring_metadata)
2009
+ @monitoring_metadata_tag_name_key = args[:monitoring_metadata_tag_name_key] if args.key?(:monitoring_metadata_tag_name_key)
2010
+ @name = args[:name] if args.key?(:name)
2011
+ @notes = args[:notes] if args.key?(:notes)
2012
+ @parameter = args[:parameter] if args.key?(:parameter)
2013
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
2014
+ @path = args[:path] if args.key?(:path)
2015
+ @paused = args[:paused] if args.key?(:paused)
2016
+ @priority = args[:priority] if args.key?(:priority)
2017
+ @schedule_end_ms = args[:schedule_end_ms] if args.key?(:schedule_end_ms)
2018
+ @schedule_start_ms = args[:schedule_start_ms] if args.key?(:schedule_start_ms)
2019
+ @setup_tag = args[:setup_tag] if args.key?(:setup_tag)
2020
+ @tag_firing_option = args[:tag_firing_option] if args.key?(:tag_firing_option)
2021
+ @tag_id = args[:tag_id] if args.key?(:tag_id)
2022
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
2023
+ @teardown_tag = args[:teardown_tag] if args.key?(:teardown_tag)
2024
+ @type = args[:type] if args.key?(:type)
2025
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
2026
+ end
2027
+ end
2028
+
2029
+ # Represents a tag that fires after another tag in order to tear down
2030
+ # dependencies.
2031
+ class TeardownTag
2032
+ include Google::Apis::Core::Hashable
2033
+
2034
+ # If true, fire the teardown tag if and only if the main tag fires successfully.
2035
+ # If false, fire the teardown tag regardless of main tag firing status.
2036
+ # Corresponds to the JSON property `stopTeardownOnFailure`
2037
+ # @return [Boolean]
2038
+ attr_accessor :stop_teardown_on_failure
2039
+ alias_method :stop_teardown_on_failure?, :stop_teardown_on_failure
2040
+
2041
+ # The name of the teardown tag.
2042
+ # Corresponds to the JSON property `tagName`
2043
+ # @return [String]
2044
+ attr_accessor :tag_name
2045
+
2046
+ def initialize(**args)
2047
+ update!(**args)
2048
+ end
2049
+
2050
+ # Update properties of this object
2051
+ def update!(**args)
2052
+ @stop_teardown_on_failure = args[:stop_teardown_on_failure] if args.key?(:stop_teardown_on_failure)
2053
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
2054
+ end
2055
+ end
2056
+
2057
+ # Represents a Google Tag Manager Trigger
2058
+ class Trigger
2059
+ include Google::Apis::Core::Hashable
2060
+
2061
+ # GTM Account ID.
2062
+ # Corresponds to the JSON property `accountId`
2063
+ # @return [String]
2064
+ attr_accessor :account_id
2065
+
2066
+ # Used in the case of auto event tracking. @mutable tagmanager.accounts.
2067
+ # containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.
2068
+ # workspaces.triggers.update
2069
+ # Corresponds to the JSON property `autoEventFilter`
2070
+ # @return [Array<Google::Apis::TagmanagerV2::Condition>]
2071
+ attr_accessor :auto_event_filter
2072
+
2073
+ # Represents a Google Tag Manager Parameter.
2074
+ # Corresponds to the JSON property `checkValidation`
2075
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2076
+ attr_accessor :check_validation
2077
+
2078
+ # GTM Container ID.
2079
+ # Corresponds to the JSON property `containerId`
2080
+ # @return [String]
2081
+ attr_accessor :container_id
2082
+
2083
+ # Represents a Google Tag Manager Parameter.
2084
+ # Corresponds to the JSON property `continuousTimeMinMilliseconds`
2085
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2086
+ attr_accessor :continuous_time_min_milliseconds
2087
+
2088
+ # Used in the case of custom event, which is fired iff all Conditions are true. @
2089
+ # mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable
2090
+ # tagmanager.accounts.containers.workspaces.triggers.update
2091
+ # Corresponds to the JSON property `customEventFilter`
2092
+ # @return [Array<Google::Apis::TagmanagerV2::Condition>]
2093
+ attr_accessor :custom_event_filter
2094
+
2095
+ # Represents a Google Tag Manager Parameter.
2096
+ # Corresponds to the JSON property `eventName`
2097
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2098
+ attr_accessor :event_name
2099
+
2100
+ # The trigger will only fire iff all Conditions are true. @mutable tagmanager.
2101
+ # accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.
2102
+ # containers.workspaces.triggers.update
2103
+ # Corresponds to the JSON property `filter`
2104
+ # @return [Array<Google::Apis::TagmanagerV2::Condition>]
2105
+ attr_accessor :filter
2106
+
2107
+ # The fingerprint of the GTM Trigger as computed at storage time. This value is
2108
+ # recomputed whenever the trigger is modified.
2109
+ # Corresponds to the JSON property `fingerprint`
2110
+ # @return [String]
2111
+ attr_accessor :fingerprint
2112
+
2113
+ # Represents a Google Tag Manager Parameter.
2114
+ # Corresponds to the JSON property `horizontalScrollPercentageList`
2115
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2116
+ attr_accessor :horizontal_scroll_percentage_list
2117
+
2118
+ # Represents a Google Tag Manager Parameter.
2119
+ # Corresponds to the JSON property `interval`
2120
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2121
+ attr_accessor :interval
2122
+
2123
+ # Represents a Google Tag Manager Parameter.
2124
+ # Corresponds to the JSON property `intervalSeconds`
2125
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2126
+ attr_accessor :interval_seconds
2127
+
2128
+ # Represents a Google Tag Manager Parameter.
2129
+ # Corresponds to the JSON property `limit`
2130
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2131
+ attr_accessor :limit
2132
+
2133
+ # Represents a Google Tag Manager Parameter.
2134
+ # Corresponds to the JSON property `maxTimerLengthSeconds`
2135
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2136
+ attr_accessor :max_timer_length_seconds
2137
+
2138
+ # Trigger display name. @mutable tagmanager.accounts.containers.workspaces.
2139
+ # triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.
2140
+ # update
2141
+ # Corresponds to the JSON property `name`
2142
+ # @return [String]
2143
+ attr_accessor :name
2144
+
2145
+ # User notes on how to apply this trigger in the container. @mutable tagmanager.
2146
+ # accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.
2147
+ # containers.workspaces.triggers.update
2148
+ # Corresponds to the JSON property `notes`
2149
+ # @return [String]
2150
+ attr_accessor :notes
2151
+
2152
+ # Additional parameters. @mutable tagmanager.accounts.containers.workspaces.
2153
+ # triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.
2154
+ # update
2155
+ # Corresponds to the JSON property `parameter`
2156
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
2157
+ attr_accessor :parameter
2158
+
2159
+ # Parent folder id.
2160
+ # Corresponds to the JSON property `parentFolderId`
2161
+ # @return [String]
2162
+ attr_accessor :parent_folder_id
2163
+
2164
+ # GTM Trigger's API relative path.
2165
+ # Corresponds to the JSON property `path`
2166
+ # @return [String]
2167
+ attr_accessor :path
2168
+
2169
+ # Represents a Google Tag Manager Parameter.
2170
+ # Corresponds to the JSON property `selector`
2171
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2172
+ attr_accessor :selector
2173
+
2174
+ # Auto generated link to the tag manager UI
2175
+ # Corresponds to the JSON property `tagManagerUrl`
2176
+ # @return [String]
2177
+ attr_accessor :tag_manager_url
2178
+
2179
+ # Represents a Google Tag Manager Parameter.
2180
+ # Corresponds to the JSON property `totalTimeMinMilliseconds`
2181
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2182
+ attr_accessor :total_time_min_milliseconds
2183
+
2184
+ # The Trigger ID uniquely identifies the GTM Trigger.
2185
+ # Corresponds to the JSON property `triggerId`
2186
+ # @return [String]
2187
+ attr_accessor :trigger_id
2188
+
2189
+ # Defines the data layer event that causes this trigger. @mutable tagmanager.
2190
+ # accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.
2191
+ # containers.workspaces.triggers.update
2192
+ # Corresponds to the JSON property `type`
2193
+ # @return [String]
2194
+ attr_accessor :type
2195
+
2196
+ # Represents a Google Tag Manager Parameter.
2197
+ # Corresponds to the JSON property `uniqueTriggerId`
2198
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2199
+ attr_accessor :unique_trigger_id
2200
+
2201
+ # Represents a Google Tag Manager Parameter.
2202
+ # Corresponds to the JSON property `verticalScrollPercentageList`
2203
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2204
+ attr_accessor :vertical_scroll_percentage_list
2205
+
2206
+ # Represents a Google Tag Manager Parameter.
2207
+ # Corresponds to the JSON property `visibilitySelector`
2208
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2209
+ attr_accessor :visibility_selector
2210
+
2211
+ # Represents a Google Tag Manager Parameter.
2212
+ # Corresponds to the JSON property `visiblePercentageMax`
2213
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2214
+ attr_accessor :visible_percentage_max
2215
+
2216
+ # Represents a Google Tag Manager Parameter.
2217
+ # Corresponds to the JSON property `visiblePercentageMin`
2218
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2219
+ attr_accessor :visible_percentage_min
2220
+
2221
+ # Represents a Google Tag Manager Parameter.
2222
+ # Corresponds to the JSON property `waitForTags`
2223
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2224
+ attr_accessor :wait_for_tags
2225
+
2226
+ # Represents a Google Tag Manager Parameter.
2227
+ # Corresponds to the JSON property `waitForTagsTimeout`
2228
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2229
+ attr_accessor :wait_for_tags_timeout
2230
+
2231
+ # GTM Workspace ID.
2232
+ # Corresponds to the JSON property `workspaceId`
2233
+ # @return [String]
2234
+ attr_accessor :workspace_id
2235
+
2236
+ def initialize(**args)
2237
+ update!(**args)
2238
+ end
2239
+
2240
+ # Update properties of this object
2241
+ def update!(**args)
2242
+ @account_id = args[:account_id] if args.key?(:account_id)
2243
+ @auto_event_filter = args[:auto_event_filter] if args.key?(:auto_event_filter)
2244
+ @check_validation = args[:check_validation] if args.key?(:check_validation)
2245
+ @container_id = args[:container_id] if args.key?(:container_id)
2246
+ @continuous_time_min_milliseconds = args[:continuous_time_min_milliseconds] if args.key?(:continuous_time_min_milliseconds)
2247
+ @custom_event_filter = args[:custom_event_filter] if args.key?(:custom_event_filter)
2248
+ @event_name = args[:event_name] if args.key?(:event_name)
2249
+ @filter = args[:filter] if args.key?(:filter)
2250
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2251
+ @horizontal_scroll_percentage_list = args[:horizontal_scroll_percentage_list] if args.key?(:horizontal_scroll_percentage_list)
2252
+ @interval = args[:interval] if args.key?(:interval)
2253
+ @interval_seconds = args[:interval_seconds] if args.key?(:interval_seconds)
2254
+ @limit = args[:limit] if args.key?(:limit)
2255
+ @max_timer_length_seconds = args[:max_timer_length_seconds] if args.key?(:max_timer_length_seconds)
2256
+ @name = args[:name] if args.key?(:name)
2257
+ @notes = args[:notes] if args.key?(:notes)
2258
+ @parameter = args[:parameter] if args.key?(:parameter)
2259
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
2260
+ @path = args[:path] if args.key?(:path)
2261
+ @selector = args[:selector] if args.key?(:selector)
2262
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
2263
+ @total_time_min_milliseconds = args[:total_time_min_milliseconds] if args.key?(:total_time_min_milliseconds)
2264
+ @trigger_id = args[:trigger_id] if args.key?(:trigger_id)
2265
+ @type = args[:type] if args.key?(:type)
2266
+ @unique_trigger_id = args[:unique_trigger_id] if args.key?(:unique_trigger_id)
2267
+ @vertical_scroll_percentage_list = args[:vertical_scroll_percentage_list] if args.key?(:vertical_scroll_percentage_list)
2268
+ @visibility_selector = args[:visibility_selector] if args.key?(:visibility_selector)
2269
+ @visible_percentage_max = args[:visible_percentage_max] if args.key?(:visible_percentage_max)
2270
+ @visible_percentage_min = args[:visible_percentage_min] if args.key?(:visible_percentage_min)
2271
+ @wait_for_tags = args[:wait_for_tags] if args.key?(:wait_for_tags)
2272
+ @wait_for_tags_timeout = args[:wait_for_tags_timeout] if args.key?(:wait_for_tags_timeout)
2273
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
2274
+ end
2275
+ end
2276
+
2277
+ # Represents a user's permissions to an account and its container.
2278
+ class UserPermission
2279
+ include Google::Apis::Core::Hashable
2280
+
2281
+ # Defines the Google Tag Manager Account access permissions.
2282
+ # Corresponds to the JSON property `accountAccess`
2283
+ # @return [Google::Apis::TagmanagerV2::AccountAccess]
2284
+ attr_accessor :account_access
2285
+
2286
+ # The Account ID uniquely identifies the GTM Account.
2287
+ # Corresponds to the JSON property `accountId`
2288
+ # @return [String]
2289
+ attr_accessor :account_id
2290
+
2291
+ # GTM Container access permissions. @mutable tagmanager.accounts.permissions.
2292
+ # create @mutable tagmanager.accounts.permissions.update
2293
+ # Corresponds to the JSON property `containerAccess`
2294
+ # @return [Array<Google::Apis::TagmanagerV2::ContainerAccess>]
2295
+ attr_accessor :container_access
2296
+
2297
+ # User's email address. @mutable tagmanager.accounts.permissions.create
2298
+ # Corresponds to the JSON property `emailAddress`
2299
+ # @return [String]
2300
+ attr_accessor :email_address
2301
+
2302
+ # GTM UserPermission's API relative path.
2303
+ # Corresponds to the JSON property `path`
2304
+ # @return [String]
2305
+ attr_accessor :path
2306
+
2307
+ def initialize(**args)
2308
+ update!(**args)
2309
+ end
2310
+
2311
+ # Update properties of this object
2312
+ def update!(**args)
2313
+ @account_access = args[:account_access] if args.key?(:account_access)
2314
+ @account_id = args[:account_id] if args.key?(:account_id)
2315
+ @container_access = args[:container_access] if args.key?(:container_access)
2316
+ @email_address = args[:email_address] if args.key?(:email_address)
2317
+ @path = args[:path] if args.key?(:path)
2318
+ end
2319
+ end
2320
+
2321
+ # Represents a Google Tag Manager Variable.
2322
+ class Variable
2323
+ include Google::Apis::Core::Hashable
2324
+
2325
+ # GTM Account ID.
2326
+ # Corresponds to the JSON property `accountId`
2327
+ # @return [String]
2328
+ attr_accessor :account_id
2329
+
2330
+ # GTM Container ID.
2331
+ # Corresponds to the JSON property `containerId`
2332
+ # @return [String]
2333
+ attr_accessor :container_id
2334
+
2335
+ # For mobile containers only: A list of trigger IDs for disabling conditional
2336
+ # variables; the variable is enabled if one of the enabling trigger is true
2337
+ # while all the disabling trigger are false. Treated as an unordered set. @
2338
+ # mutable tagmanager.accounts.containers.workspaces.variables.create @mutable
2339
+ # tagmanager.accounts.containers.workspaces.variables.update
2340
+ # Corresponds to the JSON property `disablingTriggerId`
2341
+ # @return [Array<String>]
2342
+ attr_accessor :disabling_trigger_id
2343
+
2344
+ # For mobile containers only: A list of trigger IDs for enabling conditional
2345
+ # variables; the variable is enabled if one of the enabling triggers is true
2346
+ # while all the disabling triggers are false. Treated as an unordered set. @
2347
+ # mutable tagmanager.accounts.containers.workspaces.variables.create @mutable
2348
+ # tagmanager.accounts.containers.workspaces.variables.update
2349
+ # Corresponds to the JSON property `enablingTriggerId`
2350
+ # @return [Array<String>]
2351
+ attr_accessor :enabling_trigger_id
2352
+
2353
+ # The fingerprint of the GTM Variable as computed at storage time. This value is
2354
+ # recomputed whenever the variable is modified.
2355
+ # Corresponds to the JSON property `fingerprint`
2356
+ # @return [String]
2357
+ attr_accessor :fingerprint
2358
+
2359
+ # Option to convert a variable value to other value.
2360
+ # Corresponds to the JSON property `formatValue`
2361
+ # @return [Google::Apis::TagmanagerV2::VariableFormatValue]
2362
+ attr_accessor :format_value
2363
+
2364
+ # Variable display name. @mutable tagmanager.accounts.containers.workspaces.
2365
+ # variables.create @mutable tagmanager.accounts.containers.workspaces.variables.
2366
+ # update
2367
+ # Corresponds to the JSON property `name`
2368
+ # @return [String]
2369
+ attr_accessor :name
2370
+
2371
+ # User notes on how to apply this variable in the container. @mutable tagmanager.
2372
+ # accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.
2373
+ # containers.workspaces.variables.update
2374
+ # Corresponds to the JSON property `notes`
2375
+ # @return [String]
2376
+ attr_accessor :notes
2377
+
2378
+ # The variable's parameters. @mutable tagmanager.accounts.containers.workspaces.
2379
+ # variables.create @mutable tagmanager.accounts.containers.workspaces.variables.
2380
+ # update
2381
+ # Corresponds to the JSON property `parameter`
2382
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
2383
+ attr_accessor :parameter
2384
+
2385
+ # Parent folder id.
2386
+ # Corresponds to the JSON property `parentFolderId`
2387
+ # @return [String]
2388
+ attr_accessor :parent_folder_id
2389
+
2390
+ # GTM Variable's API relative path.
2391
+ # Corresponds to the JSON property `path`
2392
+ # @return [String]
2393
+ attr_accessor :path
2394
+
2395
+ # The end timestamp in milliseconds to schedule a variable. @mutable tagmanager.
2396
+ # accounts.containers.workspaces.variables.create @mutable tagmanager.accounts.
2397
+ # containers.workspaces.variables.update
2398
+ # Corresponds to the JSON property `scheduleEndMs`
2399
+ # @return [Fixnum]
2400
+ attr_accessor :schedule_end_ms
2401
+
2402
+ # The start timestamp in milliseconds to schedule a variable. @mutable
2403
+ # tagmanager.accounts.containers.workspaces.variables.create @mutable tagmanager.
2404
+ # accounts.containers.workspaces.variables.update
2405
+ # Corresponds to the JSON property `scheduleStartMs`
2406
+ # @return [Fixnum]
2407
+ attr_accessor :schedule_start_ms
2408
+
2409
+ # Auto generated link to the tag manager UI
2410
+ # Corresponds to the JSON property `tagManagerUrl`
2411
+ # @return [String]
2412
+ attr_accessor :tag_manager_url
2413
+
2414
+ # GTM Variable Type. @mutable tagmanager.accounts.containers.workspaces.
2415
+ # variables.create @mutable tagmanager.accounts.containers.workspaces.variables.
2416
+ # update
2417
+ # Corresponds to the JSON property `type`
2418
+ # @return [String]
2419
+ attr_accessor :type
2420
+
2421
+ # The Variable ID uniquely identifies the GTM Variable.
2422
+ # Corresponds to the JSON property `variableId`
2423
+ # @return [String]
2424
+ attr_accessor :variable_id
2425
+
2426
+ # GTM Workspace ID.
2427
+ # Corresponds to the JSON property `workspaceId`
2428
+ # @return [String]
2429
+ attr_accessor :workspace_id
2430
+
2431
+ def initialize(**args)
2432
+ update!(**args)
2433
+ end
2434
+
2435
+ # Update properties of this object
2436
+ def update!(**args)
2437
+ @account_id = args[:account_id] if args.key?(:account_id)
2438
+ @container_id = args[:container_id] if args.key?(:container_id)
2439
+ @disabling_trigger_id = args[:disabling_trigger_id] if args.key?(:disabling_trigger_id)
2440
+ @enabling_trigger_id = args[:enabling_trigger_id] if args.key?(:enabling_trigger_id)
2441
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2442
+ @format_value = args[:format_value] if args.key?(:format_value)
2443
+ @name = args[:name] if args.key?(:name)
2444
+ @notes = args[:notes] if args.key?(:notes)
2445
+ @parameter = args[:parameter] if args.key?(:parameter)
2446
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
2447
+ @path = args[:path] if args.key?(:path)
2448
+ @schedule_end_ms = args[:schedule_end_ms] if args.key?(:schedule_end_ms)
2449
+ @schedule_start_ms = args[:schedule_start_ms] if args.key?(:schedule_start_ms)
2450
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
2451
+ @type = args[:type] if args.key?(:type)
2452
+ @variable_id = args[:variable_id] if args.key?(:variable_id)
2453
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
2454
+ end
2455
+ end
2456
+
2457
+ #
2458
+ class VariableFormatValue
2459
+ include Google::Apis::Core::Hashable
2460
+
2461
+ # The option to convert a string-type variable value to either lowercase or
2462
+ # uppercase.
2463
+ # Corresponds to the JSON property `caseConversionType`
2464
+ # @return [String]
2465
+ attr_accessor :case_conversion_type
2466
+
2467
+ # Represents a Google Tag Manager Parameter.
2468
+ # Corresponds to the JSON property `convertFalseToValue`
2469
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2470
+ attr_accessor :convert_false_to_value
2471
+
2472
+ # Represents a Google Tag Manager Parameter.
2473
+ # Corresponds to the JSON property `convertNullToValue`
2474
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2475
+ attr_accessor :convert_null_to_value
2476
+
2477
+ # Represents a Google Tag Manager Parameter.
2478
+ # Corresponds to the JSON property `convertTrueToValue`
2479
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2480
+ attr_accessor :convert_true_to_value
2481
+
2482
+ # Represents a Google Tag Manager Parameter.
2483
+ # Corresponds to the JSON property `convertUndefinedToValue`
2484
+ # @return [Google::Apis::TagmanagerV2::Parameter]
2485
+ attr_accessor :convert_undefined_to_value
2486
+
2487
+ def initialize(**args)
2488
+ update!(**args)
2489
+ end
2490
+
2491
+ # Update properties of this object
2492
+ def update!(**args)
2493
+ @case_conversion_type = args[:case_conversion_type] if args.key?(:case_conversion_type)
2494
+ @convert_false_to_value = args[:convert_false_to_value] if args.key?(:convert_false_to_value)
2495
+ @convert_null_to_value = args[:convert_null_to_value] if args.key?(:convert_null_to_value)
2496
+ @convert_true_to_value = args[:convert_true_to_value] if args.key?(:convert_true_to_value)
2497
+ @convert_undefined_to_value = args[:convert_undefined_to_value] if args.key?(:convert_undefined_to_value)
2498
+ end
2499
+ end
2500
+
2501
+ # Represents a Google Tag Manager Container Workspace.
2502
+ class Workspace
2503
+ include Google::Apis::Core::Hashable
2504
+
2505
+ # GTM Account ID.
2506
+ # Corresponds to the JSON property `accountId`
2507
+ # @return [String]
2508
+ attr_accessor :account_id
2509
+
2510
+ # GTM Container ID.
2511
+ # Corresponds to the JSON property `containerId`
2512
+ # @return [String]
2513
+ attr_accessor :container_id
2514
+
2515
+ # Workspace description. @mutable tagmanager.accounts.containers.workspaces.
2516
+ # create @mutable tagmanager.accounts.containers.workspaces.update
2517
+ # Corresponds to the JSON property `description`
2518
+ # @return [String]
2519
+ attr_accessor :description
2520
+
2521
+ # The fingerprint of the GTM Workspace as computed at storage time. This value
2522
+ # is recomputed whenever the workspace is modified.
2523
+ # Corresponds to the JSON property `fingerprint`
2524
+ # @return [String]
2525
+ attr_accessor :fingerprint
2526
+
2527
+ # Workspace display name. @mutable tagmanager.accounts.containers.workspaces.
2528
+ # create @mutable tagmanager.accounts.containers.workspaces.update
2529
+ # Corresponds to the JSON property `name`
2530
+ # @return [String]
2531
+ attr_accessor :name
2532
+
2533
+ # GTM Workspace's API relative path.
2534
+ # Corresponds to the JSON property `path`
2535
+ # @return [String]
2536
+ attr_accessor :path
2537
+
2538
+ # Auto generated link to the tag manager UI
2539
+ # Corresponds to the JSON property `tagManagerUrl`
2540
+ # @return [String]
2541
+ attr_accessor :tag_manager_url
2542
+
2543
+ # The Workspace ID uniquely identifies the GTM Workspace.
2544
+ # Corresponds to the JSON property `workspaceId`
2545
+ # @return [String]
2546
+ attr_accessor :workspace_id
2547
+
2548
+ def initialize(**args)
2549
+ update!(**args)
2550
+ end
2551
+
2552
+ # Update properties of this object
2553
+ def update!(**args)
2554
+ @account_id = args[:account_id] if args.key?(:account_id)
2555
+ @container_id = args[:container_id] if args.key?(:container_id)
2556
+ @description = args[:description] if args.key?(:description)
2557
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2558
+ @name = args[:name] if args.key?(:name)
2559
+ @path = args[:path] if args.key?(:path)
2560
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
2561
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
2562
+ end
2563
+ end
2564
+
2565
+ # Represents a Google Tag Manager Zone's contents.
2566
+ class Zone
2567
+ include Google::Apis::Core::Hashable
2568
+
2569
+ # GTM Account ID.
2570
+ # Corresponds to the JSON property `accountId`
2571
+ # @return [String]
2572
+ attr_accessor :account_id
2573
+
2574
+ # Represents a Zone's boundaries.
2575
+ # Corresponds to the JSON property `boundary`
2576
+ # @return [Google::Apis::TagmanagerV2::ZoneBoundary]
2577
+ attr_accessor :boundary
2578
+
2579
+ # Containers that are children of this Zone.
2580
+ # Corresponds to the JSON property `childContainer`
2581
+ # @return [Array<Google::Apis::TagmanagerV2::ZoneChildContainer>]
2582
+ attr_accessor :child_container
2583
+
2584
+ # GTM Container ID.
2585
+ # Corresponds to the JSON property `containerId`
2586
+ # @return [String]
2587
+ attr_accessor :container_id
2588
+
2589
+ # The fingerprint of the GTM Zone as computed at storage time. This value is
2590
+ # recomputed whenever the zone is modified.
2591
+ # Corresponds to the JSON property `fingerprint`
2592
+ # @return [String]
2593
+ attr_accessor :fingerprint
2594
+
2595
+ # Zone display name.
2596
+ # Corresponds to the JSON property `name`
2597
+ # @return [String]
2598
+ attr_accessor :name
2599
+
2600
+ # User notes on how to apply this zone in the container.
2601
+ # Corresponds to the JSON property `notes`
2602
+ # @return [String]
2603
+ attr_accessor :notes
2604
+
2605
+ # GTM Zone's API relative path.
2606
+ # Corresponds to the JSON property `path`
2607
+ # @return [String]
2608
+ attr_accessor :path
2609
+
2610
+ # Auto generated link to the tag manager UI
2611
+ # Corresponds to the JSON property `tagManagerUrl`
2612
+ # @return [String]
2613
+ attr_accessor :tag_manager_url
2614
+
2615
+ # Represents a Zone's type restrictions.
2616
+ # Corresponds to the JSON property `typeRestriction`
2617
+ # @return [Google::Apis::TagmanagerV2::ZoneTypeRestriction]
2618
+ attr_accessor :type_restriction
2619
+
2620
+ # GTM Workspace ID.
2621
+ # Corresponds to the JSON property `workspaceId`
2622
+ # @return [String]
2623
+ attr_accessor :workspace_id
2624
+
2625
+ # The Zone ID uniquely identifies the GTM Zone.
2626
+ # Corresponds to the JSON property `zoneId`
2627
+ # @return [String]
2628
+ attr_accessor :zone_id
2629
+
2630
+ def initialize(**args)
2631
+ update!(**args)
2632
+ end
2633
+
2634
+ # Update properties of this object
2635
+ def update!(**args)
2636
+ @account_id = args[:account_id] if args.key?(:account_id)
2637
+ @boundary = args[:boundary] if args.key?(:boundary)
2638
+ @child_container = args[:child_container] if args.key?(:child_container)
2639
+ @container_id = args[:container_id] if args.key?(:container_id)
2640
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2641
+ @name = args[:name] if args.key?(:name)
2642
+ @notes = args[:notes] if args.key?(:notes)
2643
+ @path = args[:path] if args.key?(:path)
2644
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
2645
+ @type_restriction = args[:type_restriction] if args.key?(:type_restriction)
2646
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
2647
+ @zone_id = args[:zone_id] if args.key?(:zone_id)
2648
+ end
2649
+ end
2650
+
2651
+ # Represents a Zone's boundaries.
2652
+ class ZoneBoundary
2653
+ include Google::Apis::Core::Hashable
2654
+
2655
+ # The conditions that, when conjoined, make up the boundary.
2656
+ # Corresponds to the JSON property `condition`
2657
+ # @return [Array<Google::Apis::TagmanagerV2::Condition>]
2658
+ attr_accessor :condition
2659
+
2660
+ # Custom evaluation trigger IDs. A zone will evaluate its boundary conditions
2661
+ # when any of the listed triggers are true.
2662
+ # Corresponds to the JSON property `customEvaluationTriggerId`
2663
+ # @return [Array<String>]
2664
+ attr_accessor :custom_evaluation_trigger_id
2665
+
2666
+ def initialize(**args)
2667
+ update!(**args)
2668
+ end
2669
+
2670
+ # Update properties of this object
2671
+ def update!(**args)
2672
+ @condition = args[:condition] if args.key?(:condition)
2673
+ @custom_evaluation_trigger_id = args[:custom_evaluation_trigger_id] if args.key?(:custom_evaluation_trigger_id)
2674
+ end
2675
+ end
2676
+
2677
+ # Represents a child container of a Zone.
2678
+ class ZoneChildContainer
2679
+ include Google::Apis::Core::Hashable
2680
+
2681
+ # The zone's nickname for the child container.
2682
+ # Corresponds to the JSON property `nickname`
2683
+ # @return [String]
2684
+ attr_accessor :nickname
2685
+
2686
+ # The child container's public id.
2687
+ # Corresponds to the JSON property `publicId`
2688
+ # @return [String]
2689
+ attr_accessor :public_id
2690
+
2691
+ def initialize(**args)
2692
+ update!(**args)
2693
+ end
2694
+
2695
+ # Update properties of this object
2696
+ def update!(**args)
2697
+ @nickname = args[:nickname] if args.key?(:nickname)
2698
+ @public_id = args[:public_id] if args.key?(:public_id)
2699
+ end
2700
+ end
2701
+
2702
+ # Represents a Zone's type restrictions.
2703
+ class ZoneTypeRestriction
2704
+ include Google::Apis::Core::Hashable
2705
+
2706
+ # True if type restrictions have been enabled for this Zone.
2707
+ # Corresponds to the JSON property `enable`
2708
+ # @return [Boolean]
2709
+ attr_accessor :enable
2710
+ alias_method :enable?, :enable
2711
+
2712
+ # List of type public ids that have been whitelisted for use in this Zone.
2713
+ # Corresponds to the JSON property `whitelistedTypeId`
2714
+ # @return [Array<String>]
2715
+ attr_accessor :whitelisted_type_id
2716
+
2717
+ def initialize(**args)
2718
+ update!(**args)
2719
+ end
2720
+
2721
+ # Update properties of this object
2722
+ def update!(**args)
2723
+ @enable = args[:enable] if args.key?(:enable)
2724
+ @whitelisted_type_id = args[:whitelisted_type_id] if args.key?(:whitelisted_type_id)
2725
+ end
2726
+ end
2727
+ end
2728
+ end
2729
+ end