google-api-client 0.10.2 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/MIGRATING.md +22 -7
  4. data/README.md +4 -8
  5. data/api_names.yaml +1210 -37815
  6. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +32 -0
  7. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +144 -0
  8. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +86 -0
  9. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +90 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +764 -764
  12. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +180 -180
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +421 -421
  14. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +1 -0
  15. data/generated/google/apis/admin_directory_v1/classes.rb +1 -0
  16. data/generated/google/apis/admin_reports_v1.rb +1 -1
  17. data/generated/google/apis/adsense_v1_4.rb +1 -1
  18. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  19. data/generated/google/apis/analyticsreporting_v4/classes.rb +187 -187
  20. data/generated/google/apis/analyticsreporting_v4/representations.rb +42 -42
  21. data/generated/google/apis/appengine_v1.rb +40 -0
  22. data/generated/google/apis/appengine_v1/classes.rb +2251 -0
  23. data/generated/google/apis/appengine_v1/representations.rb +858 -0
  24. data/generated/google/apis/appengine_v1/service.rb +894 -0
  25. data/generated/google/apis/bigquery_v2.rb +1 -1
  26. data/generated/google/apis/bigquery_v2/classes.rb +11 -6
  27. data/generated/google/apis/books_v1.rb +1 -1
  28. data/generated/google/apis/books_v1/classes.rb +26 -0
  29. data/generated/google/apis/books_v1/representations.rb +15 -0
  30. data/generated/google/apis/books_v1/service.rb +4 -1
  31. data/generated/google/apis/calendar_v3.rb +1 -1
  32. data/generated/google/apis/classroom_v1.rb +1 -1
  33. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  34. data/generated/google/apis/cloudbuild_v1/classes.rb +638 -637
  35. data/generated/google/apis/cloudbuild_v1/representations.rb +110 -110
  36. data/generated/google/apis/cloudbuild_v1/service.rb +139 -139
  37. data/generated/google/apis/clouddebugger_v2.rb +3 -3
  38. data/generated/google/apis/clouddebugger_v2/classes.rb +131 -131
  39. data/generated/google/apis/clouddebugger_v2/representations.rb +25 -25
  40. data/generated/google/apis/clouderrorreporting_v1beta1.rb +36 -0
  41. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +590 -0
  42. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +252 -0
  43. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +350 -0
  44. data/generated/google/apis/cloudfunctions_v1.rb +35 -0
  45. data/generated/google/apis/cloudfunctions_v1/classes.rb +98 -0
  46. data/generated/google/apis/cloudfunctions_v1/representations.rb +57 -0
  47. data/generated/google/apis/cloudfunctions_v1/service.rb +89 -0
  48. data/generated/google/apis/cloudkms_v1/classes.rb +277 -270
  49. data/generated/google/apis/cloudkms_v1/representations.rb +73 -73
  50. data/generated/google/apis/cloudkms_v1/service.rb +194 -194
  51. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  52. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1147 -1144
  53. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +188 -188
  54. data/generated/google/apis/cloudresourcemanager_v1/service.rb +513 -936
  55. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +307 -916
  57. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +63 -285
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +333 -681
  59. data/generated/google/apis/cloudtrace_v1/classes.rb +38 -38
  60. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  61. data/generated/google/apis/cloudtrace_v1/service.rb +16 -16
  62. data/generated/google/apis/compute_beta.rb +1 -1
  63. data/generated/google/apis/compute_beta/classes.rb +32 -7
  64. data/generated/google/apis/compute_beta/representations.rb +2 -0
  65. data/generated/google/apis/compute_beta/service.rb +11 -11
  66. data/generated/google/apis/compute_v1.rb +1 -1
  67. data/generated/google/apis/compute_v1/classes.rb +95 -2
  68. data/generated/google/apis/compute_v1/representations.rb +33 -0
  69. data/generated/google/apis/dataflow_v1b3/classes.rb +3333 -3333
  70. data/generated/google/apis/dataflow_v1b3/representations.rb +759 -759
  71. data/generated/google/apis/dataflow_v1b3/service.rb +154 -154
  72. data/generated/google/apis/dataproc_v1.rb +1 -1
  73. data/generated/google/apis/dataproc_v1/classes.rb +1097 -1097
  74. data/generated/google/apis/dataproc_v1/representations.rb +200 -200
  75. data/generated/google/apis/dataproc_v1/service.rb +356 -356
  76. data/generated/google/apis/datastore_v1.rb +4 -4
  77. data/generated/google/apis/datastore_v1/classes.rb +701 -690
  78. data/generated/google/apis/datastore_v1/representations.rb +160 -160
  79. data/generated/google/apis/datastore_v1/service.rb +52 -52
  80. data/generated/google/apis/deploymentmanager_v2/classes.rb +4 -0
  81. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  82. data/generated/google/apis/drive_v2.rb +1 -1
  83. data/generated/google/apis/drive_v2/classes.rb +158 -35
  84. data/generated/google/apis/drive_v2/representations.rb +39 -0
  85. data/generated/google/apis/drive_v2/service.rb +4 -4
  86. data/generated/google/apis/drive_v3.rb +1 -1
  87. data/generated/google/apis/drive_v3/classes.rb +162 -33
  88. data/generated/google/apis/drive_v3/representations.rb +39 -0
  89. data/generated/google/apis/drive_v3/service.rb +4 -4
  90. data/generated/google/apis/firebasedynamiclinks_v1.rb +35 -0
  91. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +466 -0
  92. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +222 -0
  93. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +95 -0
  94. data/generated/google/apis/firebaserules_v1.rb +41 -0
  95. data/generated/google/apis/firebaserules_v1/classes.rb +425 -0
  96. data/generated/google/apis/firebaserules_v1/representations.rb +222 -0
  97. data/generated/google/apis/firebaserules_v1/service.rb +495 -0
  98. data/generated/google/apis/games_v1/classes.rb +4 -0
  99. data/generated/google/apis/genomics_v1.rb +7 -7
  100. data/generated/google/apis/genomics_v1/classes.rb +2336 -2335
  101. data/generated/google/apis/genomics_v1/representations.rb +387 -387
  102. data/generated/google/apis/genomics_v1/service.rb +1187 -1187
  103. data/generated/google/apis/gmail_v1/classes.rb +3 -0
  104. data/generated/google/apis/iam_v1.rb +1 -1
  105. data/generated/google/apis/iam_v1/classes.rb +123 -117
  106. data/generated/google/apis/iam_v1/representations.rb +33 -33
  107. data/generated/google/apis/iam_v1/service.rb +109 -109
  108. data/generated/google/apis/identitytoolkit_v3/classes.rb +5 -0
  109. data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
  110. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  111. data/generated/google/apis/kgsearch_v1/service.rb +4 -4
  112. data/generated/google/apis/language_v1.rb +36 -0
  113. data/generated/google/apis/language_v1/classes.rb +757 -0
  114. data/generated/google/apis/language_v1/representations.rb +338 -0
  115. data/generated/google/apis/language_v1/service.rb +185 -0
  116. data/generated/google/apis/language_v1beta1/classes.rb +407 -407
  117. data/generated/google/apis/language_v1beta1/representations.rb +103 -103
  118. data/generated/google/apis/language_v1beta1/service.rb +45 -45
  119. data/generated/google/apis/logging_v2.rb +46 -0
  120. data/generated/google/apis/logging_v2/classes.rb +1271 -0
  121. data/generated/google/apis/logging_v2/representations.rb +421 -0
  122. data/generated/google/apis/logging_v2/service.rb +1569 -0
  123. data/generated/google/apis/logging_v2beta1.rb +1 -1
  124. data/generated/google/apis/logging_v2beta1/classes.rb +886 -886
  125. data/generated/google/apis/logging_v2beta1/representations.rb +132 -132
  126. data/generated/google/apis/logging_v2beta1/service.rb +235 -235
  127. data/generated/google/apis/manufacturers_v1/classes.rb +147 -147
  128. data/generated/google/apis/manufacturers_v1/representations.rb +29 -29
  129. data/generated/google/apis/ml_v1.rb +34 -0
  130. data/generated/google/apis/ml_v1/classes.rb +1617 -0
  131. data/generated/google/apis/ml_v1/representations.rb +498 -0
  132. data/generated/google/apis/ml_v1/service.rb +769 -0
  133. data/generated/google/apis/monitoring_v3.rb +4 -4
  134. data/generated/google/apis/monitoring_v3/classes.rb +630 -630
  135. data/generated/google/apis/monitoring_v3/representations.rb +134 -134
  136. data/generated/google/apis/monitoring_v3/service.rb +240 -240
  137. data/generated/google/apis/pagespeedonline_v2/classes.rb +1 -0
  138. data/generated/google/apis/partners_v2.rb +1 -1
  139. data/generated/google/apis/partners_v2/classes.rb +639 -639
  140. data/generated/google/apis/partners_v2/representations.rb +168 -168
  141. data/generated/google/apis/partners_v2/service.rb +381 -381
  142. data/generated/google/apis/people_v1.rb +10 -10
  143. data/generated/google/apis/people_v1/classes.rb +524 -524
  144. data/generated/google/apis/people_v1/representations.rb +143 -143
  145. data/generated/google/apis/people_v1/service.rb +30 -30
  146. data/generated/google/apis/plus_domains_v1.rb +1 -1
  147. data/generated/google/apis/plus_v1.rb +1 -1
  148. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +454 -444
  149. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +90 -90
  150. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +110 -110
  151. data/generated/google/apis/pubsub_v1/classes.rb +175 -173
  152. data/generated/google/apis/pubsub_v1/representations.rb +53 -53
  153. data/generated/google/apis/pubsub_v1/service.rb +210 -210
  154. data/generated/google/apis/replicapool_v1beta2/classes.rb +2 -0
  155. data/generated/google/apis/runtimeconfig_v1.rb +38 -0
  156. data/generated/google/apis/runtimeconfig_v1/classes.rb +252 -0
  157. data/generated/google/apis/runtimeconfig_v1/representations.rb +98 -0
  158. data/generated/google/apis/runtimeconfig_v1/service.rb +176 -0
  159. data/generated/google/apis/script_v1.rb +1 -1
  160. data/generated/google/apis/script_v1/classes.rb +6 -6
  161. data/generated/google/apis/script_v1/representations.rb +1 -1
  162. data/generated/google/apis/searchconsole_v1.rb +31 -0
  163. data/generated/google/apis/searchconsole_v1/classes.rb +205 -0
  164. data/generated/google/apis/searchconsole_v1/representations.rb +129 -0
  165. data/generated/google/apis/searchconsole_v1/service.rb +88 -0
  166. data/generated/google/apis/servicecontrol_v1.rb +38 -0
  167. data/generated/google/apis/servicecontrol_v1/classes.rb +1675 -0
  168. data/generated/google/apis/servicecontrol_v1/representations.rb +601 -0
  169. data/generated/google/apis/servicecontrol_v1/service.rb +337 -0
  170. data/generated/google/apis/servicemanagement_v1.rb +45 -0
  171. data/generated/google/apis/servicemanagement_v1/classes.rb +4934 -0
  172. data/generated/google/apis/servicemanagement_v1/representations.rb +1526 -0
  173. data/generated/google/apis/servicemanagement_v1/service.rb +860 -0
  174. data/generated/google/apis/serviceuser_v1.rb +42 -0
  175. data/generated/google/apis/serviceuser_v1/classes.rb +3746 -0
  176. data/generated/google/apis/serviceuser_v1/representations.rb +1041 -0
  177. data/generated/google/apis/serviceuser_v1/service.rb +214 -0
  178. data/generated/google/apis/sheets_v4.rb +3 -3
  179. data/generated/google/apis/sheets_v4/classes.rb +4390 -4390
  180. data/generated/google/apis/sheets_v4/representations.rb +381 -381
  181. data/generated/google/apis/sheets_v4/service.rb +48 -48
  182. data/generated/google/apis/slides_v1.rb +3 -3
  183. data/generated/google/apis/slides_v1/classes.rb +2860 -2860
  184. data/generated/google/apis/slides_v1/representations.rb +693 -693
  185. data/generated/google/apis/slides_v1/service.rb +30 -30
  186. data/generated/google/apis/sourcerepo_v1.rb +34 -0
  187. data/generated/google/apis/sourcerepo_v1/classes.rb +687 -0
  188. data/generated/google/apis/sourcerepo_v1/representations.rb +285 -0
  189. data/generated/google/apis/sourcerepo_v1/service.rb +291 -0
  190. data/generated/google/apis/spanner_v1.rb +35 -0
  191. data/generated/google/apis/spanner_v1/classes.rb +3294 -0
  192. data/generated/google/apis/spanner_v1/representations.rb +984 -0
  193. data/generated/google/apis/spanner_v1/service.rb +1504 -0
  194. data/generated/google/apis/speech_v1beta1.rb +1 -1
  195. data/generated/google/apis/speech_v1beta1/classes.rb +197 -196
  196. data/generated/google/apis/speech_v1beta1/representations.rb +53 -53
  197. data/generated/google/apis/speech_v1beta1/service.rb +27 -27
  198. data/generated/google/apis/storage_v1.rb +1 -1
  199. data/generated/google/apis/storage_v1/classes.rb +131 -0
  200. data/generated/google/apis/storage_v1/representations.rb +51 -0
  201. data/generated/google/apis/storage_v1/service.rb +182 -0
  202. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  203. data/generated/google/apis/storagetransfer_v1/classes.rb +732 -661
  204. data/generated/google/apis/storagetransfer_v1/representations.rb +132 -132
  205. data/generated/google/apis/storagetransfer_v1/service.rb +174 -197
  206. data/generated/google/apis/surveys_v2.rb +40 -0
  207. data/generated/google/apis/surveys_v2/classes.rb +806 -0
  208. data/generated/google/apis/surveys_v2/representations.rb +347 -0
  209. data/generated/google/apis/surveys_v2/service.rb +477 -0
  210. data/generated/google/apis/tagmanager_v2.rb +52 -0
  211. data/generated/google/apis/tagmanager_v2/classes.rb +2435 -0
  212. data/generated/google/apis/tagmanager_v2/representations.rb +993 -0
  213. data/generated/google/apis/tagmanager_v2/service.rb +2865 -0
  214. data/generated/google/apis/toolresults_v1beta3.rb +34 -0
  215. data/generated/google/apis/toolresults_v1beta3/classes.rb +2160 -0
  216. data/generated/google/apis/toolresults_v1beta3/representations.rb +729 -0
  217. data/generated/google/apis/toolresults_v1beta3/service.rb +1236 -0
  218. data/generated/google/apis/tracing_v1.rb +40 -0
  219. data/generated/google/apis/tracing_v1/classes.rb +664 -0
  220. data/generated/google/apis/tracing_v1/representations.rb +279 -0
  221. data/generated/google/apis/tracing_v1/service.rb +225 -0
  222. data/generated/google/apis/vision_v1.rb +1 -1
  223. data/generated/google/apis/vision_v1/classes.rb +1223 -1222
  224. data/generated/google/apis/vision_v1/representations.rb +234 -234
  225. data/generated/google/apis/vision_v1/service.rb +10 -10
  226. data/generated/google/apis/webfonts_v1.rb +33 -0
  227. data/generated/google/apis/webfonts_v1/classes.rb +113 -0
  228. data/generated/google/apis/webfonts_v1/representations.rb +62 -0
  229. data/generated/google/apis/webfonts_v1/service.rb +102 -0
  230. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  231. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  232. data/generated/google/apis/youtube_partner_v1/classes.rb +31 -0
  233. data/generated/google/apis/youtube_partner_v1/representations.rb +6 -0
  234. data/generated/google/apis/youtube_partner_v1/service.rb +41 -0
  235. data/generated/google/apis/youtube_v3/classes.rb +1 -0
  236. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  237. data/generated/google/apis/youtubereporting_v1/classes.rb +76 -76
  238. data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
  239. data/generated/google/apis/youtubereporting_v1/service.rb +95 -95
  240. data/lib/google/apis/generator/annotator.rb +5 -4
  241. data/lib/google/apis/generator/templates/_class.tmpl +3 -0
  242. data/lib/google/apis/version.rb +1 -1
  243. data/samples/cli/lib/samples/adsense.rb +99 -0
  244. data/samples/cli/lib/samples/analytics.rb +18 -0
  245. data/samples/cli/lib/samples/gmail.rb +33 -0
  246. data/samples/cli/lib/samples/vision.rb +69 -0
  247. metadata +89 -4
  248. data/sync.rb +0 -71
