google-api-client 0.10.2 → 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
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