@@ -0,0 +1,52 @@
1
+ # Copyright 2015 Google Inc.
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
+
19
+ module Google
20
+ module Apis
21
+ # Tag Manager API
22
+ #
23
+ # Accesses Tag Manager accounts and containers.
24
+ #
25
+ # @see https://developers.google.com/tag-manager/api/v2/
26
+ module TagmanagerV2
27
+ VERSION = 'V2'
28
+ REVISION = '20170330'
29
+
30
+ # Delete your Google Tag Manager containers
31
+ AUTH_TAGMANAGER_DELETE_CONTAINERS = 'https://www.googleapis.com/auth/tagmanager.delete.containers'
32
+
33
+ # Manage your Google Tag Manager container and its subcomponents, excluding versioning and publishing
34
+ AUTH_TAGMANAGER_EDIT_CONTAINERS = 'https://www.googleapis.com/auth/tagmanager.edit.containers'
35
+
36
+ # Manage your Google Tag Manager container versions
37
+ AUTH_TAGMANAGER_EDIT_CONTAINERVERSIONS = 'https://www.googleapis.com/auth/tagmanager.edit.containerversions'
38
+
39
+ # View and manage your Google Tag Manager accounts
40
+ AUTH_TAGMANAGER_MANAGE_ACCOUNTS = 'https://www.googleapis.com/auth/tagmanager.manage.accounts'
41
+
42
+ # Manage user permissions of your Google Tag Manager account and container
43
+ AUTH_TAGMANAGER_MANAGE_USERS = 'https://www.googleapis.com/auth/tagmanager.manage.users'
44
+
45
+ # Publish your Google Tag Manager container versions
46
+ AUTH_TAGMANAGER_PUBLISH = 'https://www.googleapis.com/auth/tagmanager.publish'
47
+
48
+ # View your Google Tag Manager container and its subcomponents
49
+ AUTH_TAGMANAGER_READONLY = 'https://www.googleapis.com/auth/tagmanager.readonly'
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,2435 @@
1
+ # Copyright 2015 Google Inc.
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.
41
+ # Corresponds to the JSON property `name`
42
+ # @return [String]
43
+ attr_accessor :name
44
+
45
+ # GTM Account's API relative path.
46
+ # Corresponds to the JSON property `path`
47
+ # @return [String]
48
+ attr_accessor :path
49
+
50
+ # Whether the account shares data anonymously with Google and others. This flag
51
+ # enables benchmarking by sharing your data in an anonymous form. Google will
52
+ # remove all identifiable information about your website, combine the data with
53
+ # hundreds of other anonymous sites and report aggregate trends in the
54
+ # benchmarking service.
55
+ # Corresponds to the JSON property `shareData`
56
+ # @return [Boolean]
57
+ attr_accessor :share_data
58
+ alias_method :share_data?, :share_data
59
+
60
+ # Auto generated link to the tag manager UI
61
+ # Corresponds to the JSON property `tagManagerUrl`
62
+ # @return [String]
63
+ attr_accessor :tag_manager_url
64
+
65
+ def initialize(**args)
66
+ update!(**args)
67
+ end
68
+
69
+ # Update properties of this object
70
+ def update!(**args)
71
+ @account_id = args[:account_id] if args.key?(:account_id)
72
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
73
+ @name = args[:name] if args.key?(:name)
74
+ @path = args[:path] if args.key?(:path)
75
+ @share_data = args[:share_data] if args.key?(:share_data)
76
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
77
+ end
78
+ end
79
+
80
+ # Defines the Google Tag Manager Account access permissions.
81
+ class AccountAccess
82
+ include Google::Apis::Core::Hashable
83
+
84
+ # Whether the user has no access, user access, or admin access to an account.
85
+ # Corresponds to the JSON property `permission`
86
+ # @return [String]
87
+ attr_accessor :permission
88
+
89
+ def initialize(**args)
90
+ update!(**args)
91
+ end
92
+
93
+ # Update properties of this object
94
+ def update!(**args)
95
+ @permission = args[:permission] if args.key?(:permission)
96
+ end
97
+ end
98
+
99
+ # Built-in variables are a special category of variables that are pre-created
100
+ # and non-customizable. They provide common functionality like accessing
101
+ # propeties of the gtm data layer, monitoring clicks, or accessing elements of a
102
+ # page URL.
103
+ class BuiltInVariable
104
+ include Google::Apis::Core::Hashable
105
+
106
+ # GTM Account ID.
107
+ # Corresponds to the JSON property `accountId`
108
+ # @return [String]
109
+ attr_accessor :account_id
110
+
111
+ # GTM Container ID.
112
+ # Corresponds to the JSON property `containerId`
113
+ # @return [String]
114
+ attr_accessor :container_id
115
+
116
+ # Name of the built-in variable to be used to refer to the built-in variable.
117
+ # Corresponds to the JSON property `name`
118
+ # @return [String]
119
+ attr_accessor :name
120
+
121
+ # GTM BuiltInVariable's API relative path.
122
+ # Corresponds to the JSON property `path`
123
+ # @return [String]
124
+ attr_accessor :path
125
+
126
+ # Type of built-in variable.
127
+ # Corresponds to the JSON property `type`
128
+ # @return [String]
129
+ attr_accessor :type
130
+
131
+ # GTM Workspace ID.
132
+ # Corresponds to the JSON property `workspaceId`
133
+ # @return [String]
134
+ attr_accessor :workspace_id
135
+
136
+ def initialize(**args)
137
+ update!(**args)
138
+ end
139
+
140
+ # Update properties of this object
141
+ def update!(**args)
142
+ @account_id = args[:account_id] if args.key?(:account_id)
143
+ @container_id = args[:container_id] if args.key?(:container_id)
144
+ @name = args[:name] if args.key?(:name)
145
+ @path = args[:path] if args.key?(:path)
146
+ @type = args[:type] if args.key?(:type)
147
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
148
+ end
149
+ end
150
+
151
+ # Represents a predicate.
152
+ class Condition
153
+ include Google::Apis::Core::Hashable
154
+
155
+ # A list of named parameters (key/value), depending on the condition's type.
156
+ # Notes:
157
+ # - For binary operators, include parameters named arg0 and arg1 for specifying
158
+ # the left and right operands, respectively.
159
+ # - At this time, the left operand (arg0) must be a reference to a variable.
160
+ # - For case-insensitive Regex matching, include a boolean parameter named
161
+ # ignore_case that is set to true. If not specified or set to any other value,
162
+ # the matching will be case sensitive.
163
+ # - To negate an operator, include a boolean parameter named negate boolean
164
+ # parameter that is set to true.
165
+ # Corresponds to the JSON property `parameter`
166
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
167
+ attr_accessor :parameter
168
+
169
+ # The type of operator for this condition.
170
+ # Corresponds to the JSON property `type`
171
+ # @return [String]
172
+ attr_accessor :type
173
+
174
+ def initialize(**args)
175
+ update!(**args)
176
+ end
177
+
178
+ # Update properties of this object
179
+ def update!(**args)
180
+ @parameter = args[:parameter] if args.key?(:parameter)
181
+ @type = args[:type] if args.key?(:type)
182
+ end
183
+ end
184
+
185
+ # Represents a Google Tag Manager Container, which specifies the platform tags
186
+ # will run on, manages workspaces, and retains container versions.
187
+ class Container
188
+ include Google::Apis::Core::Hashable
189
+
190
+ # GTM Account ID.
191
+ # Corresponds to the JSON property `accountId`
192
+ # @return [String]
193
+ attr_accessor :account_id
194
+
195
+ # The Container ID uniquely identifies the GTM Container.
196
+ # Corresponds to the JSON property `containerId`
197
+ # @return [String]
198
+ attr_accessor :container_id
199
+
200
+ # List of domain names associated with the Container.
201
+ # Corresponds to the JSON property `domainName`
202
+ # @return [Array<String>]
203
+ attr_accessor :domain_name
204
+
205
+ # The fingerprint of the GTM Container as computed at storage time. This value
206
+ # is recomputed whenever the account is modified.
207
+ # Corresponds to the JSON property `fingerprint`
208
+ # @return [String]
209
+ attr_accessor :fingerprint
210
+
211
+ # Container display name.
212
+ # Corresponds to the JSON property `name`
213
+ # @return [String]
214
+ attr_accessor :name
215
+
216
+ # Container Notes.
217
+ # Corresponds to the JSON property `notes`
218
+ # @return [String]
219
+ attr_accessor :notes
220
+
221
+ # GTM Container's API relative path.
222
+ # Corresponds to the JSON property `path`
223
+ # @return [String]
224
+ attr_accessor :path
225
+
226
+ # Container Public ID.
227
+ # Corresponds to the JSON property `publicId`
228
+ # @return [String]
229
+ attr_accessor :public_id
230
+
231
+ # Auto generated link to the tag manager UI
232
+ # Corresponds to the JSON property `tagManagerUrl`
233
+ # @return [String]
234
+ attr_accessor :tag_manager_url
235
+
236
+ # List of Usage Contexts for the Container. Valid values include: web, android,
237
+ # or ios.
238
+ # Corresponds to the JSON property `usageContext`
239
+ # @return [Array<String>]
240
+ attr_accessor :usage_context
241
+
242
+ def initialize(**args)
243
+ update!(**args)
244
+ end
245
+
246
+ # Update properties of this object
247
+ def update!(**args)
248
+ @account_id = args[:account_id] if args.key?(:account_id)
249
+ @container_id = args[:container_id] if args.key?(:container_id)
250
+ @domain_name = args[:domain_name] if args.key?(:domain_name)
251
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
252
+ @name = args[:name] if args.key?(:name)
253
+ @notes = args[:notes] if args.key?(:notes)
254
+ @path = args[:path] if args.key?(:path)
255
+ @public_id = args[:public_id] if args.key?(:public_id)
256
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
257
+ @usage_context = args[:usage_context] if args.key?(:usage_context)
258
+ end
259
+ end
260
+
261
+ # Defines the Google Tag Manager Container access permissions.
262
+ class ContainerAccess
263
+ include Google::Apis::Core::Hashable
264
+
265
+ # GTM Container ID.
266
+ # Corresponds to the JSON property `containerId`
267
+ # @return [String]
268
+ attr_accessor :container_id
269
+
270
+ # List of Container permissions.
271
+ # Corresponds to the JSON property `permission`
272
+ # @return [String]
273
+ attr_accessor :permission
274
+
275
+ def initialize(**args)
276
+ update!(**args)
277
+ end
278
+
279
+ # Update properties of this object
280
+ def update!(**args)
281
+ @container_id = args[:container_id] if args.key?(:container_id)
282
+ @permission = args[:permission] if args.key?(:permission)
283
+ end
284
+ end
285
+
286
+ # Represents a Google Tag Manager Container Version.
287
+ class ContainerVersion
288
+ include Google::Apis::Core::Hashable
289
+
290
+ # GTM Account ID.
291
+ # Corresponds to the JSON property `accountId`
292
+ # @return [String]
293
+ attr_accessor :account_id
294
+
295
+ # The built-in variables in the container that this version was taken from.
296
+ # Corresponds to the JSON property `builtInVariable`
297
+ # @return [Array<Google::Apis::TagmanagerV2::BuiltInVariable>]
298
+ attr_accessor :built_in_variable
299
+
300
+ # Represents a Google Tag Manager Container, which specifies the platform tags
301
+ # will run on, manages workspaces, and retains container versions.
302
+ # Corresponds to the JSON property `container`
303
+ # @return [Google::Apis::TagmanagerV2::Container]
304
+ attr_accessor :container
305
+
306
+ # GTM Container ID.
307
+ # Corresponds to the JSON property `containerId`
308
+ # @return [String]
309
+ attr_accessor :container_id
310
+
311
+ # The Container Version ID uniquely identifies the GTM Container Version.
312
+ # Corresponds to the JSON property `containerVersionId`
313
+ # @return [String]
314
+ attr_accessor :container_version_id
315
+
316
+ # A value of true indicates this container version has been deleted.
317
+ # Corresponds to the JSON property `deleted`
318
+ # @return [Boolean]
319
+ attr_accessor :deleted
320
+ alias_method :deleted?, :deleted
321
+
322
+ # Container version description.
323
+ # Corresponds to the JSON property `description`
324
+ # @return [String]
325
+ attr_accessor :description
326
+
327
+ # The fingerprint of the GTM Container Version as computed at storage time. This
328
+ # value is recomputed whenever the container version is modified.
329
+ # Corresponds to the JSON property `fingerprint`
330
+ # @return [String]
331
+ attr_accessor :fingerprint
332
+
333
+ # The folders in the container that this version was taken from.
334
+ # Corresponds to the JSON property `folder`
335
+ # @return [Array<Google::Apis::TagmanagerV2::Folder>]
336
+ attr_accessor :folder
337
+
338
+ # Container version display name.
339
+ # Corresponds to the JSON property `name`
340
+ # @return [String]
341
+ attr_accessor :name
342
+
343
+ # GTM ContainerVersions's API relative path.
344
+ # Corresponds to the JSON property `path`
345
+ # @return [String]
346
+ attr_accessor :path
347
+
348
+ # The tags in the container that this version was taken from.
349
+ # Corresponds to the JSON property `tag`
350
+ # @return [Array<Google::Apis::TagmanagerV2::Tag>]
351
+ attr_accessor :tag
352
+
353
+ # Auto generated link to the tag manager UI
354
+ # Corresponds to the JSON property `tagManagerUrl`
355
+ # @return [String]
356
+ attr_accessor :tag_manager_url
357
+
358
+ # The triggers in the container that this version was taken from.
359
+ # Corresponds to the JSON property `trigger`
360
+ # @return [Array<Google::Apis::TagmanagerV2::Trigger>]
361
+ attr_accessor :trigger
362
+
363
+ # The variables in the container that this version was taken from.
364
+ # Corresponds to the JSON property `variable`
365
+ # @return [Array<Google::Apis::TagmanagerV2::Variable>]
366
+ attr_accessor :variable
367
+
368
+ def initialize(**args)
369
+ update!(**args)
370
+ end
371
+
372
+ # Update properties of this object
373
+ def update!(**args)
374
+ @account_id = args[:account_id] if args.key?(:account_id)
375
+ @built_in_variable = args[:built_in_variable] if args.key?(:built_in_variable)
376
+ @container = args[:container] if args.key?(:container)
377
+ @container_id = args[:container_id] if args.key?(:container_id)
378
+ @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
379
+ @deleted = args[:deleted] if args.key?(:deleted)
380
+ @description = args[:description] if args.key?(:description)
381
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
382
+ @folder = args[:folder] if args.key?(:folder)
383
+ @name = args[:name] if args.key?(:name)
384
+ @path = args[:path] if args.key?(:path)
385
+ @tag = args[:tag] if args.key?(:tag)
386
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
387
+ @trigger = args[:trigger] if args.key?(:trigger)
388
+ @variable = args[:variable] if args.key?(:variable)
389
+ end
390
+ end
391
+
392
+ # Represents a Google Tag Manager Container Version Header.
393
+ class ContainerVersionHeader
394
+ include Google::Apis::Core::Hashable
395
+
396
+ # GTM Account ID.
397
+ # Corresponds to the JSON property `accountId`
398
+ # @return [String]
399
+ attr_accessor :account_id
400
+
401
+ # GTM Container ID.
402
+ # Corresponds to the JSON property `containerId`
403
+ # @return [String]
404
+ attr_accessor :container_id
405
+
406
+ # The Container Version ID uniquely identifies the GTM Container Version.
407
+ # Corresponds to the JSON property `containerVersionId`
408
+ # @return [String]
409
+ attr_accessor :container_version_id
410
+
411
+ # A value of true indicates this container version has been deleted.
412
+ # Corresponds to the JSON property `deleted`
413
+ # @return [Boolean]
414
+ attr_accessor :deleted
415
+ alias_method :deleted?, :deleted
416
+
417
+ # Container version display name.
418
+ # Corresponds to the JSON property `name`
419
+ # @return [String]
420
+ attr_accessor :name
421
+
422
+ # Number of macros in the container version.
423
+ # Corresponds to the JSON property `numMacros`
424
+ # @return [String]
425
+ attr_accessor :num_macros
426
+
427
+ # Number of rules in the container version.
428
+ # Corresponds to the JSON property `numRules`
429
+ # @return [String]
430
+ attr_accessor :num_rules
431
+
432
+ # Number of tags in the container version.
433
+ # Corresponds to the JSON property `numTags`
434
+ # @return [String]
435
+ attr_accessor :num_tags
436
+
437
+ # Number of triggers in the container version.
438
+ # Corresponds to the JSON property `numTriggers`
439
+ # @return [String]
440
+ attr_accessor :num_triggers
441
+
442
+ # Number of variables in the container version.
443
+ # Corresponds to the JSON property `numVariables`
444
+ # @return [String]
445
+ attr_accessor :num_variables
446
+
447
+ # GTM Container Versions's API relative path.
448
+ # Corresponds to the JSON property `path`
449
+ # @return [String]
450
+ attr_accessor :path
451
+
452
+ def initialize(**args)
453
+ update!(**args)
454
+ end
455
+
456
+ # Update properties of this object
457
+ def update!(**args)
458
+ @account_id = args[:account_id] if args.key?(:account_id)
459
+ @container_id = args[:container_id] if args.key?(:container_id)
460
+ @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
461
+ @deleted = args[:deleted] if args.key?(:deleted)
462
+ @name = args[:name] if args.key?(:name)
463
+ @num_macros = args[:num_macros] if args.key?(:num_macros)
464
+ @num_rules = args[:num_rules] if args.key?(:num_rules)
465
+ @num_tags = args[:num_tags] if args.key?(:num_tags)
466
+ @num_triggers = args[:num_triggers] if args.key?(:num_triggers)
467
+ @num_variables = args[:num_variables] if args.key?(:num_variables)
468
+ @path = args[:path] if args.key?(:path)
469
+ end
470
+ end
471
+
472
+ #
473
+ class CreateBuiltInVariableResponse
474
+ include Google::Apis::Core::Hashable
475
+
476
+ # List of created built-in variables.
477
+ # Corresponds to the JSON property `builtInVariable`
478
+ # @return [Array<Google::Apis::TagmanagerV2::BuiltInVariable>]
479
+ attr_accessor :built_in_variable
480
+
481
+ def initialize(**args)
482
+ update!(**args)
483
+ end
484
+
485
+ # Update properties of this object
486
+ def update!(**args)
487
+ @built_in_variable = args[:built_in_variable] if args.key?(:built_in_variable)
488
+ end
489
+ end
490
+
491
+ # Options for new container versions.
492
+ class CreateContainerVersionRequestVersionOptions
493
+ include Google::Apis::Core::Hashable
494
+
495
+ # The name of the container version to be created.
496
+ # Corresponds to the JSON property `name`
497
+ # @return [String]
498
+ attr_accessor :name
499
+
500
+ # The notes of the container version to be created.
501
+ # Corresponds to the JSON property `notes`
502
+ # @return [String]
503
+ attr_accessor :notes
504
+
505
+ def initialize(**args)
506
+ update!(**args)
507
+ end
508
+
509
+ # Update properties of this object
510
+ def update!(**args)
511
+ @name = args[:name] if args.key?(:name)
512
+ @notes = args[:notes] if args.key?(:notes)
513
+ end
514
+ end
515
+
516
+ # Create container versions response.
517
+ class CreateContainerVersionResponse
518
+ include Google::Apis::Core::Hashable
519
+
520
+ # Compiler errors or not.
521
+ # Corresponds to the JSON property `compilerError`
522
+ # @return [Boolean]
523
+ attr_accessor :compiler_error
524
+ alias_method :compiler_error?, :compiler_error
525
+
526
+ # Represents a Google Tag Manager Container Version.
527
+ # Corresponds to the JSON property `containerVersion`
528
+ # @return [Google::Apis::TagmanagerV2::ContainerVersion]
529
+ attr_accessor :container_version
530
+
531
+ # Auto generated workspace path created as a result of version creation. This
532
+ # field should only be populated if the created version was not a quick preview.
533
+ # Corresponds to the JSON property `newWorkspacePath`
534
+ # @return [String]
535
+ attr_accessor :new_workspace_path
536
+
537
+ # The status of a workspace after synchronization.
538
+ # Corresponds to the JSON property `syncStatus`
539
+ # @return [Google::Apis::TagmanagerV2::SyncStatus]
540
+ attr_accessor :sync_status
541
+
542
+ def initialize(**args)
543
+ update!(**args)
544
+ end
545
+
546
+ # Update properties of this object
547
+ def update!(**args)
548
+ @compiler_error = args[:compiler_error] if args.key?(:compiler_error)
549
+ @container_version = args[:container_version] if args.key?(:container_version)
550
+ @new_workspace_path = args[:new_workspace_path] if args.key?(:new_workspace_path)
551
+ @sync_status = args[:sync_status] if args.key?(:sync_status)
552
+ end
553
+ end
554
+
555
+ # Creates a workspace proposal to start a review of a workspace.
556
+ class CreateWorkspaceProposalRequest
557
+ include Google::Apis::Core::Hashable
558
+
559
+ # A comment from the reviewer or author.
560
+ # Corresponds to the JSON property `initialComment`
561
+ # @return [Google::Apis::TagmanagerV2::WorkspaceProposalHistoryComment]
562
+ attr_accessor :initial_comment
563
+
564
+ # List of users to review the workspace proposal.
565
+ # Corresponds to the JSON property `reviewers`
566
+ # @return [Array<Google::Apis::TagmanagerV2::WorkspaceProposalUser>]
567
+ attr_accessor :reviewers
568
+
569
+ def initialize(**args)
570
+ update!(**args)
571
+ end
572
+
573
+ # Update properties of this object
574
+ def update!(**args)
575
+ @initial_comment = args[:initial_comment] if args.key?(:initial_comment)
576
+ @reviewers = args[:reviewers] if args.key?(:reviewers)
577
+ end
578
+ end
579
+
580
+ # A workspace entity that may represent a tag, trigger, variable, or folder in
581
+ # addition to its status in the workspace.
582
+ class Entity
583
+ include Google::Apis::Core::Hashable
584
+
585
+ # Represents how the entity has been changed in the workspace.
586
+ # Corresponds to the JSON property `changeStatus`
587
+ # @return [String]
588
+ attr_accessor :change_status
589
+
590
+ # Represents a Google Tag Manager Folder.
591
+ # Corresponds to the JSON property `folder`
592
+ # @return [Google::Apis::TagmanagerV2::Folder]
593
+ attr_accessor :folder
594
+
595
+ # Represents a Google Tag Manager Tag.
596
+ # Corresponds to the JSON property `tag`
597
+ # @return [Google::Apis::TagmanagerV2::Tag]
598
+ attr_accessor :tag
599
+
600
+ # Represents a Google Tag Manager Trigger
601
+ # Corresponds to the JSON property `trigger`
602
+ # @return [Google::Apis::TagmanagerV2::Trigger]
603
+ attr_accessor :trigger
604
+
605
+ # Represents a Google Tag Manager Variable.
606
+ # Corresponds to the JSON property `variable`
607
+ # @return [Google::Apis::TagmanagerV2::Variable]
608
+ attr_accessor :variable
609
+
610
+ def initialize(**args)
611
+ update!(**args)
612
+ end
613
+
614
+ # Update properties of this object
615
+ def update!(**args)
616
+ @change_status = args[:change_status] if args.key?(:change_status)
617
+ @folder = args[:folder] if args.key?(:folder)
618
+ @tag = args[:tag] if args.key?(:tag)
619
+ @trigger = args[:trigger] if args.key?(:trigger)
620
+ @variable = args[:variable] if args.key?(:variable)
621
+ end
622
+ end
623
+
624
+ # Represents a Google Tag Manager Environment. Note that a user can create,
625
+ # delete and update environments of type USER, but can only update the
626
+ # enable_debug and url fields of environments of other types.
627
+ class Environment
628
+ include Google::Apis::Core::Hashable
629
+
630
+ # GTM Account ID.
631
+ # Corresponds to the JSON property `accountId`
632
+ # @return [String]
633
+ attr_accessor :account_id
634
+
635
+ # The environment authorization code.
636
+ # Corresponds to the JSON property `authorizationCode`
637
+ # @return [String]
638
+ attr_accessor :authorization_code
639
+
640
+ # A Timestamp represents a point in time independent of any time zone or
641
+ # calendar, represented as seconds and fractions of seconds at nanosecond
642
+ # resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian
643
+ # Calendar which extends the Gregorian calendar backwards to year one. It is
644
+ # encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "
645
+ # smeared" so that no leap second table is needed for interpretation. Range is
646
+ # from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to
647
+ # that range, we ensure that we can convert to and from RFC 3339 date strings.
648
+ # See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.
649
+ # txt).
650
+ # # Examples
651
+ # Example 1: Compute Timestamp from POSIX `time()`.
652
+ # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
653
+ # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
654
+ # struct timeval tv; gettimeofday(&tv, NULL);
655
+ # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.
656
+ # tv_usec * 1000);
657
+ # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
658
+ # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.
659
+ # dwHighDateTime) << 32) | ft.dwLowDateTime;
660
+ # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is
661
+ # 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp
662
+ # timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
663
+ # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
664
+ # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
665
+ # long millis = System.currentTimeMillis();
666
+ # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .
667
+ # setNanos((int) ((millis % 1000) * 1000000)).build();
668
+ # Example 5: Compute Timestamp from current time in Python.
669
+ # timestamp = Timestamp() timestamp.GetCurrentTime()
670
+ # # JSON Mapping
671
+ # In JSON format, the Timestamp type is encoded as a string in the [RFC 3339](
672
+ # https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is "`year`-`
673
+ # month`-`day`T`hour`:`min`:`sec`[.`frac_sec`]Z" where `year` is always
674
+ # expressed using four digits while `month`, `day`, `hour`, `min`, and `sec` are
675
+ # zero-padded to two digits each. The fractional seconds, which can go up to 9
676
+ # digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix
677
+ # indicates the timezone ("UTC"); the timezone is required, though only UTC (as
678
+ # indicated by "Z") is presently supported.
679
+ # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on
680
+ # January 15, 2017.
681
+ # In JavaScript, one can convert a Date object to this format using the standard
682
+ # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/
683
+ # Reference/Global_Objects/Date/toISOString] method. In Python, a standard `
684
+ # datetime.datetime` object can be converted to this format using [`strftime`](
685
+ # https://docs.python.org/2/library/time.html#time.strftime) with the time
686
+ # format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda
687
+ # Time's [`ISODateTimeFormat.dateTime()`]( http://joda-time.sourceforge.net/
688
+ # apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) to obtain a
689
+ # formatter capable of generating timestamps in this format.
690
+ # Corresponds to the JSON property `authorizationTimestamp`
691
+ # @return [Google::Apis::TagmanagerV2::Timestamp]
692
+ attr_accessor :authorization_timestamp
693
+
694
+ # GTM Container ID.
695
+ # Corresponds to the JSON property `containerId`
696
+ # @return [String]
697
+ attr_accessor :container_id
698
+
699
+ # Represents a link to a container version.
700
+ # Corresponds to the JSON property `containerVersionId`
701
+ # @return [String]
702
+ attr_accessor :container_version_id
703
+
704
+ # The environment description. Can be set or changed only on USER type
705
+ # environments.
706
+ # Corresponds to the JSON property `description`
707
+ # @return [String]
708
+ attr_accessor :description
709
+
710
+ # Whether or not to enable debug by default for the environment.
711
+ # Corresponds to the JSON property `enableDebug`
712
+ # @return [Boolean]
713
+ attr_accessor :enable_debug
714
+ alias_method :enable_debug?, :enable_debug
715
+
716
+ # GTM Environment ID uniquely identifies the GTM Environment.
717
+ # Corresponds to the JSON property `environmentId`
718
+ # @return [String]
719
+ attr_accessor :environment_id
720
+
721
+ # The fingerprint of the GTM environment as computed at storage time. This value
722
+ # is recomputed whenever the environment is modified.
723
+ # Corresponds to the JSON property `fingerprint`
724
+ # @return [String]
725
+ attr_accessor :fingerprint
726
+
727
+ # The environment display name. Can be set or changed only on USER type
728
+ # environments.
729
+ # Corresponds to the JSON property `name`
730
+ # @return [String]
731
+ attr_accessor :name
732
+
733
+ # GTM Environment's API relative path.
734
+ # Corresponds to the JSON property `path`
735
+ # @return [String]
736
+ attr_accessor :path
737
+
738
+ # Auto generated link to the tag manager UI
739
+ # Corresponds to the JSON property `tagManagerUrl`
740
+ # @return [String]
741
+ attr_accessor :tag_manager_url
742
+
743
+ # The type of this environment.
744
+ # Corresponds to the JSON property `type`
745
+ # @return [String]
746
+ attr_accessor :type
747
+
748
+ # Default preview page url for the environment.
749
+ # Corresponds to the JSON property `url`
750
+ # @return [String]
751
+ attr_accessor :url
752
+
753
+ # Represents a link to a quick preview of a workspace.
754
+ # Corresponds to the JSON property `workspaceId`
755
+ # @return [String]
756
+ attr_accessor :workspace_id
757
+
758
+ def initialize(**args)
759
+ update!(**args)
760
+ end
761
+
762
+ # Update properties of this object
763
+ def update!(**args)
764
+ @account_id = args[:account_id] if args.key?(:account_id)
765
+ @authorization_code = args[:authorization_code] if args.key?(:authorization_code)
766
+ @authorization_timestamp = args[:authorization_timestamp] if args.key?(:authorization_timestamp)
767
+ @container_id = args[:container_id] if args.key?(:container_id)
768
+ @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
769
+ @description = args[:description] if args.key?(:description)
770
+ @enable_debug = args[:enable_debug] if args.key?(:enable_debug)
771
+ @environment_id = args[:environment_id] if args.key?(:environment_id)
772
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
773
+ @name = args[:name] if args.key?(:name)
774
+ @path = args[:path] if args.key?(:path)
775
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
776
+ @type = args[:type] if args.key?(:type)
777
+ @url = args[:url] if args.key?(:url)
778
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
779
+ end
780
+ end
781
+
782
+ # Represents a Google Tag Manager Folder.
783
+ class Folder
784
+ include Google::Apis::Core::Hashable
785
+
786
+ # GTM Account ID.
787
+ # Corresponds to the JSON property `accountId`
788
+ # @return [String]
789
+ attr_accessor :account_id
790
+
791
+ # GTM Container ID.
792
+ # Corresponds to the JSON property `containerId`
793
+ # @return [String]
794
+ attr_accessor :container_id
795
+
796
+ # The fingerprint of the GTM Folder as computed at storage time. This value is
797
+ # recomputed whenever the folder is modified.
798
+ # Corresponds to the JSON property `fingerprint`
799
+ # @return [String]
800
+ attr_accessor :fingerprint
801
+
802
+ # The Folder ID uniquely identifies the GTM Folder.
803
+ # Corresponds to the JSON property `folderId`
804
+ # @return [String]
805
+ attr_accessor :folder_id
806
+
807
+ # Folder display name.
808
+ # Corresponds to the JSON property `name`
809
+ # @return [String]
810
+ attr_accessor :name
811
+
812
+ # User notes on how to apply this folder in the container.
813
+ # Corresponds to the JSON property `notes`
814
+ # @return [String]
815
+ attr_accessor :notes
816
+
817
+ # GTM Folder's API relative path.
818
+ # Corresponds to the JSON property `path`
819
+ # @return [String]
820
+ attr_accessor :path
821
+
822
+ # Auto generated link to the tag manager UI
823
+ # Corresponds to the JSON property `tagManagerUrl`
824
+ # @return [String]
825
+ attr_accessor :tag_manager_url
826
+
827
+ # GTM Workspace ID.
828
+ # Corresponds to the JSON property `workspaceId`
829
+ # @return [String]
830
+ attr_accessor :workspace_id
831
+
832
+ def initialize(**args)
833
+ update!(**args)
834
+ end
835
+
836
+ # Update properties of this object
837
+ def update!(**args)
838
+ @account_id = args[:account_id] if args.key?(:account_id)
839
+ @container_id = args[:container_id] if args.key?(:container_id)
840
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
841
+ @folder_id = args[:folder_id] if args.key?(:folder_id)
842
+ @name = args[:name] if args.key?(:name)
843
+ @notes = args[:notes] if args.key?(:notes)
844
+ @path = args[:path] if args.key?(:path)
845
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
846
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
847
+ end
848
+ end
849
+
850
+ # Represents a Google Tag Manager Folder's contents.
851
+ class FolderEntities
852
+ include Google::Apis::Core::Hashable
853
+
854
+ # Continuation token for fetching the next page of results.
855
+ # Corresponds to the JSON property `nextPageToken`
856
+ # @return [String]
857
+ attr_accessor :next_page_token
858
+
859
+ # The list of tags inside the folder.
860
+ # Corresponds to the JSON property `tag`
861
+ # @return [Array<Google::Apis::TagmanagerV2::Tag>]
862
+ attr_accessor :tag
863
+
864
+ # The list of triggers inside the folder.
865
+ # Corresponds to the JSON property `trigger`
866
+ # @return [Array<Google::Apis::TagmanagerV2::Trigger>]
867
+ attr_accessor :trigger
868
+
869
+ # The list of variables inside the folder.
870
+ # Corresponds to the JSON property `variable`
871
+ # @return [Array<Google::Apis::TagmanagerV2::Variable>]
872
+ attr_accessor :variable
873
+
874
+ def initialize(**args)
875
+ update!(**args)
876
+ end
877
+
878
+ # Update properties of this object
879
+ def update!(**args)
880
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
881
+ @tag = args[:tag] if args.key?(:tag)
882
+ @trigger = args[:trigger] if args.key?(:trigger)
883
+ @variable = args[:variable] if args.key?(:variable)
884
+ end
885
+ end
886
+
887
+ # The changes that have occurred in the workspace since the base container
888
+ # version.
889
+ class GetWorkspaceStatusResponse
890
+ include Google::Apis::Core::Hashable
891
+
892
+ # The merge conflict after sync.
893
+ # Corresponds to the JSON property `mergeConflict`
894
+ # @return [Array<Google::Apis::TagmanagerV2::MergeConflict>]
895
+ attr_accessor :merge_conflict
896
+
897
+ # Entities that have been changed in the workspace.
898
+ # Corresponds to the JSON property `workspaceChange`
899
+ # @return [Array<Google::Apis::TagmanagerV2::Entity>]
900
+ attr_accessor :workspace_change
901
+
902
+ def initialize(**args)
903
+ update!(**args)
904
+ end
905
+
906
+ # Update properties of this object
907
+ def update!(**args)
908
+ @merge_conflict = args[:merge_conflict] if args.key?(:merge_conflict)
909
+ @workspace_change = args[:workspace_change] if args.key?(:workspace_change)
910
+ end
911
+ end
912
+
913
+ # List Accounts Response.
914
+ class ListAccountsResponse
915
+ include Google::Apis::Core::Hashable
916
+
917
+ # List of GTM Accounts that a user has access to.
918
+ # Corresponds to the JSON property `account`
919
+ # @return [Array<Google::Apis::TagmanagerV2::Account>]
920
+ attr_accessor :account
921
+
922
+ # Continuation token for fetching the next page of results.
923
+ # Corresponds to the JSON property `nextPageToken`
924
+ # @return [String]
925
+ attr_accessor :next_page_token
926
+
927
+ def initialize(**args)
928
+ update!(**args)
929
+ end
930
+
931
+ # Update properties of this object
932
+ def update!(**args)
933
+ @account = args[:account] if args.key?(:account)
934
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
935
+ end
936
+ end
937
+
938
+ # List container versions response.
939
+ class ListContainerVersionsResponse
940
+ include Google::Apis::Core::Hashable
941
+
942
+ # All container version headers of a GTM Container.
943
+ # Corresponds to the JSON property `containerVersionHeader`
944
+ # @return [Array<Google::Apis::TagmanagerV2::ContainerVersionHeader>]
945
+ attr_accessor :container_version_header
946
+
947
+ # Continuation token for fetching the next page of results.
948
+ # Corresponds to the JSON property `nextPageToken`
949
+ # @return [String]
950
+ attr_accessor :next_page_token
951
+
952
+ def initialize(**args)
953
+ update!(**args)
954
+ end
955
+
956
+ # Update properties of this object
957
+ def update!(**args)
958
+ @container_version_header = args[:container_version_header] if args.key?(:container_version_header)
959
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
960
+ end
961
+ end
962
+
963
+ # List Containers Response.
964
+ class ListContainersResponse
965
+ include Google::Apis::Core::Hashable
966
+
967
+ # All Containers of a GTM Account.
968
+ # Corresponds to the JSON property `container`
969
+ # @return [Array<Google::Apis::TagmanagerV2::Container>]
970
+ attr_accessor :container
971
+
972
+ # Continuation token for fetching the next page of results.
973
+ # Corresponds to the JSON property `nextPageToken`
974
+ # @return [String]
975
+ attr_accessor :next_page_token
976
+
977
+ def initialize(**args)
978
+ update!(**args)
979
+ end
980
+
981
+ # Update properties of this object
982
+ def update!(**args)
983
+ @container = args[:container] if args.key?(:container)
984
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
985
+ end
986
+ end
987
+
988
+ # A list of enabled built-in variables.
989
+ class ListEnabledBuiltInVariablesResponse
990
+ include Google::Apis::Core::Hashable
991
+
992
+ # All GTM BuiltInVariables of a GTM container.
993
+ # Corresponds to the JSON property `builtInVariable`
994
+ # @return [Array<Google::Apis::TagmanagerV2::BuiltInVariable>]
995
+ attr_accessor :built_in_variable
996
+
997
+ # Continuation token for fetching the next page of results.
998
+ # Corresponds to the JSON property `nextPageToken`
999
+ # @return [String]
1000
+ attr_accessor :next_page_token
1001
+
1002
+ def initialize(**args)
1003
+ update!(**args)
1004
+ end
1005
+
1006
+ # Update properties of this object
1007
+ def update!(**args)
1008
+ @built_in_variable = args[:built_in_variable] if args.key?(:built_in_variable)
1009
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1010
+ end
1011
+ end
1012
+
1013
+ # List Environments Response.
1014
+ class ListEnvironmentsResponse
1015
+ include Google::Apis::Core::Hashable
1016
+
1017
+ # All Environments of a GTM Container.
1018
+ # Corresponds to the JSON property `environment`
1019
+ # @return [Array<Google::Apis::TagmanagerV2::Environment>]
1020
+ attr_accessor :environment
1021
+
1022
+ # Continuation token for fetching the next page of results.
1023
+ # Corresponds to the JSON property `nextPageToken`
1024
+ # @return [String]
1025
+ attr_accessor :next_page_token
1026
+
1027
+ def initialize(**args)
1028
+ update!(**args)
1029
+ end
1030
+
1031
+ # Update properties of this object
1032
+ def update!(**args)
1033
+ @environment = args[:environment] if args.key?(:environment)
1034
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1035
+ end
1036
+ end
1037
+
1038
+ # List Folders Response.
1039
+ class ListFoldersResponse
1040
+ include Google::Apis::Core::Hashable
1041
+
1042
+ # All GTM Folders of a GTM Container.
1043
+ # Corresponds to the JSON property `folder`
1044
+ # @return [Array<Google::Apis::TagmanagerV2::Folder>]
1045
+ attr_accessor :folder
1046
+
1047
+ # Continuation token for fetching the next page of results.
1048
+ # Corresponds to the JSON property `nextPageToken`
1049
+ # @return [String]
1050
+ attr_accessor :next_page_token
1051
+
1052
+ def initialize(**args)
1053
+ update!(**args)
1054
+ end
1055
+
1056
+ # Update properties of this object
1057
+ def update!(**args)
1058
+ @folder = args[:folder] if args.key?(:folder)
1059
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1060
+ end
1061
+ end
1062
+
1063
+ # List Tags Response.
1064
+ class ListTagsResponse
1065
+ include Google::Apis::Core::Hashable
1066
+
1067
+ # Continuation token for fetching the next page of results.
1068
+ # Corresponds to the JSON property `nextPageToken`
1069
+ # @return [String]
1070
+ attr_accessor :next_page_token
1071
+
1072
+ # All GTM Tags of a GTM Container.
1073
+ # Corresponds to the JSON property `tag`
1074
+ # @return [Array<Google::Apis::TagmanagerV2::Tag>]
1075
+ attr_accessor :tag
1076
+
1077
+ def initialize(**args)
1078
+ update!(**args)
1079
+ end
1080
+
1081
+ # Update properties of this object
1082
+ def update!(**args)
1083
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1084
+ @tag = args[:tag] if args.key?(:tag)
1085
+ end
1086
+ end
1087
+
1088
+ # List triggers response.
1089
+ class ListTriggersResponse
1090
+ include Google::Apis::Core::Hashable
1091
+
1092
+ # Continuation token for fetching the next page of results.
1093
+ # Corresponds to the JSON property `nextPageToken`
1094
+ # @return [String]
1095
+ attr_accessor :next_page_token
1096
+
1097
+ # All GTM Triggers of a GTM Container.
1098
+ # Corresponds to the JSON property `trigger`
1099
+ # @return [Array<Google::Apis::TagmanagerV2::Trigger>]
1100
+ attr_accessor :trigger
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1109
+ @trigger = args[:trigger] if args.key?(:trigger)
1110
+ end
1111
+ end
1112
+
1113
+ # List user permissions response.
1114
+ class ListUserPermissionsResponse
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # Continuation token for fetching the next page of results.
1118
+ # Corresponds to the JSON property `nextPageToken`
1119
+ # @return [String]
1120
+ attr_accessor :next_page_token
1121
+
1122
+ # All GTM UserPermissions of a GTM Account.
1123
+ # Corresponds to the JSON property `userPermission`
1124
+ # @return [Array<Google::Apis::TagmanagerV2::UserPermission>]
1125
+ attr_accessor :user_permission
1126
+
1127
+ def initialize(**args)
1128
+ update!(**args)
1129
+ end
1130
+
1131
+ # Update properties of this object
1132
+ def update!(**args)
1133
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1134
+ @user_permission = args[:user_permission] if args.key?(:user_permission)
1135
+ end
1136
+ end
1137
+
1138
+ # List Variables Response.
1139
+ class ListVariablesResponse
1140
+ include Google::Apis::Core::Hashable
1141
+
1142
+ # Continuation token for fetching the next page of results.
1143
+ # Corresponds to the JSON property `nextPageToken`
1144
+ # @return [String]
1145
+ attr_accessor :next_page_token
1146
+
1147
+ # All GTM Variables of a GTM Container.
1148
+ # Corresponds to the JSON property `variable`
1149
+ # @return [Array<Google::Apis::TagmanagerV2::Variable>]
1150
+ attr_accessor :variable
1151
+
1152
+ def initialize(**args)
1153
+ update!(**args)
1154
+ end
1155
+
1156
+ # Update properties of this object
1157
+ def update!(**args)
1158
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1159
+ @variable = args[:variable] if args.key?(:variable)
1160
+ end
1161
+ end
1162
+
1163
+ # A list of workspaces in a container.
1164
+ class ListWorkspacesResponse
1165
+ include Google::Apis::Core::Hashable
1166
+
1167
+ # Continuation token for fetching the next page of results.
1168
+ # Corresponds to the JSON property `nextPageToken`
1169
+ # @return [String]
1170
+ attr_accessor :next_page_token
1171
+
1172
+ # All Workspaces of a GTM Container.
1173
+ # Corresponds to the JSON property `workspace`
1174
+ # @return [Array<Google::Apis::TagmanagerV2::Workspace>]
1175
+ attr_accessor :workspace
1176
+
1177
+ def initialize(**args)
1178
+ update!(**args)
1179
+ end
1180
+
1181
+ # Update properties of this object
1182
+ def update!(**args)
1183
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1184
+ @workspace = args[:workspace] if args.key?(:workspace)
1185
+ end
1186
+ end
1187
+
1188
+ # Represents a merge conflict.
1189
+ class MergeConflict
1190
+ include Google::Apis::Core::Hashable
1191
+
1192
+ # A workspace entity that may represent a tag, trigger, variable, or folder in
1193
+ # addition to its status in the workspace.
1194
+ # Corresponds to the JSON property `entityInBaseVersion`
1195
+ # @return [Google::Apis::TagmanagerV2::Entity]
1196
+ attr_accessor :entity_in_base_version
1197
+
1198
+ # A workspace entity that may represent a tag, trigger, variable, or folder in
1199
+ # addition to its status in the workspace.
1200
+ # Corresponds to the JSON property `entityInWorkspace`
1201
+ # @return [Google::Apis::TagmanagerV2::Entity]
1202
+ attr_accessor :entity_in_workspace
1203
+
1204
+ def initialize(**args)
1205
+ update!(**args)
1206
+ end
1207
+
1208
+ # Update properties of this object
1209
+ def update!(**args)
1210
+ @entity_in_base_version = args[:entity_in_base_version] if args.key?(:entity_in_base_version)
1211
+ @entity_in_workspace = args[:entity_in_workspace] if args.key?(:entity_in_workspace)
1212
+ end
1213
+ end
1214
+
1215
+ # Represents a Google Tag Manager Parameter.
1216
+ class Parameter
1217
+ include Google::Apis::Core::Hashable
1218
+
1219
+ # The named key that uniquely identifies a parameter. Required for top-level
1220
+ # parameters, as well as map values. Ignored for list values.
1221
+ # Corresponds to the JSON property `key`
1222
+ # @return [String]
1223
+ attr_accessor :key
1224
+
1225
+ # This list parameter's parameters (keys will be ignored).
1226
+ # Corresponds to the JSON property `list`
1227
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
1228
+ attr_accessor :list
1229
+
1230
+ # This map parameter's parameters (must have keys; keys must be unique).
1231
+ # Corresponds to the JSON property `map`
1232
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
1233
+ attr_accessor :map
1234
+
1235
+ # The parameter type. Valid values are:
1236
+ # - boolean: The value represents a boolean, represented as 'true' or 'false'
1237
+ # - integer: The value represents a 64-bit signed integer value, in base 10
1238
+ # - list: A list of parameters should be specified
1239
+ # - map: A map of parameters should be specified
1240
+ # - template: The value represents any text; this can include variable
1241
+ # references (even variable references that might return non-string types)
1242
+ # Corresponds to the JSON property `type`
1243
+ # @return [String]
1244
+ attr_accessor :type
1245
+
1246
+ # A parameter's value (may contain variable references such as "``myVariable``")
1247
+ # as appropriate to the specified type.
1248
+ # Corresponds to the JSON property `value`
1249
+ # @return [String]
1250
+ attr_accessor :value
1251
+
1252
+ def initialize(**args)
1253
+ update!(**args)
1254
+ end
1255
+
1256
+ # Update properties of this object
1257
+ def update!(**args)
1258
+ @key = args[:key] if args.key?(:key)
1259
+ @list = args[:list] if args.key?(:list)
1260
+ @map = args[:map] if args.key?(:map)
1261
+ @type = args[:type] if args.key?(:type)
1262
+ @value = args[:value] if args.key?(:value)
1263
+ end
1264
+ end
1265
+
1266
+ # Publish container version response.
1267
+ class PublishContainerVersionResponse
1268
+ include Google::Apis::Core::Hashable
1269
+
1270
+ # Compiler errors or not.
1271
+ # Corresponds to the JSON property `compilerError`
1272
+ # @return [Boolean]
1273
+ attr_accessor :compiler_error
1274
+ alias_method :compiler_error?, :compiler_error
1275
+
1276
+ # Represents a Google Tag Manager Container Version.
1277
+ # Corresponds to the JSON property `containerVersion`
1278
+ # @return [Google::Apis::TagmanagerV2::ContainerVersion]
1279
+ attr_accessor :container_version
1280
+
1281
+ def initialize(**args)
1282
+ update!(**args)
1283
+ end
1284
+
1285
+ # Update properties of this object
1286
+ def update!(**args)
1287
+ @compiler_error = args[:compiler_error] if args.key?(:compiler_error)
1288
+ @container_version = args[:container_version] if args.key?(:container_version)
1289
+ end
1290
+ end
1291
+
1292
+ # Response to quick previewing a workspace.
1293
+ class QuickPreviewResponse
1294
+ include Google::Apis::Core::Hashable
1295
+
1296
+ # Were there compiler errors or not.
1297
+ # Corresponds to the JSON property `compilerError`
1298
+ # @return [Boolean]
1299
+ attr_accessor :compiler_error
1300
+ alias_method :compiler_error?, :compiler_error
1301
+
1302
+ # Represents a Google Tag Manager Container Version.
1303
+ # Corresponds to the JSON property `containerVersion`
1304
+ # @return [Google::Apis::TagmanagerV2::ContainerVersion]
1305
+ attr_accessor :container_version
1306
+
1307
+ # The status of a workspace after synchronization.
1308
+ # Corresponds to the JSON property `syncStatus`
1309
+ # @return [Google::Apis::TagmanagerV2::SyncStatus]
1310
+ attr_accessor :sync_status
1311
+
1312
+ def initialize(**args)
1313
+ update!(**args)
1314
+ end
1315
+
1316
+ # Update properties of this object
1317
+ def update!(**args)
1318
+ @compiler_error = args[:compiler_error] if args.key?(:compiler_error)
1319
+ @container_version = args[:container_version] if args.key?(:container_version)
1320
+ @sync_status = args[:sync_status] if args.key?(:sync_status)
1321
+ end
1322
+ end
1323
+
1324
+ # The result of reverting a built-in variable in a workspace.
1325
+ class RevertBuiltInVariableResponse
1326
+ include Google::Apis::Core::Hashable
1327
+
1328
+ # Whether the built-in variable is enabled after reversion.
1329
+ # Corresponds to the JSON property `enabled`
1330
+ # @return [Boolean]
1331
+ attr_accessor :enabled
1332
+ alias_method :enabled?, :enabled
1333
+
1334
+ def initialize(**args)
1335
+ update!(**args)
1336
+ end
1337
+
1338
+ # Update properties of this object
1339
+ def update!(**args)
1340
+ @enabled = args[:enabled] if args.key?(:enabled)
1341
+ end
1342
+ end
1343
+
1344
+ # The result of reverting folder changes in a workspace.
1345
+ class RevertFolderResponse
1346
+ include Google::Apis::Core::Hashable
1347
+
1348
+ # Represents a Google Tag Manager Folder.
1349
+ # Corresponds to the JSON property `folder`
1350
+ # @return [Google::Apis::TagmanagerV2::Folder]
1351
+ attr_accessor :folder
1352
+
1353
+ def initialize(**args)
1354
+ update!(**args)
1355
+ end
1356
+
1357
+ # Update properties of this object
1358
+ def update!(**args)
1359
+ @folder = args[:folder] if args.key?(:folder)
1360
+ end
1361
+ end
1362
+
1363
+ # The result of reverting a tag in a workspace.
1364
+ class RevertTagResponse
1365
+ include Google::Apis::Core::Hashable
1366
+
1367
+ # Represents a Google Tag Manager Tag.
1368
+ # Corresponds to the JSON property `tag`
1369
+ # @return [Google::Apis::TagmanagerV2::Tag]
1370
+ attr_accessor :tag
1371
+
1372
+ def initialize(**args)
1373
+ update!(**args)
1374
+ end
1375
+
1376
+ # Update properties of this object
1377
+ def update!(**args)
1378
+ @tag = args[:tag] if args.key?(:tag)
1379
+ end
1380
+ end
1381
+
1382
+ # The result of reverting a trigger in a workspace.
1383
+ class RevertTriggerResponse
1384
+ include Google::Apis::Core::Hashable
1385
+
1386
+ # Represents a Google Tag Manager Trigger
1387
+ # Corresponds to the JSON property `trigger`
1388
+ # @return [Google::Apis::TagmanagerV2::Trigger]
1389
+ attr_accessor :trigger
1390
+
1391
+ def initialize(**args)
1392
+ update!(**args)
1393
+ end
1394
+
1395
+ # Update properties of this object
1396
+ def update!(**args)
1397
+ @trigger = args[:trigger] if args.key?(:trigger)
1398
+ end
1399
+ end
1400
+
1401
+ # The result of reverting a variable in a workspace.
1402
+ class RevertVariableResponse
1403
+ include Google::Apis::Core::Hashable
1404
+
1405
+ # Represents a Google Tag Manager Variable.
1406
+ # Corresponds to the JSON property `variable`
1407
+ # @return [Google::Apis::TagmanagerV2::Variable]
1408
+ attr_accessor :variable
1409
+
1410
+ def initialize(**args)
1411
+ update!(**args)
1412
+ end
1413
+
1414
+ # Update properties of this object
1415
+ def update!(**args)
1416
+ @variable = args[:variable] if args.key?(:variable)
1417
+ end
1418
+ end
1419
+
1420
+ # Represents a reference to atag that fires before another tag in order to set
1421
+ # up dependencies.
1422
+ class SetupTag
1423
+ include Google::Apis::Core::Hashable
1424
+
1425
+ # If true, fire the main tag if and only if the setup tag fires successfully. If
1426
+ # false, fire the main tag regardless of setup tag firing status.
1427
+ # Corresponds to the JSON property `stopOnSetupFailure`
1428
+ # @return [Boolean]
1429
+ attr_accessor :stop_on_setup_failure
1430
+ alias_method :stop_on_setup_failure?, :stop_on_setup_failure
1431
+
1432
+ # The name of the setup tag.
1433
+ # Corresponds to the JSON property `tagName`
1434
+ # @return [String]
1435
+ attr_accessor :tag_name
1436
+
1437
+ def initialize(**args)
1438
+ update!(**args)
1439
+ end
1440
+
1441
+ # Update properties of this object
1442
+ def update!(**args)
1443
+ @stop_on_setup_failure = args[:stop_on_setup_failure] if args.key?(:stop_on_setup_failure)
1444
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
1445
+ end
1446
+ end
1447
+
1448
+ # The status of a workspace after synchronization.
1449
+ class SyncStatus
1450
+ include Google::Apis::Core::Hashable
1451
+
1452
+ # Synchornization operation detected a merge conflict.
1453
+ # Corresponds to the JSON property `mergeConflict`
1454
+ # @return [Boolean]
1455
+ attr_accessor :merge_conflict
1456
+ alias_method :merge_conflict?, :merge_conflict
1457
+
1458
+ # An error occurred during the synchronization operation.
1459
+ # Corresponds to the JSON property `syncError`
1460
+ # @return [Boolean]
1461
+ attr_accessor :sync_error
1462
+ alias_method :sync_error?, :sync_error
1463
+
1464
+ def initialize(**args)
1465
+ update!(**args)
1466
+ end
1467
+
1468
+ # Update properties of this object
1469
+ def update!(**args)
1470
+ @merge_conflict = args[:merge_conflict] if args.key?(:merge_conflict)
1471
+ @sync_error = args[:sync_error] if args.key?(:sync_error)
1472
+ end
1473
+ end
1474
+
1475
+ # A response after synchronizing the workspace to the latest container version.
1476
+ class SyncWorkspaceResponse
1477
+ include Google::Apis::Core::Hashable
1478
+
1479
+ # The merge conflict after sync. If this field is not empty, the sync is still
1480
+ # treated as successful. But a version cannot be created until all conflicts are
1481
+ # resolved.
1482
+ # Corresponds to the JSON property `mergeConflict`
1483
+ # @return [Array<Google::Apis::TagmanagerV2::MergeConflict>]
1484
+ attr_accessor :merge_conflict
1485
+
1486
+ # The status of a workspace after synchronization.
1487
+ # Corresponds to the JSON property `syncStatus`
1488
+ # @return [Google::Apis::TagmanagerV2::SyncStatus]
1489
+ attr_accessor :sync_status
1490
+
1491
+ def initialize(**args)
1492
+ update!(**args)
1493
+ end
1494
+
1495
+ # Update properties of this object
1496
+ def update!(**args)
1497
+ @merge_conflict = args[:merge_conflict] if args.key?(:merge_conflict)
1498
+ @sync_status = args[:sync_status] if args.key?(:sync_status)
1499
+ end
1500
+ end
1501
+
1502
+ # Represents a Google Tag Manager Tag.
1503
+ class Tag
1504
+ include Google::Apis::Core::Hashable
1505
+
1506
+ # GTM Account ID.
1507
+ # Corresponds to the JSON property `accountId`
1508
+ # @return [String]
1509
+ attr_accessor :account_id
1510
+
1511
+ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will
1512
+ # not fire.
1513
+ # Corresponds to the JSON property `blockingRuleId`
1514
+ # @return [Array<String>]
1515
+ attr_accessor :blocking_rule_id
1516
+
1517
+ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag
1518
+ # will not fire.
1519
+ # Corresponds to the JSON property `blockingTriggerId`
1520
+ # @return [Array<String>]
1521
+ attr_accessor :blocking_trigger_id
1522
+
1523
+ # GTM Container ID.
1524
+ # Corresponds to the JSON property `containerId`
1525
+ # @return [String]
1526
+ attr_accessor :container_id
1527
+
1528
+ # The fingerprint of the GTM Tag as computed at storage time. This value is
1529
+ # recomputed whenever the tag is modified.
1530
+ # Corresponds to the JSON property `fingerprint`
1531
+ # @return [String]
1532
+ attr_accessor :fingerprint
1533
+
1534
+ # Firing rule IDs. A tag will fire when any of the listed rules are true and all
1535
+ # of its blockingRuleIds (if any specified) are false.
1536
+ # Corresponds to the JSON property `firingRuleId`
1537
+ # @return [Array<String>]
1538
+ attr_accessor :firing_rule_id
1539
+
1540
+ # Firing trigger IDs. A tag will fire when any of the listed triggers are true
1541
+ # and all of its blockingTriggerIds (if any specified) are false.
1542
+ # Corresponds to the JSON property `firingTriggerId`
1543
+ # @return [Array<String>]
1544
+ attr_accessor :firing_trigger_id
1545
+
1546
+ # If set to true, this tag will only fire in the live environment (e.g. not in
1547
+ # preview or debug mode).
1548
+ # Corresponds to the JSON property `liveOnly`
1549
+ # @return [Boolean]
1550
+ attr_accessor :live_only
1551
+ alias_method :live_only?, :live_only
1552
+
1553
+ # Tag display name.
1554
+ # Corresponds to the JSON property `name`
1555
+ # @return [String]
1556
+ attr_accessor :name
1557
+
1558
+ # User notes on how to apply this tag in the container.
1559
+ # Corresponds to the JSON property `notes`
1560
+ # @return [String]
1561
+ attr_accessor :notes
1562
+
1563
+ # The tag's parameters.
1564
+ # Corresponds to the JSON property `parameter`
1565
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
1566
+ attr_accessor :parameter
1567
+
1568
+ # Parent folder id.
1569
+ # Corresponds to the JSON property `parentFolderId`
1570
+ # @return [String]
1571
+ attr_accessor :parent_folder_id
1572
+
1573
+ # GTM Tag's API relative path.
1574
+ # Corresponds to the JSON property `path`
1575
+ # @return [String]
1576
+ attr_accessor :path
1577
+
1578
+ # Represents a Google Tag Manager Parameter.
1579
+ # Corresponds to the JSON property `priority`
1580
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1581
+ attr_accessor :priority
1582
+
1583
+ # The end timestamp in milliseconds to schedule a tag.
1584
+ # Corresponds to the JSON property `scheduleEndMs`
1585
+ # @return [String]
1586
+ attr_accessor :schedule_end_ms
1587
+
1588
+ # The start timestamp in milliseconds to schedule a tag.
1589
+ # Corresponds to the JSON property `scheduleStartMs`
1590
+ # @return [String]
1591
+ attr_accessor :schedule_start_ms
1592
+
1593
+ # The list of setup tags. Currently we only allow one.
1594
+ # Corresponds to the JSON property `setupTag`
1595
+ # @return [Array<Google::Apis::TagmanagerV2::SetupTag>]
1596
+ attr_accessor :setup_tag
1597
+
1598
+ # Option to fire this tag.
1599
+ # Corresponds to the JSON property `tagFiringOption`
1600
+ # @return [String]
1601
+ attr_accessor :tag_firing_option
1602
+
1603
+ # The Tag ID uniquely identifies the GTM Tag.
1604
+ # Corresponds to the JSON property `tagId`
1605
+ # @return [String]
1606
+ attr_accessor :tag_id
1607
+
1608
+ # Auto generated link to the tag manager UI
1609
+ # Corresponds to the JSON property `tagManagerUrl`
1610
+ # @return [String]
1611
+ attr_accessor :tag_manager_url
1612
+
1613
+ # The list of teardown tags. Currently we only allow one.
1614
+ # Corresponds to the JSON property `teardownTag`
1615
+ # @return [Array<Google::Apis::TagmanagerV2::TeardownTag>]
1616
+ attr_accessor :teardown_tag
1617
+
1618
+ # GTM Tag Type.
1619
+ # Corresponds to the JSON property `type`
1620
+ # @return [String]
1621
+ attr_accessor :type
1622
+
1623
+ # GTM Workspace ID.
1624
+ # Corresponds to the JSON property `workspaceId`
1625
+ # @return [String]
1626
+ attr_accessor :workspace_id
1627
+
1628
+ def initialize(**args)
1629
+ update!(**args)
1630
+ end
1631
+
1632
+ # Update properties of this object
1633
+ def update!(**args)
1634
+ @account_id = args[:account_id] if args.key?(:account_id)
1635
+ @blocking_rule_id = args[:blocking_rule_id] if args.key?(:blocking_rule_id)
1636
+ @blocking_trigger_id = args[:blocking_trigger_id] if args.key?(:blocking_trigger_id)
1637
+ @container_id = args[:container_id] if args.key?(:container_id)
1638
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
1639
+ @firing_rule_id = args[:firing_rule_id] if args.key?(:firing_rule_id)
1640
+ @firing_trigger_id = args[:firing_trigger_id] if args.key?(:firing_trigger_id)
1641
+ @live_only = args[:live_only] if args.key?(:live_only)
1642
+ @name = args[:name] if args.key?(:name)
1643
+ @notes = args[:notes] if args.key?(:notes)
1644
+ @parameter = args[:parameter] if args.key?(:parameter)
1645
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
1646
+ @path = args[:path] if args.key?(:path)
1647
+ @priority = args[:priority] if args.key?(:priority)
1648
+ @schedule_end_ms = args[:schedule_end_ms] if args.key?(:schedule_end_ms)
1649
+ @schedule_start_ms = args[:schedule_start_ms] if args.key?(:schedule_start_ms)
1650
+ @setup_tag = args[:setup_tag] if args.key?(:setup_tag)
1651
+ @tag_firing_option = args[:tag_firing_option] if args.key?(:tag_firing_option)
1652
+ @tag_id = args[:tag_id] if args.key?(:tag_id)
1653
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
1654
+ @teardown_tag = args[:teardown_tag] if args.key?(:teardown_tag)
1655
+ @type = args[:type] if args.key?(:type)
1656
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
1657
+ end
1658
+ end
1659
+
1660
+ # Represents a tag that fires after another tag in order to tear down
1661
+ # dependencies.
1662
+ class TeardownTag
1663
+ include Google::Apis::Core::Hashable
1664
+
1665
+ # If true, fire the teardown tag if and only if the main tag fires successfully.
1666
+ # If false, fire the teardown tag regardless of main tag firing status.
1667
+ # Corresponds to the JSON property `stopTeardownOnFailure`
1668
+ # @return [Boolean]
1669
+ attr_accessor :stop_teardown_on_failure
1670
+ alias_method :stop_teardown_on_failure?, :stop_teardown_on_failure
1671
+
1672
+ # The name of the teardown tag.
1673
+ # Corresponds to the JSON property `tagName`
1674
+ # @return [String]
1675
+ attr_accessor :tag_name
1676
+
1677
+ def initialize(**args)
1678
+ update!(**args)
1679
+ end
1680
+
1681
+ # Update properties of this object
1682
+ def update!(**args)
1683
+ @stop_teardown_on_failure = args[:stop_teardown_on_failure] if args.key?(:stop_teardown_on_failure)
1684
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
1685
+ end
1686
+ end
1687
+
1688
+ # A Timestamp represents a point in time independent of any time zone or
1689
+ # calendar, represented as seconds and fractions of seconds at nanosecond
1690
+ # resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian
1691
+ # Calendar which extends the Gregorian calendar backwards to year one. It is
1692
+ # encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "
1693
+ # smeared" so that no leap second table is needed for interpretation. Range is
1694
+ # from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to
1695
+ # that range, we ensure that we can convert to and from RFC 3339 date strings.
1696
+ # See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.
1697
+ # txt).
1698
+ # # Examples
1699
+ # Example 1: Compute Timestamp from POSIX `time()`.
1700
+ # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
1701
+ # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
1702
+ # struct timeval tv; gettimeofday(&tv, NULL);
1703
+ # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.
1704
+ # tv_usec * 1000);
1705
+ # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
1706
+ # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.
1707
+ # dwHighDateTime) << 32) | ft.dwLowDateTime;
1708
+ # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is
1709
+ # 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp
1710
+ # timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
1711
+ # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
1712
+ # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
1713
+ # long millis = System.currentTimeMillis();
1714
+ # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .
1715
+ # setNanos((int) ((millis % 1000) * 1000000)).build();
1716
+ # Example 5: Compute Timestamp from current time in Python.
1717
+ # timestamp = Timestamp() timestamp.GetCurrentTime()
1718
+ # # JSON Mapping
1719
+ # In JSON format, the Timestamp type is encoded as a string in the [RFC 3339](
1720
+ # https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is "`year`-`
1721
+ # month`-`day`T`hour`:`min`:`sec`[.`frac_sec`]Z" where `year` is always
1722
+ # expressed using four digits while `month`, `day`, `hour`, `min`, and `sec` are
1723
+ # zero-padded to two digits each. The fractional seconds, which can go up to 9
1724
+ # digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix
1725
+ # indicates the timezone ("UTC"); the timezone is required, though only UTC (as
1726
+ # indicated by "Z") is presently supported.
1727
+ # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on
1728
+ # January 15, 2017.
1729
+ # In JavaScript, one can convert a Date object to this format using the standard
1730
+ # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/
1731
+ # Reference/Global_Objects/Date/toISOString] method. In Python, a standard `
1732
+ # datetime.datetime` object can be converted to this format using [`strftime`](
1733
+ # https://docs.python.org/2/library/time.html#time.strftime) with the time
1734
+ # format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda
1735
+ # Time's [`ISODateTimeFormat.dateTime()`]( http://joda-time.sourceforge.net/
1736
+ # apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) to obtain a
1737
+ # formatter capable of generating timestamps in this format.
1738
+ class Timestamp
1739
+ include Google::Apis::Core::Hashable
1740
+
1741
+ # Non-negative fractions of a second at nanosecond resolution. Negative second
1742
+ # values with fractions must still have non-negative nanos values that count
1743
+ # forward in time. Must be from 0 to 999,999,999 inclusive.
1744
+ # Corresponds to the JSON property `nanos`
1745
+ # @return [Fixnum]
1746
+ attr_accessor :nanos
1747
+
1748
+ # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be
1749
+ # from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
1750
+ # Corresponds to the JSON property `seconds`
1751
+ # @return [String]
1752
+ attr_accessor :seconds
1753
+
1754
+ def initialize(**args)
1755
+ update!(**args)
1756
+ end
1757
+
1758
+ # Update properties of this object
1759
+ def update!(**args)
1760
+ @nanos = args[:nanos] if args.key?(:nanos)
1761
+ @seconds = args[:seconds] if args.key?(:seconds)
1762
+ end
1763
+ end
1764
+
1765
+ # Represents a Google Tag Manager Trigger
1766
+ class Trigger
1767
+ include Google::Apis::Core::Hashable
1768
+
1769
+ # GTM Account ID.
1770
+ # Corresponds to the JSON property `accountId`
1771
+ # @return [String]
1772
+ attr_accessor :account_id
1773
+
1774
+ # Used in the case of auto event tracking.
1775
+ # Corresponds to the JSON property `autoEventFilter`
1776
+ # @return [Array<Google::Apis::TagmanagerV2::Condition>]
1777
+ attr_accessor :auto_event_filter
1778
+
1779
+ # Represents a Google Tag Manager Parameter.
1780
+ # Corresponds to the JSON property `checkValidation`
1781
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1782
+ attr_accessor :check_validation
1783
+
1784
+ # GTM Container ID.
1785
+ # Corresponds to the JSON property `containerId`
1786
+ # @return [String]
1787
+ attr_accessor :container_id
1788
+
1789
+ # Represents a Google Tag Manager Parameter.
1790
+ # Corresponds to the JSON property `continuousTimeMinMilliseconds`
1791
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1792
+ attr_accessor :continuous_time_min_milliseconds
1793
+
1794
+ # Used in the case of custom event, which is fired iff all Conditions are true.
1795
+ # Corresponds to the JSON property `customEventFilter`
1796
+ # @return [Array<Google::Apis::TagmanagerV2::Condition>]
1797
+ attr_accessor :custom_event_filter
1798
+
1799
+ # Represents a Google Tag Manager Parameter.
1800
+ # Corresponds to the JSON property `eventName`
1801
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1802
+ attr_accessor :event_name
1803
+
1804
+ # The trigger will only fire iff all Conditions are true.
1805
+ # Corresponds to the JSON property `filter`
1806
+ # @return [Array<Google::Apis::TagmanagerV2::Condition>]
1807
+ attr_accessor :filter
1808
+
1809
+ # The fingerprint of the GTM Trigger as computed at storage time. This value is
1810
+ # recomputed whenever the trigger is modified.
1811
+ # Corresponds to the JSON property `fingerprint`
1812
+ # @return [String]
1813
+ attr_accessor :fingerprint
1814
+
1815
+ # Represents a Google Tag Manager Parameter.
1816
+ # Corresponds to the JSON property `horizontalScrollPercentageList`
1817
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1818
+ attr_accessor :horizontal_scroll_percentage_list
1819
+
1820
+ # Represents a Google Tag Manager Parameter.
1821
+ # Corresponds to the JSON property `interval`
1822
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1823
+ attr_accessor :interval
1824
+
1825
+ # Represents a Google Tag Manager Parameter.
1826
+ # Corresponds to the JSON property `intervalSeconds`
1827
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1828
+ attr_accessor :interval_seconds
1829
+
1830
+ # Represents a Google Tag Manager Parameter.
1831
+ # Corresponds to the JSON property `limit`
1832
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1833
+ attr_accessor :limit
1834
+
1835
+ # Represents a Google Tag Manager Parameter.
1836
+ # Corresponds to the JSON property `maxTimerLengthSeconds`
1837
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1838
+ attr_accessor :max_timer_length_seconds
1839
+
1840
+ # Trigger display name.
1841
+ # Corresponds to the JSON property `name`
1842
+ # @return [String]
1843
+ attr_accessor :name
1844
+
1845
+ # User notes on how to apply this trigger in the container.
1846
+ # Corresponds to the JSON property `notes`
1847
+ # @return [String]
1848
+ attr_accessor :notes
1849
+
1850
+ # Parent folder id.
1851
+ # Corresponds to the JSON property `parentFolderId`
1852
+ # @return [String]
1853
+ attr_accessor :parent_folder_id
1854
+
1855
+ # GTM Trigger's API relative path.
1856
+ # Corresponds to the JSON property `path`
1857
+ # @return [String]
1858
+ attr_accessor :path
1859
+
1860
+ # Represents a Google Tag Manager Parameter.
1861
+ # Corresponds to the JSON property `selector`
1862
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1863
+ attr_accessor :selector
1864
+
1865
+ # Auto generated link to the tag manager UI
1866
+ # Corresponds to the JSON property `tagManagerUrl`
1867
+ # @return [String]
1868
+ attr_accessor :tag_manager_url
1869
+
1870
+ # Represents a Google Tag Manager Parameter.
1871
+ # Corresponds to the JSON property `totalTimeMinMilliseconds`
1872
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1873
+ attr_accessor :total_time_min_milliseconds
1874
+
1875
+ # The Trigger ID uniquely identifies the GTM Trigger.
1876
+ # Corresponds to the JSON property `triggerId`
1877
+ # @return [String]
1878
+ attr_accessor :trigger_id
1879
+
1880
+ # Defines the data layer event that causes this trigger.
1881
+ # Corresponds to the JSON property `type`
1882
+ # @return [String]
1883
+ attr_accessor :type
1884
+
1885
+ # Represents a Google Tag Manager Parameter.
1886
+ # Corresponds to the JSON property `uniqueTriggerId`
1887
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1888
+ attr_accessor :unique_trigger_id
1889
+
1890
+ # Represents a Google Tag Manager Parameter.
1891
+ # Corresponds to the JSON property `verticalScrollPercentageList`
1892
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1893
+ attr_accessor :vertical_scroll_percentage_list
1894
+
1895
+ # Represents a Google Tag Manager Parameter.
1896
+ # Corresponds to the JSON property `visibilitySelector`
1897
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1898
+ attr_accessor :visibility_selector
1899
+
1900
+ # Represents a Google Tag Manager Parameter.
1901
+ # Corresponds to the JSON property `visiblePercentageMax`
1902
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1903
+ attr_accessor :visible_percentage_max
1904
+
1905
+ # Represents a Google Tag Manager Parameter.
1906
+ # Corresponds to the JSON property `visiblePercentageMin`
1907
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1908
+ attr_accessor :visible_percentage_min
1909
+
1910
+ # Represents a Google Tag Manager Parameter.
1911
+ # Corresponds to the JSON property `waitForTags`
1912
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1913
+ attr_accessor :wait_for_tags
1914
+
1915
+ # Represents a Google Tag Manager Parameter.
1916
+ # Corresponds to the JSON property `waitForTagsTimeout`
1917
+ # @return [Google::Apis::TagmanagerV2::Parameter]
1918
+ attr_accessor :wait_for_tags_timeout
1919
+
1920
+ # GTM Workspace ID.
1921
+ # Corresponds to the JSON property `workspaceId`
1922
+ # @return [String]
1923
+ attr_accessor :workspace_id
1924
+
1925
+ def initialize(**args)
1926
+ update!(**args)
1927
+ end
1928
+
1929
+ # Update properties of this object
1930
+ def update!(**args)
1931
+ @account_id = args[:account_id] if args.key?(:account_id)
1932
+ @auto_event_filter = args[:auto_event_filter] if args.key?(:auto_event_filter)
1933
+ @check_validation = args[:check_validation] if args.key?(:check_validation)
1934
+ @container_id = args[:container_id] if args.key?(:container_id)
1935
+ @continuous_time_min_milliseconds = args[:continuous_time_min_milliseconds] if args.key?(:continuous_time_min_milliseconds)
1936
+ @custom_event_filter = args[:custom_event_filter] if args.key?(:custom_event_filter)
1937
+ @event_name = args[:event_name] if args.key?(:event_name)
1938
+ @filter = args[:filter] if args.key?(:filter)
1939
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
1940
+ @horizontal_scroll_percentage_list = args[:horizontal_scroll_percentage_list] if args.key?(:horizontal_scroll_percentage_list)
1941
+ @interval = args[:interval] if args.key?(:interval)
1942
+ @interval_seconds = args[:interval_seconds] if args.key?(:interval_seconds)
1943
+ @limit = args[:limit] if args.key?(:limit)
1944
+ @max_timer_length_seconds = args[:max_timer_length_seconds] if args.key?(:max_timer_length_seconds)
1945
+ @name = args[:name] if args.key?(:name)
1946
+ @notes = args[:notes] if args.key?(:notes)
1947
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
1948
+ @path = args[:path] if args.key?(:path)
1949
+ @selector = args[:selector] if args.key?(:selector)
1950
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
1951
+ @total_time_min_milliseconds = args[:total_time_min_milliseconds] if args.key?(:total_time_min_milliseconds)
1952
+ @trigger_id = args[:trigger_id] if args.key?(:trigger_id)
1953
+ @type = args[:type] if args.key?(:type)
1954
+ @unique_trigger_id = args[:unique_trigger_id] if args.key?(:unique_trigger_id)
1955
+ @vertical_scroll_percentage_list = args[:vertical_scroll_percentage_list] if args.key?(:vertical_scroll_percentage_list)
1956
+ @visibility_selector = args[:visibility_selector] if args.key?(:visibility_selector)
1957
+ @visible_percentage_max = args[:visible_percentage_max] if args.key?(:visible_percentage_max)
1958
+ @visible_percentage_min = args[:visible_percentage_min] if args.key?(:visible_percentage_min)
1959
+ @wait_for_tags = args[:wait_for_tags] if args.key?(:wait_for_tags)
1960
+ @wait_for_tags_timeout = args[:wait_for_tags_timeout] if args.key?(:wait_for_tags_timeout)
1961
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
1962
+ end
1963
+ end
1964
+
1965
+ # Updates a workspace proposal with patch-like semantics.
1966
+ class UpdateWorkspaceProposalRequest
1967
+ include Google::Apis::Core::Hashable
1968
+
1969
+ # When provided, this fingerprint must match the fingerprint of the proposal in
1970
+ # storage.
1971
+ # Corresponds to the JSON property `fingerprint`
1972
+ # @return [String]
1973
+ attr_accessor :fingerprint
1974
+
1975
+ # A comment from the reviewer or author.
1976
+ # Corresponds to the JSON property `newComment`
1977
+ # @return [Google::Apis::TagmanagerV2::WorkspaceProposalHistoryComment]
1978
+ attr_accessor :new_comment
1979
+
1980
+ # If present, the list of reviewers of the workspace proposal is updated.
1981
+ # Corresponds to the JSON property `reviewers`
1982
+ # @return [Array<Google::Apis::TagmanagerV2::WorkspaceProposalUser>]
1983
+ attr_accessor :reviewers
1984
+
1985
+ # If present, the status of the workspace proposal is updated.
1986
+ # Corresponds to the JSON property `status`
1987
+ # @return [String]
1988
+ attr_accessor :status
1989
+
1990
+ def initialize(**args)
1991
+ update!(**args)
1992
+ end
1993
+
1994
+ # Update properties of this object
1995
+ def update!(**args)
1996
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
1997
+ @new_comment = args[:new_comment] if args.key?(:new_comment)
1998
+ @reviewers = args[:reviewers] if args.key?(:reviewers)
1999
+ @status = args[:status] if args.key?(:status)
2000
+ end
2001
+ end
2002
+
2003
+ # Represents a user's permissions to an account and its container.
2004
+ class UserPermission
2005
+ include Google::Apis::Core::Hashable
2006
+
2007
+ # Defines the Google Tag Manager Account access permissions.
2008
+ # Corresponds to the JSON property `accountAccess`
2009
+ # @return [Google::Apis::TagmanagerV2::AccountAccess]
2010
+ attr_accessor :account_access
2011
+
2012
+ # The Account ID uniquely identifies the GTM Account.
2013
+ # Corresponds to the JSON property `accountId`
2014
+ # @return [String]
2015
+ attr_accessor :account_id
2016
+
2017
+ # GTM Container access permissions.
2018
+ # Corresponds to the JSON property `containerAccess`
2019
+ # @return [Array<Google::Apis::TagmanagerV2::ContainerAccess>]
2020
+ attr_accessor :container_access
2021
+
2022
+ # User's email address.
2023
+ # Corresponds to the JSON property `emailAddress`
2024
+ # @return [String]
2025
+ attr_accessor :email_address
2026
+
2027
+ # GTM UserPermission's API relative path.
2028
+ # Corresponds to the JSON property `path`
2029
+ # @return [String]
2030
+ attr_accessor :path
2031
+
2032
+ def initialize(**args)
2033
+ update!(**args)
2034
+ end
2035
+
2036
+ # Update properties of this object
2037
+ def update!(**args)
2038
+ @account_access = args[:account_access] if args.key?(:account_access)
2039
+ @account_id = args[:account_id] if args.key?(:account_id)
2040
+ @container_access = args[:container_access] if args.key?(:container_access)
2041
+ @email_address = args[:email_address] if args.key?(:email_address)
2042
+ @path = args[:path] if args.key?(:path)
2043
+ end
2044
+ end
2045
+
2046
+ # Represents a Google Tag Manager Variable.
2047
+ class Variable
2048
+ include Google::Apis::Core::Hashable
2049
+
2050
+ # GTM Account ID.
2051
+ # Corresponds to the JSON property `accountId`
2052
+ # @return [String]
2053
+ attr_accessor :account_id
2054
+
2055
+ # GTM Container ID.
2056
+ # Corresponds to the JSON property `containerId`
2057
+ # @return [String]
2058
+ attr_accessor :container_id
2059
+
2060
+ # For mobile containers only: A list of trigger IDs for disabling conditional
2061
+ # variables; the variable is enabled if one of the enabling trigger is true
2062
+ # while all the disabling trigger are false. Treated as an unordered set.
2063
+ # Corresponds to the JSON property `disablingTriggerId`
2064
+ # @return [Array<String>]
2065
+ attr_accessor :disabling_trigger_id
2066
+
2067
+ # For mobile containers only: A list of trigger IDs for enabling conditional
2068
+ # variables; the variable is enabled if one of the enabling triggers is true
2069
+ # while all the disabling triggers are false. Treated as an unordered set.
2070
+ # Corresponds to the JSON property `enablingTriggerId`
2071
+ # @return [Array<String>]
2072
+ attr_accessor :enabling_trigger_id
2073
+
2074
+ # The fingerprint of the GTM Variable as computed at storage time. This value is
2075
+ # recomputed whenever the variable is modified.
2076
+ # Corresponds to the JSON property `fingerprint`
2077
+ # @return [String]
2078
+ attr_accessor :fingerprint
2079
+
2080
+ # Variable display name.
2081
+ # Corresponds to the JSON property `name`
2082
+ # @return [String]
2083
+ attr_accessor :name
2084
+
2085
+ # User notes on how to apply this variable in the container.
2086
+ # Corresponds to the JSON property `notes`
2087
+ # @return [String]
2088
+ attr_accessor :notes
2089
+
2090
+ # The variable's parameters.
2091
+ # Corresponds to the JSON property `parameter`
2092
+ # @return [Array<Google::Apis::TagmanagerV2::Parameter>]
2093
+ attr_accessor :parameter
2094
+
2095
+ # Parent folder id.
2096
+ # Corresponds to the JSON property `parentFolderId`
2097
+ # @return [String]
2098
+ attr_accessor :parent_folder_id
2099
+
2100
+ # GTM Variable's API relative path.
2101
+ # Corresponds to the JSON property `path`
2102
+ # @return [String]
2103
+ attr_accessor :path
2104
+
2105
+ # The end timestamp in milliseconds to schedule a variable.
2106
+ # Corresponds to the JSON property `scheduleEndMs`
2107
+ # @return [String]
2108
+ attr_accessor :schedule_end_ms
2109
+
2110
+ # The start timestamp in milliseconds to schedule a variable.
2111
+ # Corresponds to the JSON property `scheduleStartMs`
2112
+ # @return [String]
2113
+ attr_accessor :schedule_start_ms
2114
+
2115
+ # Auto generated link to the tag manager UI
2116
+ # Corresponds to the JSON property `tagManagerUrl`
2117
+ # @return [String]
2118
+ attr_accessor :tag_manager_url
2119
+
2120
+ # GTM Variable Type.
2121
+ # Corresponds to the JSON property `type`
2122
+ # @return [String]
2123
+ attr_accessor :type
2124
+
2125
+ # The Variable ID uniquely identifies the GTM Variable.
2126
+ # Corresponds to the JSON property `variableId`
2127
+ # @return [String]
2128
+ attr_accessor :variable_id
2129
+
2130
+ # GTM Workspace ID.
2131
+ # Corresponds to the JSON property `workspaceId`
2132
+ # @return [String]
2133
+ attr_accessor :workspace_id
2134
+
2135
+ def initialize(**args)
2136
+ update!(**args)
2137
+ end
2138
+
2139
+ # Update properties of this object
2140
+ def update!(**args)
2141
+ @account_id = args[:account_id] if args.key?(:account_id)
2142
+ @container_id = args[:container_id] if args.key?(:container_id)
2143
+ @disabling_trigger_id = args[:disabling_trigger_id] if args.key?(:disabling_trigger_id)
2144
+ @enabling_trigger_id = args[:enabling_trigger_id] if args.key?(:enabling_trigger_id)
2145
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2146
+ @name = args[:name] if args.key?(:name)
2147
+ @notes = args[:notes] if args.key?(:notes)
2148
+ @parameter = args[:parameter] if args.key?(:parameter)
2149
+ @parent_folder_id = args[:parent_folder_id] if args.key?(:parent_folder_id)
2150
+ @path = args[:path] if args.key?(:path)
2151
+ @schedule_end_ms = args[:schedule_end_ms] if args.key?(:schedule_end_ms)
2152
+ @schedule_start_ms = args[:schedule_start_ms] if args.key?(:schedule_start_ms)
2153
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
2154
+ @type = args[:type] if args.key?(:type)
2155
+ @variable_id = args[:variable_id] if args.key?(:variable_id)
2156
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
2157
+ end
2158
+ end
2159
+
2160
+ # Represents a Google Tag Manager Container Workspace.
2161
+ class Workspace
2162
+ include Google::Apis::Core::Hashable
2163
+
2164
+ # GTM Account ID.
2165
+ # Corresponds to the JSON property `accountId`
2166
+ # @return [String]
2167
+ attr_accessor :account_id
2168
+
2169
+ # GTM Container ID.
2170
+ # Corresponds to the JSON property `containerId`
2171
+ # @return [String]
2172
+ attr_accessor :container_id
2173
+
2174
+ # Workspace description.
2175
+ # Corresponds to the JSON property `description`
2176
+ # @return [String]
2177
+ attr_accessor :description
2178
+
2179
+ # The fingerprint of the GTM Workspace as computed at storage time. This value
2180
+ # is recomputed whenever the workspace is modified.
2181
+ # Corresponds to the JSON property `fingerprint`
2182
+ # @return [String]
2183
+ attr_accessor :fingerprint
2184
+
2185
+ # Workspace display name.
2186
+ # Corresponds to the JSON property `name`
2187
+ # @return [String]
2188
+ attr_accessor :name
2189
+
2190
+ # GTM Workspace's API relative path.
2191
+ # Corresponds to the JSON property `path`
2192
+ # @return [String]
2193
+ attr_accessor :path
2194
+
2195
+ # Auto generated link to the tag manager UI
2196
+ # Corresponds to the JSON property `tagManagerUrl`
2197
+ # @return [String]
2198
+ attr_accessor :tag_manager_url
2199
+
2200
+ # The Workspace ID uniquely identifies the GTM Workspace.
2201
+ # Corresponds to the JSON property `workspaceId`
2202
+ # @return [String]
2203
+ attr_accessor :workspace_id
2204
+
2205
+ def initialize(**args)
2206
+ update!(**args)
2207
+ end
2208
+
2209
+ # Update properties of this object
2210
+ def update!(**args)
2211
+ @account_id = args[:account_id] if args.key?(:account_id)
2212
+ @container_id = args[:container_id] if args.key?(:container_id)
2213
+ @description = args[:description] if args.key?(:description)
2214
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2215
+ @name = args[:name] if args.key?(:name)
2216
+ @path = args[:path] if args.key?(:path)
2217
+ @tag_manager_url = args[:tag_manager_url] if args.key?(:tag_manager_url)
2218
+ @workspace_id = args[:workspace_id] if args.key?(:workspace_id)
2219
+ end
2220
+ end
2221
+
2222
+ # A workspace proposal represents an ongoing review of workspace changes in an
2223
+ # effort to gain approval for container version creation.
2224
+ class WorkspaceProposal
2225
+ include Google::Apis::Core::Hashable
2226
+
2227
+ # List of authors for the workspace proposal.
2228
+ # Corresponds to the JSON property `authors`
2229
+ # @return [Array<Google::Apis::TagmanagerV2::WorkspaceProposalUser>]
2230
+ attr_accessor :authors
2231
+
2232
+ # The fingerprint of the GTM workspace proposal as computed at storage time.
2233
+ # This value is recomputed whenever the proposal is modified.
2234
+ # Corresponds to the JSON property `fingerprint`
2235
+ # @return [String]
2236
+ attr_accessor :fingerprint
2237
+
2238
+ # Records the history of comments and status changes.
2239
+ # Corresponds to the JSON property `history`
2240
+ # @return [Array<Google::Apis::TagmanagerV2::WorkspaceProposalHistory>]
2241
+ attr_accessor :history
2242
+
2243
+ # GTM workspace proposal's relative path.
2244
+ # Corresponds to the JSON property `path`
2245
+ # @return [String]
2246
+ attr_accessor :path
2247
+
2248
+ # Lists of reviewers for the workspace proposal.
2249
+ # Corresponds to the JSON property `reviewers`
2250
+ # @return [Array<Google::Apis::TagmanagerV2::WorkspaceProposalUser>]
2251
+ attr_accessor :reviewers
2252
+
2253
+ # The status of the workspace proposal as it goes through review.
2254
+ # Corresponds to the JSON property `status`
2255
+ # @return [String]
2256
+ attr_accessor :status
2257
+
2258
+ def initialize(**args)
2259
+ update!(**args)
2260
+ end
2261
+
2262
+ # Update properties of this object
2263
+ def update!(**args)
2264
+ @authors = args[:authors] if args.key?(:authors)
2265
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2266
+ @history = args[:history] if args.key?(:history)
2267
+ @path = args[:path] if args.key?(:path)
2268
+ @reviewers = args[:reviewers] if args.key?(:reviewers)
2269
+ @status = args[:status] if args.key?(:status)
2270
+ end
2271
+ end
2272
+
2273
+ # A history event that represents a comment or status change in the proposal.
2274
+ class WorkspaceProposalHistory
2275
+ include Google::Apis::Core::Hashable
2276
+
2277
+ # A comment from the reviewer or author.
2278
+ # Corresponds to the JSON property `comment`
2279
+ # @return [Google::Apis::TagmanagerV2::WorkspaceProposalHistoryComment]
2280
+ attr_accessor :comment
2281
+
2282
+ # Represents an external user or internal Google Tag Manager system.
2283
+ # Corresponds to the JSON property `createdBy`
2284
+ # @return [Google::Apis::TagmanagerV2::WorkspaceProposalUser]
2285
+ attr_accessor :created_by
2286
+
2287
+ # A Timestamp represents a point in time independent of any time zone or
2288
+ # calendar, represented as seconds and fractions of seconds at nanosecond
2289
+ # resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian
2290
+ # Calendar which extends the Gregorian calendar backwards to year one. It is
2291
+ # encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "
2292
+ # smeared" so that no leap second table is needed for interpretation. Range is
2293
+ # from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to
2294
+ # that range, we ensure that we can convert to and from RFC 3339 date strings.
2295
+ # See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.
2296
+ # txt).
2297
+ # # Examples
2298
+ # Example 1: Compute Timestamp from POSIX `time()`.
2299
+ # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
2300
+ # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
2301
+ # struct timeval tv; gettimeofday(&tv, NULL);
2302
+ # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.
2303
+ # tv_usec * 1000);
2304
+ # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
2305
+ # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.
2306
+ # dwHighDateTime) << 32) | ft.dwLowDateTime;
2307
+ # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is
2308
+ # 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp
2309
+ # timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
2310
+ # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
2311
+ # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
2312
+ # long millis = System.currentTimeMillis();
2313
+ # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .
2314
+ # setNanos((int) ((millis % 1000) * 1000000)).build();
2315
+ # Example 5: Compute Timestamp from current time in Python.
2316
+ # timestamp = Timestamp() timestamp.GetCurrentTime()
2317
+ # # JSON Mapping
2318
+ # In JSON format, the Timestamp type is encoded as a string in the [RFC 3339](
2319
+ # https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is "`year`-`
2320
+ # month`-`day`T`hour`:`min`:`sec`[.`frac_sec`]Z" where `year` is always
2321
+ # expressed using four digits while `month`, `day`, `hour`, `min`, and `sec` are
2322
+ # zero-padded to two digits each. The fractional seconds, which can go up to 9
2323
+ # digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix
2324
+ # indicates the timezone ("UTC"); the timezone is required, though only UTC (as
2325
+ # indicated by "Z") is presently supported.
2326
+ # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on
2327
+ # January 15, 2017.
2328
+ # In JavaScript, one can convert a Date object to this format using the standard
2329
+ # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/
2330
+ # Reference/Global_Objects/Date/toISOString] method. In Python, a standard `
2331
+ # datetime.datetime` object can be converted to this format using [`strftime`](
2332
+ # https://docs.python.org/2/library/time.html#time.strftime) with the time
2333
+ # format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda
2334
+ # Time's [`ISODateTimeFormat.dateTime()`]( http://joda-time.sourceforge.net/
2335
+ # apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) to obtain a
2336
+ # formatter capable of generating timestamps in this format.
2337
+ # Corresponds to the JSON property `createdTimestamp`
2338
+ # @return [Google::Apis::TagmanagerV2::Timestamp]
2339
+ attr_accessor :created_timestamp
2340
+
2341
+ # A change in the proposal's status.
2342
+ # Corresponds to the JSON property `statusChange`
2343
+ # @return [Google::Apis::TagmanagerV2::WorkspaceProposalHistoryStatusChange]
2344
+ attr_accessor :status_change
2345
+
2346
+ # The history type distinguishing between comments and status changes.
2347
+ # Corresponds to the JSON property `type`
2348
+ # @return [String]
2349
+ attr_accessor :type
2350
+
2351
+ def initialize(**args)
2352
+ update!(**args)
2353
+ end
2354
+
2355
+ # Update properties of this object
2356
+ def update!(**args)
2357
+ @comment = args[:comment] if args.key?(:comment)
2358
+ @created_by = args[:created_by] if args.key?(:created_by)
2359
+ @created_timestamp = args[:created_timestamp] if args.key?(:created_timestamp)
2360
+ @status_change = args[:status_change] if args.key?(:status_change)
2361
+ @type = args[:type] if args.key?(:type)
2362
+ end
2363
+ end
2364
+
2365
+ # A comment from the reviewer or author.
2366
+ class WorkspaceProposalHistoryComment
2367
+ include Google::Apis::Core::Hashable
2368
+
2369
+ # The contents of the reviewer or author comment.
2370
+ # Corresponds to the JSON property `content`
2371
+ # @return [String]
2372
+ attr_accessor :content
2373
+
2374
+ def initialize(**args)
2375
+ update!(**args)
2376
+ end
2377
+
2378
+ # Update properties of this object
2379
+ def update!(**args)
2380
+ @content = args[:content] if args.key?(:content)
2381
+ end
2382
+ end
2383
+
2384
+ # A change in the proposal's status.
2385
+ class WorkspaceProposalHistoryStatusChange
2386
+ include Google::Apis::Core::Hashable
2387
+
2388
+ # The new proposal status after that status change.
2389
+ # Corresponds to the JSON property `newStatus`
2390
+ # @return [String]
2391
+ attr_accessor :new_status
2392
+
2393
+ # The old proposal status before the status change.
2394
+ # Corresponds to the JSON property `oldStatus`
2395
+ # @return [String]
2396
+ attr_accessor :old_status
2397
+
2398
+ def initialize(**args)
2399
+ update!(**args)
2400
+ end
2401
+
2402
+ # Update properties of this object
2403
+ def update!(**args)
2404
+ @new_status = args[:new_status] if args.key?(:new_status)
2405
+ @old_status = args[:old_status] if args.key?(:old_status)
2406
+ end
2407
+ end
2408
+
2409
+ # Represents an external user or internal Google Tag Manager system.
2410
+ class WorkspaceProposalUser
2411
+ include Google::Apis::Core::Hashable
2412
+
2413
+ # Gaia id associated with a user, absent for the Google Tag Manager system.
2414
+ # Corresponds to the JSON property `gaiaId`
2415
+ # @return [String]
2416
+ attr_accessor :gaia_id
2417
+
2418
+ # User type distinguishes between a user and the Google Tag Manager system.
2419
+ # Corresponds to the JSON property `type`
2420
+ # @return [String]
2421
+ attr_accessor :type
2422
+
2423
+ def initialize(**args)
2424
+ update!(**args)
2425
+ end
2426
+
2427
+ # Update properties of this object
2428
+ def update!(**args)
2429
+ @gaia_id = args[:gaia_id] if args.key?(:gaia_id)
2430
+ @type = args[:type] if args.key?(:type)
2431
+ end
2432
+ end
2433
+ end
2434
+ end
2435
+ end