diff --git a/docs/dyn/analytics_v3.management.accountSummaries.html b/docs/dyn/analytics_v3.management.accountSummaries.html
index 08696f2..2114c3f 100644
--- a/docs/dyn/analytics_v3.management.accountSummaries.html
+++ b/docs/dyn/analytics_v3.management.accountSummaries.html
@@ -83,7 +83,7 @@
   <pre>Lists account summaries (lightweight tree comprised of accounts/properties/profiles) to which the user has access.
 
 Args:
-  max_results: integer, The maximum number of filters to include in this response.
+  max_results: integer, The maximum number of account summaries to include in this response, where the largest acceptable value is 1000.
   start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
 
 Returns:
diff --git a/docs/dyn/analytics_v3.management.profiles.html b/docs/dyn/analytics_v3.management.profiles.html
index 859eff9..9ad5dfa 100644
--- a/docs/dyn/analytics_v3.management.profiles.html
+++ b/docs/dyn/analytics_v3.management.profiles.html
@@ -134,6 +134,7 @@
         "href": "A String", # Link to the list of goals for this view (profile).
         "type": "analytics#goals", # Value is "analytics#goals".
       },
+      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
       "permissions": { # Permissions the user has for this view (profile).
         "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
           "A String",
@@ -182,6 +183,7 @@
       "href": "A String", # Link to the list of goals for this view (profile).
       "type": "analytics#goals", # Value is "analytics#goals".
     },
+    "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
     "permissions": { # Permissions the user has for this view (profile).
       "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
         "A String",
@@ -223,6 +225,7 @@
         "href": "A String", # Link to the list of goals for this view (profile).
         "type": "analytics#goals", # Value is "analytics#goals".
       },
+      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
       "permissions": { # Permissions the user has for this view (profile).
         "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
           "A String",
@@ -278,6 +281,7 @@
             "href": "A String", # Link to the list of goals for this view (profile).
             "type": "analytics#goals", # Value is "analytics#goals".
           },
+          "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
           "permissions": { # Permissions the user has for this view (profile).
             "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
               "A String",
@@ -334,6 +338,7 @@
       "href": "A String", # Link to the list of goals for this view (profile).
       "type": "analytics#goals", # Value is "analytics#goals".
     },
+    "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
     "permissions": { # Permissions the user has for this view (profile).
       "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
         "A String",
@@ -375,6 +380,7 @@
         "href": "A String", # Link to the list of goals for this view (profile).
         "type": "analytics#goals", # Value is "analytics#goals".
       },
+      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
       "permissions": { # Permissions the user has for this view (profile).
         "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
           "A String",
@@ -424,6 +430,7 @@
       "href": "A String", # Link to the list of goals for this view (profile).
       "type": "analytics#goals", # Value is "analytics#goals".
     },
+    "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
     "permissions": { # Permissions the user has for this view (profile).
       "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
         "A String",
@@ -465,6 +472,7 @@
         "href": "A String", # Link to the list of goals for this view (profile).
         "type": "analytics#goals", # Value is "analytics#goals".
       },
+      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
       "permissions": { # Permissions the user has for this view (profile).
         "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
           "A String",
diff --git a/docs/dyn/analytics_v3.provisioning.html b/docs/dyn/analytics_v3.provisioning.html
index 826fe15..9ff45ea 100644
--- a/docs/dyn/analytics_v3.provisioning.html
+++ b/docs/dyn/analytics_v3.provisioning.html
@@ -105,6 +105,7 @@
           "href": "A String", # Link to the list of goals for this view (profile).
           "type": "analytics#goals", # Value is "analytics#goals".
         },
+        "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
         "permissions": { # Permissions the user has for this view (profile).
           "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
             "A String",
@@ -196,6 +197,7 @@
             "href": "A String", # Link to the list of goals for this view (profile).
             "type": "analytics#goals", # Value is "analytics#goals".
           },
+          "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
           "permissions": { # Permissions the user has for this view (profile).
             "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
               "A String",
diff --git a/docs/dyn/genomics_v1beta.datasets.html b/docs/dyn/genomics_v1beta.datasets.html
index ed2f4d5..7ab7897 100644
--- a/docs/dyn/genomics_v1beta.datasets.html
+++ b/docs/dyn/genomics_v1beta.datasets.html
@@ -160,7 +160,7 @@
 Args:
   pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
   maxResults: string, The maximum number of results returned by this request.
-  projectId: string, Only return datasets which belong to this Google Developers Console project. Only accepts project numbers.
+  projectId: string, Only return datasets which belong to this Google Developers Console project. Only accepts project numbers. Returns all public projects if no project number is specified.
 
 Returns:
   An object of the form:
diff --git a/docs/dyn/genomics_v1beta.experimental.jobs.html b/docs/dyn/genomics_v1beta.experimental.jobs.html
index bc5977e..bcfb897 100644
--- a/docs/dyn/genomics_v1beta.experimental.jobs.html
+++ b/docs/dyn/genomics_v1beta.experimental.jobs.html
@@ -86,7 +86,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # The job creation request. Next ID: 12
+{ # The job creation request.
     "pairedSourceUris": [ # A list of Google Cloud Storage URIs of paired end .fastq files to operate upon. If specified, this represents the second file of each paired .fastq file. The first file of each pair should be specified in sourceUris.
       "A String",
     ],
diff --git a/docs/dyn/mapsengine_v1.projects.html b/docs/dyn/mapsengine_v1.projects.html
index 92641d2..db31970 100644
--- a/docs/dyn/mapsengine_v1.projects.html
+++ b/docs/dyn/mapsengine_v1.projects.html
@@ -94,9 +94,9 @@
 
     { # The response returned by a call to projects.List.
     "projects": [ # Projects returned.
-      { # A project groups a collection of resources.
-        "id": "A String", # An ID used to refer to this project.
-        "name": "A String", # A user provided name for this project.
+      { # A Maps Engine project groups a collection of resources.
+        "id": "A String", # An ID used to refer to this Maps Engine project.
+        "name": "A String", # A user provided name for this Maps Engine project.
       },
     ],
   }</pre>
diff --git a/docs/dyn/prediction_v1_6.hostedmodels.html b/docs/dyn/prediction_v1_6.hostedmodels.html
index b4d79fb..69e85d1 100644
--- a/docs/dyn/prediction_v1_6.hostedmodels.html
+++ b/docs/dyn/prediction_v1_6.hostedmodels.html
@@ -110,7 +110,7 @@
         "label": "A String", # The class label.
       },
     ],
-    "outputValue": "A String", # The estimated regression value (Regression models only).
+    "outputValue": 3.14, # The estimated regression value (Regression models only).
     "selfLink": "A String", # A URL to re-request this resource.
   }</pre>
 </div>
diff --git a/docs/dyn/prediction_v1_6.trainedmodels.html b/docs/dyn/prediction_v1_6.trainedmodels.html
index a0de137..c591ff3 100644
--- a/docs/dyn/prediction_v1_6.trainedmodels.html
+++ b/docs/dyn/prediction_v1_6.trainedmodels.html
@@ -376,7 +376,7 @@
         "label": "A String", # The class label.
       },
     ],
-    "outputValue": "A String", # The estimated regression value (Regression models only).
+    "outputValue": 3.14, # The estimated regression value (Regression models only).
     "selfLink": "A String", # A URL to re-request this resource.
   }</pre>
 </div>
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.html b/docs/dyn/tagmanager_v1.accounts.containers.html
index 5fa4f97..b66d672 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.html
@@ -117,9 +117,6 @@
   <code><a href="#list">list(accountId)</a></code></p>
 <p class="firstline">Lists all Containers that belongs to a GTM Account.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(accountId, containerId, body, fingerprint=None)</a></code></p>
-<p class="firstline">Updates a Container. This method supports patch semantics.</p>
-<p class="toc_element">
   <code><a href="#update">update(accountId, containerId, body, fingerprint=None)</a></code></p>
 <p class="firstline">Updates a Container.</p>
 <h3>Method Details</h3>
@@ -133,27 +130,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Container.
-  "timeZoneId": "A String", # Container Time Zone ID.
-  "timeZoneCountryId": "A String", # Container Country ID.
-  "publicId": "A String", # Container Public ID.
-  "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-  "domainName": [ # Optional list of domain names associated with the Container.
-    "A String",
-  ],
-  "notes": "A String", # Container Notes.
-  "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-    "A String",
-  ],
-  "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-  "accountId": "A String", # GTM Account ID.
-  "name": "A String", # Container display name.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Container.
     "timeZoneId": "A String", # Container Time Zone ID.
     "timeZoneCountryId": "A String", # Container Country ID.
     "publicId": "A String", # Container Public ID.
@@ -168,7 +144,28 @@
     "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
     "accountId": "A String", # GTM Account ID.
     "name": "A String", # Container display name.
-  }</pre>
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Container.
+      "timeZoneId": "A String", # Container Time Zone ID.
+      "timeZoneCountryId": "A String", # Container Country ID.
+      "publicId": "A String", # Container Public ID.
+      "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
+      "domainName": [ # Optional list of domain names associated with the Container.
+        "A String",
+      ],
+      "notes": "A String", # Container Notes.
+      "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
+        "A String",
+      ],
+      "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
+      "accountId": "A String", # GTM Account ID.
+      "name": "A String", # Container display name.
+    }</pre>
 </div>
 
 <div class="method">
@@ -193,21 +190,21 @@
   An object of the form:
 
     { # Represents a Google Tag Manager Container.
-    "timeZoneId": "A String", # Container Time Zone ID.
-    "timeZoneCountryId": "A String", # Container Country ID.
-    "publicId": "A String", # Container Public ID.
-    "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-    "domainName": [ # Optional list of domain names associated with the Container.
-      "A String",
-    ],
-    "notes": "A String", # Container Notes.
-    "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-      "A String",
-    ],
-    "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-    "accountId": "A String", # GTM Account ID.
-    "name": "A String", # Container display name.
-  }</pre>
+      "timeZoneId": "A String", # Container Time Zone ID.
+      "timeZoneCountryId": "A String", # Container Country ID.
+      "publicId": "A String", # Container Public ID.
+      "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
+      "domainName": [ # Optional list of domain names associated with the Container.
+        "A String",
+      ],
+      "notes": "A String", # Container Notes.
+      "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
+        "A String",
+      ],
+      "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
+      "accountId": "A String", # GTM Account ID.
+      "name": "A String", # Container display name.
+    }</pre>
 </div>
 
 <div class="method">
@@ -223,76 +220,26 @@
     { # List Containers Response.
     "containers": [ # All Containers of a GTM Account.
       { # Represents a Google Tag Manager Container.
-        "timeZoneId": "A String", # Container Time Zone ID.
-        "timeZoneCountryId": "A String", # Container Country ID.
-        "publicId": "A String", # Container Public ID.
-        "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-        "domainName": [ # Optional list of domain names associated with the Container.
-          "A String",
-        ],
-        "notes": "A String", # Container Notes.
-        "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-          "A String",
-        ],
-        "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-        "accountId": "A String", # GTM Account ID.
-        "name": "A String", # Container display name.
-      },
+          "timeZoneId": "A String", # Container Time Zone ID.
+          "timeZoneCountryId": "A String", # Container Country ID.
+          "publicId": "A String", # Container Public ID.
+          "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
+          "domainName": [ # Optional list of domain names associated with the Container.
+            "A String",
+          ],
+          "notes": "A String", # Container Notes.
+          "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
+          "accountId": "A String", # GTM Account ID.
+          "name": "A String", # Container display name.
+        },
     ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(accountId, containerId, body, fingerprint=None)</code>
-  <pre>Updates a Container. This method supports patch semantics.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Google Tag Manager Container.
-  "timeZoneId": "A String", # Container Time Zone ID.
-  "timeZoneCountryId": "A String", # Container Country ID.
-  "publicId": "A String", # Container Public ID.
-  "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-  "domainName": [ # Optional list of domain names associated with the Container.
-    "A String",
-  ],
-  "notes": "A String", # Container Notes.
-  "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-    "A String",
-  ],
-  "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-  "accountId": "A String", # GTM Account ID.
-  "name": "A String", # Container display name.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the container in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Container.
-    "timeZoneId": "A String", # Container Time Zone ID.
-    "timeZoneCountryId": "A String", # Container Country ID.
-    "publicId": "A String", # Container Public ID.
-    "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-    "domainName": [ # Optional list of domain names associated with the Container.
-      "A String",
-    ],
-    "notes": "A String", # Container Notes.
-    "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-      "A String",
-    ],
-    "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-    "accountId": "A String", # GTM Account ID.
-    "name": "A String", # Container display name.
-  }</pre>
-</div>
-
-<div class="method">
     <code class="details" id="update">update(accountId, containerId, body, fingerprint=None)</code>
   <pre>Updates a Container.
 
@@ -303,28 +250,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Container.
-  "timeZoneId": "A String", # Container Time Zone ID.
-  "timeZoneCountryId": "A String", # Container Country ID.
-  "publicId": "A String", # Container Public ID.
-  "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-  "domainName": [ # Optional list of domain names associated with the Container.
-    "A String",
-  ],
-  "notes": "A String", # Container Notes.
-  "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-    "A String",
-  ],
-  "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-  "accountId": "A String", # GTM Account ID.
-  "name": "A String", # Container display name.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the container in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Container.
     "timeZoneId": "A String", # Container Time Zone ID.
     "timeZoneCountryId": "A String", # Container Country ID.
     "publicId": "A String", # Container Public ID.
@@ -339,7 +264,29 @@
     "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
     "accountId": "A String", # GTM Account ID.
     "name": "A String", # Container display name.
-  }</pre>
+  }
+
+  fingerprint: string, When provided, this fingerprint must match the fingerprint of the container in storage.
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Container.
+      "timeZoneId": "A String", # Container Time Zone ID.
+      "timeZoneCountryId": "A String", # Container Country ID.
+      "publicId": "A String", # Container Public ID.
+      "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
+      "domainName": [ # Optional list of domain names associated with the Container.
+        "A String",
+      ],
+      "notes": "A String", # Container Notes.
+      "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
+        "A String",
+      ],
+      "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
+      "accountId": "A String", # GTM Account ID.
+      "name": "A String", # Container display name.
+    }</pre>
 </div>
 
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.macros.html b/docs/dyn/tagmanager_v1.accounts.containers.macros.html
index 40e83ef..7045fff 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.macros.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.macros.html
@@ -87,9 +87,6 @@
   <code><a href="#list">list(accountId, containerId)</a></code></p>
 <p class="firstline">Lists all GTM Macros of a Container.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(accountId, containerId, macroId, body, fingerprint=None)</a></code></p>
-<p class="firstline">Updates a GTM Macro. This method supports patch semantics.</p>
-<p class="toc_element">
   <code><a href="#update">update(accountId, containerId, macroId, body, fingerprint=None)</a></code></p>
 <p class="firstline">Updates a GTM Macro.</p>
 <h3>Method Details</h3>
@@ -104,46 +101,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Macro.
-  "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-  "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-  "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-  "containerId": "A String", # GTM Container ID.
-  "type": "A String", # GTM Macro Type.
-  "notes": "A String", # User notes on how to apply this macro in the container.
-  "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-    "A String",
-  ],
-  "name": "A String", # Macro display name.
-  "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-    "A String",
-  ],
-  "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-  "parameter": [ # The macro's parameters.
-    { # Represents a Google Tag Manager Parameter.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-  ],
-  "accountId": "A String", # GTM Account ID.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Macro.
     "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
     "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
     "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
@@ -177,7 +134,47 @@
       },
     ],
     "accountId": "A String", # GTM Account ID.
-  }</pre>
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Macro.
+      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
+      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
+      "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
+      "containerId": "A String", # GTM Container ID.
+      "type": "A String", # GTM Macro Type.
+      "notes": "A String", # User notes on how to apply this macro in the container.
+      "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+        "A String",
+      ],
+      "name": "A String", # Macro display name.
+      "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+        "A String",
+      ],
+      "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
+      "parameter": [ # The macro's parameters.
+        { # Represents a Google Tag Manager Parameter.
+          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+            # Object with schema name: Parameter
+          ],
+          "list": [ # This list parameter's parameters (keys will be ignored).
+            # Object with schema name: Parameter
+          ],
+          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+          "type": "A String", # The parameter type. Valid values are:
+              # - boolean: The value represents a boolean, represented as 'true' or 'false'
+              # - integer: The value represents a 64-bit signed integer value, in base 10
+              # - list: A list of parameters should be specified
+              # - map: A map of parameters should be specified
+              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+        },
+      ],
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -204,40 +201,40 @@
   An object of the form:
 
     { # Represents a Google Tag Manager Macro.
-    "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-    "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-    "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-    "containerId": "A String", # GTM Container ID.
-    "type": "A String", # GTM Macro Type.
-    "notes": "A String", # User notes on how to apply this macro in the container.
-    "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-      "A String",
-    ],
-    "name": "A String", # Macro display name.
-    "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-      "A String",
-    ],
-    "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-    "parameter": [ # The macro's parameters.
-      { # Represents a Google Tag Manager Parameter.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-    ],
-    "accountId": "A String", # GTM Account ID.
-  }</pre>
+      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
+      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
+      "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
+      "containerId": "A String", # GTM Container ID.
+      "type": "A String", # GTM Macro Type.
+      "notes": "A String", # User notes on how to apply this macro in the container.
+      "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+        "A String",
+      ],
+      "name": "A String", # Macro display name.
+      "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+        "A String",
+      ],
+      "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
+      "parameter": [ # The macro's parameters.
+        { # Represents a Google Tag Manager Parameter.
+          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+            # Object with schema name: Parameter
+          ],
+          "list": [ # This list parameter's parameters (keys will be ignored).
+            # Object with schema name: Parameter
+          ],
+          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+          "type": "A String", # The parameter type. Valid values are:
+              # - boolean: The value represents a boolean, represented as 'true' or 'false'
+              # - integer: The value represents a 64-bit signed integer value, in base 10
+              # - list: A list of parameters should be specified
+              # - map: A map of parameters should be specified
+              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+        },
+      ],
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -254,134 +251,45 @@
     { # List Macros Response.
     "macros": [ # All GTM Macros of a GTM Container.
       { # Represents a Google Tag Manager Macro.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-        "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Macro Type.
-        "notes": "A String", # User notes on how to apply this macro in the container.
-        "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "name": "A String", # Macro display name.
-        "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-        "parameter": [ # The macro's parameters.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
+          "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
+          "containerId": "A String", # GTM Container ID.
+          "type": "A String", # GTM Macro Type.
+          "notes": "A String", # User notes on how to apply this macro in the container.
+          "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+            "A String",
+          ],
+          "name": "A String", # Macro display name.
+          "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
+          "parameter": [ # The macro's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "accountId": "A String", # GTM Account ID.
+        },
     ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(accountId, containerId, macroId, body, fingerprint=None)</code>
-  <pre>Updates a GTM Macro. This method supports patch semantics.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  macroId: string, The GTM Macro ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Google Tag Manager Macro.
-  "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-  "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-  "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-  "containerId": "A String", # GTM Container ID.
-  "type": "A String", # GTM Macro Type.
-  "notes": "A String", # User notes on how to apply this macro in the container.
-  "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-    "A String",
-  ],
-  "name": "A String", # Macro display name.
-  "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-    "A String",
-  ],
-  "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-  "parameter": [ # The macro's parameters.
-    { # Represents a Google Tag Manager Parameter.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-  ],
-  "accountId": "A String", # GTM Account ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the macro in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Macro.
-    "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-    "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-    "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-    "containerId": "A String", # GTM Container ID.
-    "type": "A String", # GTM Macro Type.
-    "notes": "A String", # User notes on how to apply this macro in the container.
-    "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-      "A String",
-    ],
-    "name": "A String", # Macro display name.
-    "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-      "A String",
-    ],
-    "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-    "parameter": [ # The macro's parameters.
-      { # Represents a Google Tag Manager Parameter.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-    ],
-    "accountId": "A String", # GTM Account ID.
-  }</pre>
-</div>
-
-<div class="method">
     <code class="details" id="update">update(accountId, containerId, macroId, body, fingerprint=None)</code>
   <pre>Updates a GTM Macro.
 
@@ -393,47 +301,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Macro.
-  "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-  "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-  "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-  "containerId": "A String", # GTM Container ID.
-  "type": "A String", # GTM Macro Type.
-  "notes": "A String", # User notes on how to apply this macro in the container.
-  "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-    "A String",
-  ],
-  "name": "A String", # Macro display name.
-  "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-    "A String",
-  ],
-  "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-  "parameter": [ # The macro's parameters.
-    { # Represents a Google Tag Manager Parameter.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-  ],
-  "accountId": "A String", # GTM Account ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the macro in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Macro.
     "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
     "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
     "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
@@ -467,7 +334,48 @@
       },
     ],
     "accountId": "A String", # GTM Account ID.
-  }</pre>
+  }
+
+  fingerprint: string, When provided, this fingerprint must match the fingerprint of the macro in storage.
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Macro.
+      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
+      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
+      "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
+      "containerId": "A String", # GTM Container ID.
+      "type": "A String", # GTM Macro Type.
+      "notes": "A String", # User notes on how to apply this macro in the container.
+      "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+        "A String",
+      ],
+      "name": "A String", # Macro display name.
+      "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+        "A String",
+      ],
+      "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
+      "parameter": [ # The macro's parameters.
+        { # Represents a Google Tag Manager Parameter.
+          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+            # Object with schema name: Parameter
+          ],
+          "list": [ # This list parameter's parameters (keys will be ignored).
+            # Object with schema name: Parameter
+          ],
+          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+          "type": "A String", # The parameter type. Valid values are:
+              # - boolean: The value represents a boolean, represented as 'true' or 'false'
+              # - integer: The value represents a 64-bit signed integer value, in base 10
+              # - list: A list of parameters should be specified
+              # - map: A map of parameters should be specified
+              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+        },
+      ],
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.rules.html b/docs/dyn/tagmanager_v1.accounts.containers.rules.html
index 26be6d8..35ebb48 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.rules.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.rules.html
@@ -87,9 +87,6 @@
   <code><a href="#list">list(accountId, containerId)</a></code></p>
 <p class="firstline">Lists all GTM Rules of a Container.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(accountId, containerId, ruleId, body, fingerprint=None)</a></code></p>
-<p class="firstline">Updates a GTM Rule. This method supports patch semantics.</p>
-<p class="toc_element">
   <code><a href="#update">update(accountId, containerId, ruleId, body, fingerprint=None)</a></code></p>
 <p class="firstline">Updates a GTM Rule.</p>
 <h3>Method Details</h3>
@@ -104,46 +101,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Rule.
-  "name": "A String", # Rule display name.
-  "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-  "notes": "A String", # User notes on how to apply this rule in the container.
-  "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-  "accountId": "A String", # GTM Account ID.
-  "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "containerId": "A String", # GTM Container ID.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Rule.
     "name": "A String", # Rule display name.
     "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
     "notes": "A String", # User notes on how to apply this rule in the container.
@@ -177,7 +134,47 @@
       },
     ],
     "containerId": "A String", # GTM Container ID.
-  }</pre>
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Rule.
+      "name": "A String", # Rule display name.
+      "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
+      "notes": "A String", # User notes on how to apply this rule in the container.
+      "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
+      "accountId": "A String", # GTM Account ID.
+      "condition": [ # The list of conditions that make up this rule (implicit AND between them).
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "containerId": "A String", # GTM Container ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -204,40 +201,40 @@
   An object of the form:
 
     { # Represents a Google Tag Manager Rule.
-    "name": "A String", # Rule display name.
-    "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-    "notes": "A String", # User notes on how to apply this rule in the container.
-    "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-    "accountId": "A String", # GTM Account ID.
-    "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-      { # Represents a predicate.
-        "type": "A String", # The type of operator for this condition.
-        "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-            # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-            # - At this time, the left operand (arg0) must be a reference to a macro.
-            # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-            # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-      },
-    ],
-    "containerId": "A String", # GTM Container ID.
-  }</pre>
+      "name": "A String", # Rule display name.
+      "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
+      "notes": "A String", # User notes on how to apply this rule in the container.
+      "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
+      "accountId": "A String", # GTM Account ID.
+      "condition": [ # The list of conditions that make up this rule (implicit AND between them).
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "containerId": "A String", # GTM Container ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -254,130 +251,41 @@
     { # List Rules Response.
     "rules": [ # All GTM Rules of a GTM Container.
       { # Represents a Google Tag Manager Rule.
-        "name": "A String", # Rule display name.
-        "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-        "notes": "A String", # User notes on how to apply this rule in the container.
-        "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-        "accountId": "A String", # GTM Account ID.
-        "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "containerId": "A String", # GTM Container ID.
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(accountId, containerId, ruleId, body, fingerprint=None)</code>
-  <pre>Updates a GTM Rule. This method supports patch semantics.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  ruleId: string, The GTM Rule ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Google Tag Manager Rule.
-  "name": "A String", # Rule display name.
-  "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-  "notes": "A String", # User notes on how to apply this rule in the container.
-  "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-  "accountId": "A String", # GTM Account ID.
-  "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
+          "name": "A String", # Rule display name.
+          "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
+          "notes": "A String", # User notes on how to apply this rule in the container.
+          "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
+          "accountId": "A String", # GTM Account ID.
+          "condition": [ # The list of conditions that make up this rule (implicit AND between them).
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
           ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          "containerId": "A String", # GTM Container ID.
         },
-      ],
-    },
-  ],
-  "containerId": "A String", # GTM Container ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the rule in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Rule.
-    "name": "A String", # Rule display name.
-    "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-    "notes": "A String", # User notes on how to apply this rule in the container.
-    "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-    "accountId": "A String", # GTM Account ID.
-    "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-      { # Represents a predicate.
-        "type": "A String", # The type of operator for this condition.
-        "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-            # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-            # - At this time, the left operand (arg0) must be a reference to a macro.
-            # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-            # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-      },
     ],
-    "containerId": "A String", # GTM Container ID.
   }</pre>
 </div>
 
@@ -393,47 +301,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Rule.
-  "name": "A String", # Rule display name.
-  "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-  "notes": "A String", # User notes on how to apply this rule in the container.
-  "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-  "accountId": "A String", # GTM Account ID.
-  "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "containerId": "A String", # GTM Container ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the rule in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Rule.
     "name": "A String", # Rule display name.
     "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
     "notes": "A String", # User notes on how to apply this rule in the container.
@@ -467,7 +334,48 @@
       },
     ],
     "containerId": "A String", # GTM Container ID.
-  }</pre>
+  }
+
+  fingerprint: string, When provided, this fingerprint must match the fingerprint of the rule in storage.
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Rule.
+      "name": "A String", # Rule display name.
+      "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
+      "notes": "A String", # User notes on how to apply this rule in the container.
+      "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
+      "accountId": "A String", # GTM Account ID.
+      "condition": [ # The list of conditions that make up this rule (implicit AND between them).
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "containerId": "A String", # GTM Container ID.
+    }</pre>
 </div>
 
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.tags.html b/docs/dyn/tagmanager_v1.accounts.containers.tags.html
index 4eec73b..1683e46 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.tags.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.tags.html
@@ -87,9 +87,6 @@
   <code><a href="#list">list(accountId, containerId)</a></code></p>
 <p class="firstline">Lists all GTM Tags of a Container.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(accountId, containerId, tagId, body, fingerprint=None)</a></code></p>
-<p class="firstline">Updates a GTM Tag. This method supports patch semantics.</p>
-<p class="toc_element">
   <code><a href="#update">update(accountId, containerId, tagId, body, fingerprint=None)</a></code></p>
 <p class="firstline">Updates a GTM Tag.</p>
 <h3>Method Details</h3>
@@ -104,85 +101,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Tag.
-  "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-  "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-  "containerId": "A String", # GTM Container ID.
-  "type": "A String", # GTM Tag Type.
-  "notes": "A String", # User notes on how to apply this tag in the container.
-  "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-  "name": "A String", # Tag display name.
-  "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-    "A String",
-  ],
-  "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-  "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-  "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-    "A String",
-  ],
-  "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-    "A String",
-  ],
-  "parameter": [ # The tag's parameters.
-    { # Represents a Google Tag Manager Parameter.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-  ],
-  "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-    "A String",
-  ],
-  "accountId": "A String", # GTM Account ID.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Tag.
     "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
     "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
     "containerId": "A String", # GTM Container ID.
@@ -255,7 +173,86 @@
       "A String",
     ],
     "accountId": "A String", # GTM Account ID.
-  }</pre>
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Tag.
+      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
+      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
+      "containerId": "A String", # GTM Container ID.
+      "type": "A String", # GTM Tag Type.
+      "notes": "A String", # User notes on how to apply this tag in the container.
+      "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
+      "name": "A String", # Tag display name.
+      "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
+        "A String",
+      ],
+      "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
+      "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
+      "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
+        "A String",
+      ],
+      "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
+        "A String",
+      ],
+      "parameter": [ # The tag's parameters.
+        { # Represents a Google Tag Manager Parameter.
+          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+            # Object with schema name: Parameter
+          ],
+          "list": [ # This list parameter's parameters (keys will be ignored).
+            # Object with schema name: Parameter
+          ],
+          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+          "type": "A String", # The parameter type. Valid values are:
+              # - boolean: The value represents a boolean, represented as 'true' or 'false'
+              # - integer: The value represents a 64-bit signed integer value, in base 10
+              # - list: A list of parameters should be specified
+              # - map: A map of parameters should be specified
+              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+        },
+      ],
+      "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
+        "A String",
+      ],
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -282,58 +279,14 @@
   An object of the form:
 
     { # Represents a Google Tag Manager Tag.
-    "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-    "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-    "containerId": "A String", # GTM Container ID.
-    "type": "A String", # GTM Tag Type.
-    "notes": "A String", # User notes on how to apply this tag in the container.
-    "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-    "name": "A String", # Tag display name.
-    "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-      "A String",
-    ],
-    "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-    "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-    "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-      "A String",
-    ],
-    "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-      "A String",
-    ],
-    "parameter": [ # The tag's parameters.
-      { # Represents a Google Tag Manager Parameter.
+      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
+      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
+      "containerId": "A String", # GTM Container ID.
+      "type": "A String", # GTM Tag Type.
+      "notes": "A String", # User notes on how to apply this tag in the container.
+      "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
+      "name": "A String", # Tag display name.
+      "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
         "map": [ # This map parameter's parameters (must have keys; keys must be unique).
           # Object with schema name: Parameter
         ],
@@ -349,12 +302,56 @@
             # - map: A map of parameters should be specified
             # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
       },
-    ],
-    "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-      "A String",
-    ],
-    "accountId": "A String", # GTM Account ID.
-  }</pre>
+      "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
+        "A String",
+      ],
+      "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
+      "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
+      "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
+        "A String",
+      ],
+      "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
+        "A String",
+      ],
+      "parameter": [ # The tag's parameters.
+        { # Represents a Google Tag Manager Parameter.
+          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+            # Object with schema name: Parameter
+          ],
+          "list": [ # This list parameter's parameters (keys will be ignored).
+            # Object with schema name: Parameter
+          ],
+          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+          "type": "A String", # The parameter type. Valid values are:
+              # - boolean: The value represents a boolean, represented as 'true' or 'false'
+              # - integer: The value represents a 64-bit signed integer value, in base 10
+              # - list: A list of parameters should be specified
+              # - map: A map of parameters should be specified
+              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+        },
+      ],
+      "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
+        "A String",
+      ],
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -371,58 +368,14 @@
     { # List Tags Response.
     "tags": [ # All GTM Tags of a GTM Container.
       { # Represents a Google Tag Manager Tag.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Tag Type.
-        "notes": "A String", # User notes on how to apply this tag in the container.
-        "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-        "name": "A String", # Tag display name.
-        "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-        "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-        "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-          "A String",
-        ],
-        "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-          "A String",
-        ],
-        "parameter": [ # The tag's parameters.
-          { # Represents a Google Tag Manager Parameter.
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
+          "containerId": "A String", # GTM Container ID.
+          "type": "A String", # GTM Tag Type.
+          "notes": "A String", # User notes on how to apply this tag in the container.
+          "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
+          "name": "A String", # Tag display name.
+          "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -438,184 +391,61 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-        "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
+          "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
+            "A String",
+          ],
+          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
+          "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
+          "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
+            "A String",
+          ],
+          "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
+            "A String",
+          ],
+          "parameter": [ # The tag's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
+            "A String",
+          ],
+          "accountId": "A String", # GTM Account ID.
+        },
     ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(accountId, containerId, tagId, body, fingerprint=None)</code>
-  <pre>Updates a GTM Tag. This method supports patch semantics.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  tagId: string, The GTM Tag ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Google Tag Manager Tag.
-  "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-  "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-  "containerId": "A String", # GTM Container ID.
-  "type": "A String", # GTM Tag Type.
-  "notes": "A String", # User notes on how to apply this tag in the container.
-  "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-  "name": "A String", # Tag display name.
-  "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-    "A String",
-  ],
-  "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-  "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-  "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-    "A String",
-  ],
-  "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-    "A String",
-  ],
-  "parameter": [ # The tag's parameters.
-    { # Represents a Google Tag Manager Parameter.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-  ],
-  "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-    "A String",
-  ],
-  "accountId": "A String", # GTM Account ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the tag in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Tag.
-    "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-    "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-    "containerId": "A String", # GTM Container ID.
-    "type": "A String", # GTM Tag Type.
-    "notes": "A String", # User notes on how to apply this tag in the container.
-    "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-    "name": "A String", # Tag display name.
-    "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-      "A String",
-    ],
-    "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-    "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-    "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-      "A String",
-    ],
-    "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-      "A String",
-    ],
-    "parameter": [ # The tag's parameters.
-      { # Represents a Google Tag Manager Parameter.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-    ],
-    "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-      "A String",
-    ],
-    "accountId": "A String", # GTM Account ID.
-  }</pre>
-</div>
-
-<div class="method">
     <code class="details" id="update">update(accountId, containerId, tagId, body, fingerprint=None)</code>
   <pre>Updates a GTM Tag.
 
@@ -627,86 +457,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Tag.
-  "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-  "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-  "containerId": "A String", # GTM Container ID.
-  "type": "A String", # GTM Tag Type.
-  "notes": "A String", # User notes on how to apply this tag in the container.
-  "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-  "name": "A String", # Tag display name.
-  "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-    "A String",
-  ],
-  "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-  "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-  "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-    "A String",
-  ],
-  "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-    "A String",
-  ],
-  "parameter": [ # The tag's parameters.
-    { # Represents a Google Tag Manager Parameter.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-  ],
-  "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-    "A String",
-  ],
-  "accountId": "A String", # GTM Account ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the tag in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Tag.
     "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
     "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
     "containerId": "A String", # GTM Container ID.
@@ -779,7 +529,87 @@
       "A String",
     ],
     "accountId": "A String", # GTM Account ID.
-  }</pre>
+  }
+
+  fingerprint: string, When provided, this fingerprint must match the fingerprint of the tag in storage.
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Tag.
+      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
+      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
+      "containerId": "A String", # GTM Container ID.
+      "type": "A String", # GTM Tag Type.
+      "notes": "A String", # User notes on how to apply this tag in the container.
+      "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
+      "name": "A String", # Tag display name.
+      "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
+        "A String",
+      ],
+      "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
+      "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
+      "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
+        "A String",
+      ],
+      "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
+        "A String",
+      ],
+      "parameter": [ # The tag's parameters.
+        { # Represents a Google Tag Manager Parameter.
+          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+            # Object with schema name: Parameter
+          ],
+          "list": [ # This list parameter's parameters (keys will be ignored).
+            # Object with schema name: Parameter
+          ],
+          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+          "type": "A String", # The parameter type. Valid values are:
+              # - boolean: The value represents a boolean, represented as 'true' or 'false'
+              # - integer: The value represents a 64-bit signed integer value, in base 10
+              # - list: A list of parameters should be specified
+              # - map: A map of parameters should be specified
+              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+        },
+      ],
+      "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
+        "A String",
+      ],
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.triggers.html b/docs/dyn/tagmanager_v1.accounts.containers.triggers.html
index 29921fe..3231788 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.triggers.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.triggers.html
@@ -87,9 +87,6 @@
   <code><a href="#list">list(accountId, containerId)</a></code></p>
 <p class="firstline">Lists all GTM Triggers of a Container.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(accountId, containerId, triggerId, body, fingerprint=None)</a></code></p>
-<p class="firstline">Updates a GTM Trigger. This method supports patch semantics.</p>
-<p class="toc_element">
   <code><a href="#update">update(accountId, containerId, triggerId, body, fingerprint=None)</a></code></p>
 <p class="firstline">Updates a GTM Trigger.</p>
 <h3>Method Details</h3>
@@ -104,244 +101,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Trigger
-  "filter": [ # The trigger will only fire iff all Conditions are true.
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "containerId": "A String", # GTM Container ID.
-  "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-  "name": "A String", # Trigger display name.
-  "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "autoEventFilter": [ # Used in the case of auto event tracking.
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-  "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "type": "A String", # Defines the data layer event that causes this trigger.
-  "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "accountId": "A String", # GTM Account ID.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Trigger
     "filter": [ # The trigger will only fire iff all Conditions are true.
       { # Represents a predicate.
         "type": "A String", # The type of operator for this condition.
@@ -573,7 +332,245 @@
           # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
     },
     "accountId": "A String", # GTM Account ID.
-  }</pre>
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Trigger
+      "filter": [ # The trigger will only fire iff all Conditions are true.
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "containerId": "A String", # GTM Container ID.
+      "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
+      "name": "A String", # Trigger display name.
+      "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "autoEventFilter": [ # Used in the case of auto event tracking.
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
+      "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "type": "A String", # Defines the data layer event that causes this trigger.
+      "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -600,238 +597,238 @@
   An object of the form:
 
     { # Represents a Google Tag Manager Trigger
-    "filter": [ # The trigger will only fire iff all Conditions are true.
-      { # Represents a predicate.
-        "type": "A String", # The type of operator for this condition.
-        "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-            # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-            # - At this time, the left operand (arg0) must be a reference to a macro.
-            # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-            # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
+      "filter": [ # The trigger will only fire iff all Conditions are true.
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
         ],
-      },
-    ],
-    "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "containerId": "A String", # GTM Container ID.
-    "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-    "name": "A String", # Trigger display name.
-    "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "autoEventFilter": [ # Used in the case of auto event tracking.
-      { # Represents a predicate.
-        "type": "A String", # The type of operator for this condition.
-        "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-            # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-            # - At this time, the left operand (arg0) must be a reference to a macro.
-            # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-            # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
         ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
       },
-    ],
-    "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-    "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-      { # Represents a predicate.
-        "type": "A String", # The type of operator for this condition.
-        "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-            # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-            # - At this time, the left operand (arg0) must be a reference to a macro.
-            # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-            # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
+      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
         ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
       },
-    ],
-    "type": "A String", # Defines the data layer event that causes this trigger.
-    "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
+      "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "containerId": "A String", # GTM Container ID.
+      "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
+      "name": "A String", # Trigger display name.
+      "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "autoEventFilter": [ # Used in the case of auto event tracking.
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
       ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
+      "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
+      "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
       ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "accountId": "A String", # GTM Account ID.
-  }</pre>
+      "type": "A String", # Defines the data layer event that causes this trigger.
+      "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -848,502 +845,34 @@
     { # List triggers response.
     "triggers": [ # All GTM Triggers of a GTM Container.
       { # Represents a Google Tag Manager Trigger
-        "filter": [ # The trigger will only fire iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
+          "filter": [ # The trigger will only fire iff all Conditions are true.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
           ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "containerId": "A String", # GTM Container ID.
-        "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-        "name": "A String", # Trigger display name.
-        "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "autoEventFilter": [ # Used in the case of auto event tracking.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-        "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "type": "A String", # Defines the data layer event that causes this trigger.
-        "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "accountId": "A String", # GTM Account ID.
-      },
-    ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="patch">patch(accountId, containerId, triggerId, body, fingerprint=None)</code>
-  <pre>Updates a GTM Trigger. This method supports patch semantics.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  triggerId: string, The GTM Trigger ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Google Tag Manager Trigger
-  "filter": [ # The trigger will only fire iff all Conditions are true.
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "containerId": "A String", # GTM Container ID.
-  "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-  "name": "A String", # Trigger display name.
-  "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "autoEventFilter": [ # Used in the case of auto event tracking.
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-  "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "type": "A String", # Defines the data layer event that causes this trigger.
-  "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "accountId": "A String", # GTM Account ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the trigger in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Trigger
-    "filter": [ # The trigger will only fire iff all Conditions are true.
-      { # Represents a predicate.
-        "type": "A String", # The type of operator for this condition.
-        "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-            # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-            # - At this time, the left operand (arg0) must be a reference to a macro.
-            # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-            # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-          { # Represents a Google Tag Manager Parameter.
+          "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -1359,101 +888,7 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-      },
-    ],
-    "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "containerId": "A String", # GTM Container ID.
-    "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-    "name": "A String", # Trigger display name.
-    "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "autoEventFilter": [ # Used in the case of auto event tracking.
-      { # Represents a predicate.
-        "type": "A String", # The type of operator for this condition.
-        "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-            # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-            # - At this time, the left operand (arg0) must be a reference to a macro.
-            # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-            # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-          { # Represents a Google Tag Manager Parameter.
+          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -1469,67 +904,7 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-      },
-    ],
-    "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-    "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-      { # Represents a predicate.
-        "type": "A String", # The type of operator for this condition.
-        "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-            # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-            # - At this time, the left operand (arg0) must be a reference to a macro.
-            # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-            # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-          { # Represents a Google Tag Manager Parameter.
+          "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -1545,27 +920,164 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-      },
+          "containerId": "A String", # GTM Container ID.
+          "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
+          "name": "A String", # Trigger display name.
+          "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "autoEventFilter": [ # Used in the case of auto event tracking.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
+          "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "type": "A String", # Defines the data layer event that causes this trigger.
+          "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "accountId": "A String", # GTM Account ID.
+        },
     ],
-    "type": "A String", # Defines the data layer event that causes this trigger.
-    "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-    "accountId": "A String", # GTM Account ID.
   }</pre>
 </div>
 
@@ -1581,245 +1093,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Trigger
-  "filter": [ # The trigger will only fire iff all Conditions are true.
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "containerId": "A String", # GTM Container ID.
-  "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-  "name": "A String", # Trigger display name.
-  "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "autoEventFilter": [ # Used in the case of auto event tracking.
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-  "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-    { # Represents a predicate.
-      "type": "A String", # The type of operator for this condition.
-      "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-          # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-          # - At this time, the left operand (arg0) must be a reference to a macro.
-          # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-          # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-    },
-  ],
-  "type": "A String", # Defines the data layer event that causes this trigger.
-  "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-      # Object with schema name: Parameter
-    ],
-    "list": [ # This list parameter's parameters (keys will be ignored).
-      # Object with schema name: Parameter
-    ],
-    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-    "type": "A String", # The parameter type. Valid values are:
-        # - boolean: The value represents a boolean, represented as 'true' or 'false'
-        # - integer: The value represents a 64-bit signed integer value, in base 10
-        # - list: A list of parameters should be specified
-        # - map: A map of parameters should be specified
-        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-  },
-  "accountId": "A String", # GTM Account ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the trigger in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Trigger
     "filter": [ # The trigger will only fire iff all Conditions are true.
       { # Represents a predicate.
         "type": "A String", # The type of operator for this condition.
@@ -2051,7 +1324,246 @@
           # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
     },
     "accountId": "A String", # GTM Account ID.
-  }</pre>
+  }
+
+  fingerprint: string, When provided, this fingerprint must match the fingerprint of the trigger in storage.
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Trigger
+      "filter": [ # The trigger will only fire iff all Conditions are true.
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "containerId": "A String", # GTM Container ID.
+      "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
+      "name": "A String", # Trigger display name.
+      "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "autoEventFilter": [ # Used in the case of auto event tracking.
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
+      "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
+        { # Represents a predicate.
+          "type": "A String", # The type of operator for this condition.
+          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+              # - At this time, the left operand (arg0) must be a reference to a macro.
+              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+        },
+      ],
+      "type": "A String", # Defines the data layer event that causes this trigger.
+      "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
+        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+          # Object with schema name: Parameter
+        ],
+        "list": [ # This list parameter's parameters (keys will be ignored).
+          # Object with schema name: Parameter
+        ],
+        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+        "type": "A String", # The parameter type. Valid values are:
+            # - boolean: The value represents a boolean, represented as 'true' or 'false'
+            # - integer: The value represents a 64-bit signed integer value, in base 10
+            # - list: A list of parameters should be specified
+            # - map: A map of parameters should be specified
+            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+      },
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.variables.html b/docs/dyn/tagmanager_v1.accounts.containers.variables.html
index cc00cc4..d70c9fd 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.variables.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.variables.html
@@ -87,9 +87,6 @@
   <code><a href="#list">list(accountId, containerId)</a></code></p>
 <p class="firstline">Lists all GTM Variables of a Container.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(accountId, containerId, variableId, body, fingerprint=None)</a></code></p>
-<p class="firstline">Updates a GTM Variable. This method supports patch semantics.</p>
-<p class="toc_element">
   <code><a href="#update">update(accountId, containerId, variableId, body, fingerprint=None)</a></code></p>
 <p class="firstline">Updates a GTM Variable.</p>
 <h3>Method Details</h3>
@@ -104,46 +101,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Variable.
-  "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
-  "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
-  "name": "A String", # Variable display name.
-  "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
-  "type": "A String", # GTM Variable Type.
-  "notes": "A String", # User notes on how to apply this variable in the container.
-  "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
-    "A String",
-  ],
-  "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
-  "accountId": "A String", # GTM Account ID.
-  "parameter": [ # The variable's parameters.
-    { # Represents a Google Tag Manager Parameter.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-  ],
-  "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
-    "A String",
-  ],
-  "containerId": "A String", # GTM Container ID.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Variable.
     "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
     "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
     "name": "A String", # Variable display name.
@@ -177,7 +134,47 @@
       "A String",
     ],
     "containerId": "A String", # GTM Container ID.
-  }</pre>
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Variable.
+      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+      "name": "A String", # Variable display name.
+      "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+      "type": "A String", # GTM Variable Type.
+      "notes": "A String", # User notes on how to apply this variable in the container.
+      "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+        "A String",
+      ],
+      "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+      "accountId": "A String", # GTM Account ID.
+      "parameter": [ # The variable's parameters.
+        { # Represents a Google Tag Manager Parameter.
+          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+            # Object with schema name: Parameter
+          ],
+          "list": [ # This list parameter's parameters (keys will be ignored).
+            # Object with schema name: Parameter
+          ],
+          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+          "type": "A String", # The parameter type. Valid values are:
+              # - boolean: The value represents a boolean, represented as 'true' or 'false'
+              # - integer: The value represents a 64-bit signed integer value, in base 10
+              # - list: A list of parameters should be specified
+              # - map: A map of parameters should be specified
+              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+        },
+      ],
+      "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+        "A String",
+      ],
+      "containerId": "A String", # GTM Container ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -204,40 +201,40 @@
   An object of the form:
 
     { # Represents a Google Tag Manager Variable.
-    "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
-    "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
-    "name": "A String", # Variable display name.
-    "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
-    "type": "A String", # GTM Variable Type.
-    "notes": "A String", # User notes on how to apply this variable in the container.
-    "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
-      "A String",
-    ],
-    "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
-    "accountId": "A String", # GTM Account ID.
-    "parameter": [ # The variable's parameters.
-      { # Represents a Google Tag Manager Parameter.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-    ],
-    "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
-      "A String",
-    ],
-    "containerId": "A String", # GTM Container ID.
-  }</pre>
+      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+      "name": "A String", # Variable display name.
+      "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+      "type": "A String", # GTM Variable Type.
+      "notes": "A String", # User notes on how to apply this variable in the container.
+      "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+        "A String",
+      ],
+      "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+      "accountId": "A String", # GTM Account ID.
+      "parameter": [ # The variable's parameters.
+        { # Represents a Google Tag Manager Parameter.
+          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+            # Object with schema name: Parameter
+          ],
+          "list": [ # This list parameter's parameters (keys will be ignored).
+            # Object with schema name: Parameter
+          ],
+          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+          "type": "A String", # The parameter type. Valid values are:
+              # - boolean: The value represents a boolean, represented as 'true' or 'false'
+              # - integer: The value represents a 64-bit signed integer value, in base 10
+              # - list: A list of parameters should be specified
+              # - map: A map of parameters should be specified
+              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+        },
+      ],
+      "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+        "A String",
+      ],
+      "containerId": "A String", # GTM Container ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -254,134 +251,45 @@
     { # List Variables Response.
     "variables": [ # All GTM Variables of a GTM Container.
       { # Represents a Google Tag Manager Variable.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
-        "name": "A String", # Variable display name.
-        "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
-        "type": "A String", # GTM Variable Type.
-        "notes": "A String", # User notes on how to apply this variable in the container.
-        "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
-          "A String",
-        ],
-        "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
-        "accountId": "A String", # GTM Account ID.
-        "parameter": [ # The variable's parameters.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-        "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
-          "A String",
-        ],
-        "containerId": "A String", # GTM Container ID.
-      },
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+          "name": "A String", # Variable display name.
+          "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+          "type": "A String", # GTM Variable Type.
+          "notes": "A String", # User notes on how to apply this variable in the container.
+          "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+          "accountId": "A String", # GTM Account ID.
+          "parameter": [ # The variable's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+            "A String",
+          ],
+          "containerId": "A String", # GTM Container ID.
+        },
     ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(accountId, containerId, variableId, body, fingerprint=None)</code>
-  <pre>Updates a GTM Variable. This method supports patch semantics.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  variableId: string, The GTM Variable ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Google Tag Manager Variable.
-  "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
-  "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
-  "name": "A String", # Variable display name.
-  "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
-  "type": "A String", # GTM Variable Type.
-  "notes": "A String", # User notes on how to apply this variable in the container.
-  "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
-    "A String",
-  ],
-  "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
-  "accountId": "A String", # GTM Account ID.
-  "parameter": [ # The variable's parameters.
-    { # Represents a Google Tag Manager Parameter.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-  ],
-  "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
-    "A String",
-  ],
-  "containerId": "A String", # GTM Container ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the variable in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Variable.
-    "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
-    "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
-    "name": "A String", # Variable display name.
-    "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
-    "type": "A String", # GTM Variable Type.
-    "notes": "A String", # User notes on how to apply this variable in the container.
-    "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
-      "A String",
-    ],
-    "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
-    "accountId": "A String", # GTM Account ID.
-    "parameter": [ # The variable's parameters.
-      { # Represents a Google Tag Manager Parameter.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-    ],
-    "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
-      "A String",
-    ],
-    "containerId": "A String", # GTM Container ID.
-  }</pre>
-</div>
-
-<div class="method">
     <code class="details" id="update">update(accountId, containerId, variableId, body, fingerprint=None)</code>
   <pre>Updates a GTM Variable.
 
@@ -393,47 +301,6 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Variable.
-  "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
-  "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
-  "name": "A String", # Variable display name.
-  "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
-  "type": "A String", # GTM Variable Type.
-  "notes": "A String", # User notes on how to apply this variable in the container.
-  "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
-    "A String",
-  ],
-  "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
-  "accountId": "A String", # GTM Account ID.
-  "parameter": [ # The variable's parameters.
-    { # Represents a Google Tag Manager Parameter.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
-  ],
-  "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
-    "A String",
-  ],
-  "containerId": "A String", # GTM Container ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the variable in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Variable.
     "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
     "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
     "name": "A String", # Variable display name.
@@ -467,7 +334,48 @@
       "A String",
     ],
     "containerId": "A String", # GTM Container ID.
-  }</pre>
+  }
+
+  fingerprint: string, When provided, this fingerprint must match the fingerprint of the variable in storage.
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Variable.
+      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+      "name": "A String", # Variable display name.
+      "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+      "type": "A String", # GTM Variable Type.
+      "notes": "A String", # User notes on how to apply this variable in the container.
+      "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+        "A String",
+      ],
+      "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+      "accountId": "A String", # GTM Account ID.
+      "parameter": [ # The variable's parameters.
+        { # Represents a Google Tag Manager Parameter.
+          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+            # Object with schema name: Parameter
+          ],
+          "list": [ # This list parameter's parameters (keys will be ignored).
+            # Object with schema name: Parameter
+          ],
+          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+          "type": "A String", # The parameter type. Valid values are:
+              # - boolean: The value represents a boolean, represented as 'true' or 'false'
+              # - integer: The value represents a 64-bit signed integer value, in base 10
+              # - list: A list of parameters should be specified
+              # - map: A map of parameters should be specified
+              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+        },
+      ],
+      "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+        "A String",
+      ],
+      "containerId": "A String", # GTM Container ID.
+    }</pre>
 </div>
 
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.versions.html b/docs/dyn/tagmanager_v1.accounts.containers.versions.html
index 9393ee0..7c2910b 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.versions.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.versions.html
@@ -87,9 +87,6 @@
   <code><a href="#list">list(accountId, containerId, headers=None)</a></code></p>
 <p class="firstline">Lists all Container Versions of a GTM Container.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(accountId, containerId, containerVersionId, body, fingerprint=None)</a></code></p>
-<p class="firstline">Updates a Container Version. This method supports patch semantics.</p>
-<p class="toc_element">
   <code><a href="#publish">publish(accountId, containerId, containerVersionId, fingerprint=None)</a></code></p>
 <p class="firstline">Publishes a Container Version.</p>
 <p class="toc_element">
@@ -125,882 +122,6 @@
     { # Create container versions response.
     "containerVersion": { # Represents a Google Tag Manager Container Version. # The container version created.
       "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
-        "timeZoneId": "A String", # Container Time Zone ID.
-        "timeZoneCountryId": "A String", # Container Country ID.
-        "publicId": "A String", # Container Public ID.
-        "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-        "domainName": [ # Optional list of domain names associated with the Container.
-          "A String",
-        ],
-        "notes": "A String", # Container Notes.
-        "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-          "A String",
-        ],
-        "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-        "accountId": "A String", # GTM Account ID.
-        "name": "A String", # Container display name.
-      },
-      "containerId": "A String", # GTM Container ID.
-      "deleted": True or False, # A value of true indicates this container version has been deleted.
-      "macro": [ # The macros in the container that this version was taken from.
-        { # Represents a Google Tag Manager Macro.
-          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-          "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-          "containerId": "A String", # GTM Container ID.
-          "type": "A String", # GTM Macro Type.
-          "notes": "A String", # User notes on how to apply this macro in the container.
-          "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-            "A String",
-          ],
-          "name": "A String", # Macro display name.
-          "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-            "A String",
-          ],
-          "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-          "parameter": [ # The macro's parameters.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-          "accountId": "A String", # GTM Account ID.
-        },
-      ],
-      "notes": "A String", # User notes on how to apply this container version in the container.
-      "rule": [ # The rules in the container that this version was taken from.
-        { # Represents a Google Tag Manager Rule.
-          "name": "A String", # Rule display name.
-          "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-          "notes": "A String", # User notes on how to apply this rule in the container.
-          "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-          "accountId": "A String", # GTM Account ID.
-          "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-            { # Represents a predicate.
-              "type": "A String", # The type of operator for this condition.
-              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                  # - At this time, the left operand (arg0) must be a reference to a macro.
-                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-                { # Represents a Google Tag Manager Parameter.
-                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                    # Object with schema name: Parameter
-                  ],
-                  "list": [ # This list parameter's parameters (keys will be ignored).
-                    # Object with schema name: Parameter
-                  ],
-                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                  "type": "A String", # The parameter type. Valid values are:
-                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                      # - integer: The value represents a 64-bit signed integer value, in base 10
-                      # - list: A list of parameters should be specified
-                      # - map: A map of parameters should be specified
-                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-                },
-              ],
-            },
-          ],
-          "containerId": "A String", # GTM Container ID.
-        },
-      ],
-      "name": "A String", # Container version display name.
-      "tag": [ # The tags in the container that this version was taken from.
-        { # Represents a Google Tag Manager Tag.
-          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-          "containerId": "A String", # GTM Container ID.
-          "type": "A String", # GTM Tag Type.
-          "notes": "A String", # User notes on how to apply this tag in the container.
-          "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-          "name": "A String", # Tag display name.
-          "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-            "A String",
-          ],
-          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-          "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-          "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-            "A String",
-          ],
-          "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-            "A String",
-          ],
-          "parameter": [ # The tag's parameters.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-          "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-            "A String",
-          ],
-          "accountId": "A String", # GTM Account ID.
-        },
-      ],
-      "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
-      "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
-      "trigger": [ # The triggers in the container that this version was taken from.
-        { # Represents a Google Tag Manager Trigger
-          "filter": [ # The trigger will only fire iff all Conditions are true.
-            { # Represents a predicate.
-              "type": "A String", # The type of operator for this condition.
-              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                  # - At this time, the left operand (arg0) must be a reference to a macro.
-                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-                { # Represents a Google Tag Manager Parameter.
-                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                    # Object with schema name: Parameter
-                  ],
-                  "list": [ # This list parameter's parameters (keys will be ignored).
-                    # Object with schema name: Parameter
-                  ],
-                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                  "type": "A String", # The parameter type. Valid values are:
-                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                      # - integer: The value represents a 64-bit signed integer value, in base 10
-                      # - list: A list of parameters should be specified
-                      # - map: A map of parameters should be specified
-                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-                },
-              ],
-            },
-          ],
-          "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "containerId": "A String", # GTM Container ID.
-          "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-          "name": "A String", # Trigger display name.
-          "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "autoEventFilter": [ # Used in the case of auto event tracking.
-            { # Represents a predicate.
-              "type": "A String", # The type of operator for this condition.
-              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                  # - At this time, the left operand (arg0) must be a reference to a macro.
-                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-                { # Represents a Google Tag Manager Parameter.
-                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                    # Object with schema name: Parameter
-                  ],
-                  "list": [ # This list parameter's parameters (keys will be ignored).
-                    # Object with schema name: Parameter
-                  ],
-                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                  "type": "A String", # The parameter type. Valid values are:
-                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                      # - integer: The value represents a 64-bit signed integer value, in base 10
-                      # - list: A list of parameters should be specified
-                      # - map: A map of parameters should be specified
-                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-                },
-              ],
-            },
-          ],
-          "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-          "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-            { # Represents a predicate.
-              "type": "A String", # The type of operator for this condition.
-              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                  # - At this time, the left operand (arg0) must be a reference to a macro.
-                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-                { # Represents a Google Tag Manager Parameter.
-                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                    # Object with schema name: Parameter
-                  ],
-                  "list": [ # This list parameter's parameters (keys will be ignored).
-                    # Object with schema name: Parameter
-                  ],
-                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                  "type": "A String", # The parameter type. Valid values are:
-                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                      # - integer: The value represents a 64-bit signed integer value, in base 10
-                      # - list: A list of parameters should be specified
-                      # - map: A map of parameters should be specified
-                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-                },
-              ],
-            },
-          ],
-          "type": "A String", # Defines the data layer event that causes this trigger.
-          "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-          "accountId": "A String", # GTM Account ID.
-        },
-      ],
-      "accountId": "A String", # GTM Account ID.
-    },
-    "compilerError": True or False, # Compiler errors or not.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(accountId, containerId, containerVersionId)</code>
-  <pre>Deletes a Container Version.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  containerVersionId: string, The GTM Container Version ID. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="get">get(accountId, containerId, containerVersionId)</code>
-  <pre>Gets a Container Version.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  containerVersionId: string, The GTM Container Version ID. Specify published to retrieve the currently published version. (required)
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Container Version.
-    "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
-      "timeZoneId": "A String", # Container Time Zone ID.
-      "timeZoneCountryId": "A String", # Container Country ID.
-      "publicId": "A String", # Container Public ID.
-      "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-      "domainName": [ # Optional list of domain names associated with the Container.
-        "A String",
-      ],
-      "notes": "A String", # Container Notes.
-      "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-        "A String",
-      ],
-      "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-      "accountId": "A String", # GTM Account ID.
-      "name": "A String", # Container display name.
-    },
-    "containerId": "A String", # GTM Container ID.
-    "deleted": True or False, # A value of true indicates this container version has been deleted.
-    "macro": [ # The macros in the container that this version was taken from.
-      { # Represents a Google Tag Manager Macro.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-        "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Macro Type.
-        "notes": "A String", # User notes on how to apply this macro in the container.
-        "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "name": "A String", # Macro display name.
-        "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-        "parameter": [ # The macro's parameters.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
-    ],
-    "notes": "A String", # User notes on how to apply this container version in the container.
-    "rule": [ # The rules in the container that this version was taken from.
-      { # Represents a Google Tag Manager Rule.
-        "name": "A String", # Rule display name.
-        "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-        "notes": "A String", # User notes on how to apply this rule in the container.
-        "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-        "accountId": "A String", # GTM Account ID.
-        "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "containerId": "A String", # GTM Container ID.
-      },
-    ],
-    "name": "A String", # Container version display name.
-    "tag": [ # The tags in the container that this version was taken from.
-      { # Represents a Google Tag Manager Tag.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Tag Type.
-        "notes": "A String", # User notes on how to apply this tag in the container.
-        "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-        "name": "A String", # Tag display name.
-        "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-        "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-        "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-          "A String",
-        ],
-        "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-          "A String",
-        ],
-        "parameter": [ # The tag's parameters.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-        "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
-    ],
-    "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
-    "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
-    "trigger": [ # The triggers in the container that this version was taken from.
-      { # Represents a Google Tag Manager Trigger
-        "filter": [ # The trigger will only fire iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "containerId": "A String", # GTM Container ID.
-        "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-        "name": "A String", # Trigger display name.
-        "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "autoEventFilter": [ # Used in the case of auto event tracking.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-        "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "type": "A String", # Defines the data layer event that causes this trigger.
-        "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "accountId": "A String", # GTM Account ID.
-      },
-    ],
-    "accountId": "A String", # GTM Account ID.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(accountId, containerId, headers=None)</code>
-  <pre>Lists all Container Versions of a GTM Container.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  headers: boolean, Retrieve headers only when true.
-
-Returns:
-  An object of the form:
-
-    { # List container versions response.
-    "containerVersionHeader": [ # All container version headers of a GTM Container.
-      { # Represents a Google Tag Manager Container Version Header.
-        "name": "A String", # Container version display name.
-        "deleted": True or False, # A value of true indicates this container version has been deleted.
-        "numMacros": "A String", # Number of macros in the container version.
-        "numTags": "A String", # Number of tags in the container version.
-        "numRules": "A String", # Number of rules in the container version.
-        "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
-        "numTriggers": "A String", # Number of triggers in the container version.
-        "accountId": "A String", # GTM Account ID.
-        "containerId": "A String", # GTM Container ID.
-      },
-    ],
-    "containerVersion": [ # All versions of a GTM Container.
-      { # Represents a Google Tag Manager Container Version.
-        "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
           "timeZoneId": "A String", # Container Time Zone ID.
           "timeZoneCountryId": "A String", # Container Country ID.
           "publicId": "A String", # Container Public ID.
@@ -1016,10 +137,10 @@
           "accountId": "A String", # GTM Account ID.
           "name": "A String", # Container display name.
         },
-        "containerId": "A String", # GTM Container ID.
-        "deleted": True or False, # A value of true indicates this container version has been deleted.
-        "macro": [ # The macros in the container that this version was taken from.
-          { # Represents a Google Tag Manager Macro.
+      "containerId": "A String", # GTM Container ID.
+      "deleted": True or False, # A value of true indicates this container version has been deleted.
+      "macro": [ # The macros in the container that this version was taken from.
+        { # Represents a Google Tag Manager Macro.
             "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
             "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
             "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
@@ -1054,10 +175,10 @@
             ],
             "accountId": "A String", # GTM Account ID.
           },
-        ],
-        "notes": "A String", # User notes on how to apply this container version in the container.
-        "rule": [ # The rules in the container that this version was taken from.
-          { # Represents a Google Tag Manager Rule.
+      ],
+      "notes": "A String", # User notes on how to apply this container version in the container.
+      "rule": [ # The rules in the container that this version was taken from.
+        { # Represents a Google Tag Manager Rule.
             "name": "A String", # Rule display name.
             "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
             "notes": "A String", # User notes on how to apply this rule in the container.
@@ -1092,10 +213,10 @@
             ],
             "containerId": "A String", # GTM Container ID.
           },
-        ],
-        "name": "A String", # Container version display name.
-        "tag": [ # The tags in the container that this version was taken from.
-          { # Represents a Google Tag Manager Tag.
+      ],
+      "name": "A String", # Container version display name.
+      "tag": [ # The tags in the container that this version was taken from.
+        { # Represents a Google Tag Manager Tag.
             "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
             "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
             "containerId": "A String", # GTM Container ID.
@@ -1169,11 +290,11 @@
             ],
             "accountId": "A String", # GTM Account ID.
           },
-        ],
-        "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
-        "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
-        "trigger": [ # The triggers in the container that this version was taken from.
-          { # Represents a Google Tag Manager Trigger
+      ],
+      "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
+      "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+      "trigger": [ # The triggers in the container that this version was taken from.
+        { # Represents a Google Tag Manager Trigger
             "filter": [ # The trigger will only fire iff all Conditions are true.
               { # Represents a predicate.
                 "type": "A String", # The type of operator for this condition.
@@ -1406,868 +527,38 @@
             },
             "accountId": "A String", # GTM Account ID.
           },
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
-    ],
+      ],
+      "accountId": "A String", # GTM Account ID.
+    },
+    "compilerError": True or False, # Compiler errors or not.
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(accountId, containerId, containerVersionId, body, fingerprint=None)</code>
-  <pre>Updates a Container Version. This method supports patch semantics.
+    <code class="details" id="delete">delete(accountId, containerId, containerVersionId)</code>
+  <pre>Deletes a Container Version.
 
 Args:
   accountId: string, The GTM Account ID. (required)
   containerId: string, The GTM Container ID. (required)
   containerVersionId: string, The GTM Container Version ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
+</pre>
+</div>
 
-{ # Represents a Google Tag Manager Container Version.
-  "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
-    "timeZoneId": "A String", # Container Time Zone ID.
-    "timeZoneCountryId": "A String", # Container Country ID.
-    "publicId": "A String", # Container Public ID.
-    "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-    "domainName": [ # Optional list of domain names associated with the Container.
-      "A String",
-    ],
-    "notes": "A String", # Container Notes.
-    "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-      "A String",
-    ],
-    "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-    "accountId": "A String", # GTM Account ID.
-    "name": "A String", # Container display name.
-  },
-  "containerId": "A String", # GTM Container ID.
-  "deleted": True or False, # A value of true indicates this container version has been deleted.
-  "macro": [ # The macros in the container that this version was taken from.
-    { # Represents a Google Tag Manager Macro.
-      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-      "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-      "containerId": "A String", # GTM Container ID.
-      "type": "A String", # GTM Macro Type.
-      "notes": "A String", # User notes on how to apply this macro in the container.
-      "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-        "A String",
-      ],
-      "name": "A String", # Macro display name.
-      "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-        "A String",
-      ],
-      "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-      "parameter": [ # The macro's parameters.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-      "accountId": "A String", # GTM Account ID.
-    },
-  ],
-  "notes": "A String", # User notes on how to apply this container version in the container.
-  "rule": [ # The rules in the container that this version was taken from.
-    { # Represents a Google Tag Manager Rule.
-      "name": "A String", # Rule display name.
-      "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-      "notes": "A String", # User notes on how to apply this rule in the container.
-      "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-      "accountId": "A String", # GTM Account ID.
-      "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-        { # Represents a predicate.
-          "type": "A String", # The type of operator for this condition.
-          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-              # - At this time, the left operand (arg0) must be a reference to a macro.
-              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-        },
-      ],
-      "containerId": "A String", # GTM Container ID.
-    },
-  ],
-  "name": "A String", # Container version display name.
-  "tag": [ # The tags in the container that this version was taken from.
-    { # Represents a Google Tag Manager Tag.
-      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-      "containerId": "A String", # GTM Container ID.
-      "type": "A String", # GTM Tag Type.
-      "notes": "A String", # User notes on how to apply this tag in the container.
-      "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-      "name": "A String", # Tag display name.
-      "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-        "A String",
-      ],
-      "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-      "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-      "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-        "A String",
-      ],
-      "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-        "A String",
-      ],
-      "parameter": [ # The tag's parameters.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-      "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-        "A String",
-      ],
-      "accountId": "A String", # GTM Account ID.
-    },
-  ],
-  "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
-  "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
-  "trigger": [ # The triggers in the container that this version was taken from.
-    { # Represents a Google Tag Manager Trigger
-      "filter": [ # The trigger will only fire iff all Conditions are true.
-        { # Represents a predicate.
-          "type": "A String", # The type of operator for this condition.
-          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-              # - At this time, the left operand (arg0) must be a reference to a macro.
-              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-        },
-      ],
-      "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "containerId": "A String", # GTM Container ID.
-      "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-      "name": "A String", # Trigger display name.
-      "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "autoEventFilter": [ # Used in the case of auto event tracking.
-        { # Represents a predicate.
-          "type": "A String", # The type of operator for this condition.
-          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-              # - At this time, the left operand (arg0) must be a reference to a macro.
-              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-        },
-      ],
-      "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-      "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-        { # Represents a predicate.
-          "type": "A String", # The type of operator for this condition.
-          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-              # - At this time, the left operand (arg0) must be a reference to a macro.
-              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-        },
-      ],
-      "type": "A String", # Defines the data layer event that causes this trigger.
-      "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "accountId": "A String", # GTM Account ID.
-    },
-  ],
-  "accountId": "A String", # GTM Account ID.
-}
+<div class="method">
+    <code class="details" id="get">get(accountId, containerId, containerVersionId)</code>
+  <pre>Gets a Container Version.
 
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the container version in storage.
+Args:
+  accountId: string, The GTM Account ID. (required)
+  containerId: string, The GTM Container ID. (required)
+  containerVersionId: string, The GTM Container Version ID. Specify published to retrieve the currently published version. (required)
 
 Returns:
   An object of the form:
 
     { # Represents a Google Tag Manager Container Version.
     "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
-      "timeZoneId": "A String", # Container Time Zone ID.
-      "timeZoneCountryId": "A String", # Container Country ID.
-      "publicId": "A String", # Container Public ID.
-      "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-      "domainName": [ # Optional list of domain names associated with the Container.
-        "A String",
-      ],
-      "notes": "A String", # Container Notes.
-      "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-        "A String",
-      ],
-      "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-      "accountId": "A String", # GTM Account ID.
-      "name": "A String", # Container display name.
-    },
-    "containerId": "A String", # GTM Container ID.
-    "deleted": True or False, # A value of true indicates this container version has been deleted.
-    "macro": [ # The macros in the container that this version was taken from.
-      { # Represents a Google Tag Manager Macro.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-        "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Macro Type.
-        "notes": "A String", # User notes on how to apply this macro in the container.
-        "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "name": "A String", # Macro display name.
-        "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-        "parameter": [ # The macro's parameters.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
-    ],
-    "notes": "A String", # User notes on how to apply this container version in the container.
-    "rule": [ # The rules in the container that this version was taken from.
-      { # Represents a Google Tag Manager Rule.
-        "name": "A String", # Rule display name.
-        "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-        "notes": "A String", # User notes on how to apply this rule in the container.
-        "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-        "accountId": "A String", # GTM Account ID.
-        "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "containerId": "A String", # GTM Container ID.
-      },
-    ],
-    "name": "A String", # Container version display name.
-    "tag": [ # The tags in the container that this version was taken from.
-      { # Represents a Google Tag Manager Tag.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Tag Type.
-        "notes": "A String", # User notes on how to apply this tag in the container.
-        "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-        "name": "A String", # Tag display name.
-        "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-        "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-        "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-          "A String",
-        ],
-        "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-          "A String",
-        ],
-        "parameter": [ # The tag's parameters.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-        "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
-    ],
-    "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
-    "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
-    "trigger": [ # The triggers in the container that this version was taken from.
-      { # Represents a Google Tag Manager Trigger
-        "filter": [ # The trigger will only fire iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "containerId": "A String", # GTM Container ID.
-        "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-        "name": "A String", # Trigger display name.
-        "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "autoEventFilter": [ # Used in the case of auto event tracking.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-        "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "type": "A String", # Defines the data layer event that causes this trigger.
-        "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "accountId": "A String", # GTM Account ID.
-      },
-    ],
-    "accountId": "A String", # GTM Account ID.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="publish">publish(accountId, containerId, containerVersionId, fingerprint=None)</code>
-  <pre>Publishes a Container Version.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  containerId: string, The GTM Container ID. (required)
-  containerVersionId: string, The GTM Container Version ID. (required)
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the container version in storage.
-
-Returns:
-  An object of the form:
-
-    { # Publish container version response.
-    "containerVersion": { # Represents a Google Tag Manager Container Version. # The container version created.
-      "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
         "timeZoneId": "A String", # Container Time Zone ID.
         "timeZoneCountryId": "A String", # Container Country ID.
         "publicId": "A String", # Container Public ID.
@@ -2283,10 +574,10 @@
         "accountId": "A String", # GTM Account ID.
         "name": "A String", # Container display name.
       },
-      "containerId": "A String", # GTM Container ID.
-      "deleted": True or False, # A value of true indicates this container version has been deleted.
-      "macro": [ # The macros in the container that this version was taken from.
-        { # Represents a Google Tag Manager Macro.
+    "containerId": "A String", # GTM Container ID.
+    "deleted": True or False, # A value of true indicates this container version has been deleted.
+    "macro": [ # The macros in the container that this version was taken from.
+      { # Represents a Google Tag Manager Macro.
           "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
           "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
           "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
@@ -2321,10 +612,10 @@
           ],
           "accountId": "A String", # GTM Account ID.
         },
-      ],
-      "notes": "A String", # User notes on how to apply this container version in the container.
-      "rule": [ # The rules in the container that this version was taken from.
-        { # Represents a Google Tag Manager Rule.
+    ],
+    "notes": "A String", # User notes on how to apply this container version in the container.
+    "rule": [ # The rules in the container that this version was taken from.
+      { # Represents a Google Tag Manager Rule.
           "name": "A String", # Rule display name.
           "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
           "notes": "A String", # User notes on how to apply this rule in the container.
@@ -2359,10 +650,10 @@
           ],
           "containerId": "A String", # GTM Container ID.
         },
-      ],
-      "name": "A String", # Container version display name.
-      "tag": [ # The tags in the container that this version was taken from.
-        { # Represents a Google Tag Manager Tag.
+    ],
+    "name": "A String", # Container version display name.
+    "tag": [ # The tags in the container that this version was taken from.
+      { # Represents a Google Tag Manager Tag.
           "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
           "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
           "containerId": "A String", # GTM Container ID.
@@ -2436,11 +727,11 @@
           ],
           "accountId": "A String", # GTM Account ID.
         },
-      ],
-      "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
-      "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
-      "trigger": [ # The triggers in the container that this version was taken from.
-        { # Represents a Google Tag Manager Trigger
+    ],
+    "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
+    "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+    "trigger": [ # The triggers in the container that this version was taken from.
+      { # Represents a Google Tag Manager Trigger
           "filter": [ # The trigger will only fire iff all Conditions are true.
             { # Represents a predicate.
               "type": "A String", # The type of operator for this condition.
@@ -2673,6 +964,873 @@
           },
           "accountId": "A String", # GTM Account ID.
         },
+    ],
+    "accountId": "A String", # GTM Account ID.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, containerId, headers=None)</code>
+  <pre>Lists all Container Versions of a GTM Container.
+
+Args:
+  accountId: string, The GTM Account ID. (required)
+  containerId: string, The GTM Container ID. (required)
+  headers: boolean, Retrieve headers only when true.
+
+Returns:
+  An object of the form:
+
+    { # List container versions response.
+    "containerVersionHeader": [ # All container version headers of a GTM Container.
+      { # Represents a Google Tag Manager Container Version Header.
+        "name": "A String", # Container version display name.
+        "deleted": True or False, # A value of true indicates this container version has been deleted.
+        "numMacros": "A String", # Number of macros in the container version.
+        "numTags": "A String", # Number of tags in the container version.
+        "numRules": "A String", # Number of rules in the container version.
+        "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
+        "numTriggers": "A String", # Number of triggers in the container version.
+        "accountId": "A String", # GTM Account ID.
+        "containerId": "A String", # GTM Container ID.
+      },
+    ],
+    "containerVersion": [ # All versions of a GTM Container.
+      { # Represents a Google Tag Manager Container Version.
+        "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
+            "timeZoneId": "A String", # Container Time Zone ID.
+            "timeZoneCountryId": "A String", # Container Country ID.
+            "publicId": "A String", # Container Public ID.
+            "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
+            "domainName": [ # Optional list of domain names associated with the Container.
+              "A String",
+            ],
+            "notes": "A String", # Container Notes.
+            "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
+              "A String",
+            ],
+            "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
+            "accountId": "A String", # GTM Account ID.
+            "name": "A String", # Container display name.
+          },
+        "containerId": "A String", # GTM Container ID.
+        "deleted": True or False, # A value of true indicates this container version has been deleted.
+        "macro": [ # The macros in the container that this version was taken from.
+          { # Represents a Google Tag Manager Macro.
+              "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
+              "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
+              "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
+              "containerId": "A String", # GTM Container ID.
+              "type": "A String", # GTM Macro Type.
+              "notes": "A String", # User notes on how to apply this macro in the container.
+              "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+                "A String",
+              ],
+              "name": "A String", # Macro display name.
+              "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+                "A String",
+              ],
+              "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
+              "parameter": [ # The macro's parameters.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+              "accountId": "A String", # GTM Account ID.
+            },
+        ],
+        "notes": "A String", # User notes on how to apply this container version in the container.
+        "rule": [ # The rules in the container that this version was taken from.
+          { # Represents a Google Tag Manager Rule.
+              "name": "A String", # Rule display name.
+              "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
+              "notes": "A String", # User notes on how to apply this rule in the container.
+              "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
+              "accountId": "A String", # GTM Account ID.
+              "condition": [ # The list of conditions that make up this rule (implicit AND between them).
+                { # Represents a predicate.
+                  "type": "A String", # The type of operator for this condition.
+                  "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                      # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                      # - At this time, the left operand (arg0) must be a reference to a macro.
+                      # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                      # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                    { # Represents a Google Tag Manager Parameter.
+                      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                        # Object with schema name: Parameter
+                      ],
+                      "list": [ # This list parameter's parameters (keys will be ignored).
+                        # Object with schema name: Parameter
+                      ],
+                      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                      "type": "A String", # The parameter type. Valid values are:
+                          # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                          # - integer: The value represents a 64-bit signed integer value, in base 10
+                          # - list: A list of parameters should be specified
+                          # - map: A map of parameters should be specified
+                          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                    },
+                  ],
+                },
+              ],
+              "containerId": "A String", # GTM Container ID.
+            },
+        ],
+        "name": "A String", # Container version display name.
+        "tag": [ # The tags in the container that this version was taken from.
+          { # Represents a Google Tag Manager Tag.
+              "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
+              "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
+              "containerId": "A String", # GTM Container ID.
+              "type": "A String", # GTM Tag Type.
+              "notes": "A String", # User notes on how to apply this tag in the container.
+              "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
+              "name": "A String", # Tag display name.
+              "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
+                "A String",
+              ],
+              "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
+              "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
+              "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
+                "A String",
+              ],
+              "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
+                "A String",
+              ],
+              "parameter": [ # The tag's parameters.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+              "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
+                "A String",
+              ],
+              "accountId": "A String", # GTM Account ID.
+            },
+        ],
+        "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
+        "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+        "trigger": [ # The triggers in the container that this version was taken from.
+          { # Represents a Google Tag Manager Trigger
+              "filter": [ # The trigger will only fire iff all Conditions are true.
+                { # Represents a predicate.
+                  "type": "A String", # The type of operator for this condition.
+                  "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                      # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                      # - At this time, the left operand (arg0) must be a reference to a macro.
+                      # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                      # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                    { # Represents a Google Tag Manager Parameter.
+                      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                        # Object with schema name: Parameter
+                      ],
+                      "list": [ # This list parameter's parameters (keys will be ignored).
+                        # Object with schema name: Parameter
+                      ],
+                      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                      "type": "A String", # The parameter type. Valid values are:
+                          # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                          # - integer: The value represents a 64-bit signed integer value, in base 10
+                          # - list: A list of parameters should be specified
+                          # - map: A map of parameters should be specified
+                          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                    },
+                  ],
+                },
+              ],
+              "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "containerId": "A String", # GTM Container ID.
+              "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
+              "name": "A String", # Trigger display name.
+              "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "autoEventFilter": [ # Used in the case of auto event tracking.
+                { # Represents a predicate.
+                  "type": "A String", # The type of operator for this condition.
+                  "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                      # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                      # - At this time, the left operand (arg0) must be a reference to a macro.
+                      # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                      # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                    { # Represents a Google Tag Manager Parameter.
+                      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                        # Object with schema name: Parameter
+                      ],
+                      "list": [ # This list parameter's parameters (keys will be ignored).
+                        # Object with schema name: Parameter
+                      ],
+                      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                      "type": "A String", # The parameter type. Valid values are:
+                          # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                          # - integer: The value represents a 64-bit signed integer value, in base 10
+                          # - list: A list of parameters should be specified
+                          # - map: A map of parameters should be specified
+                          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                    },
+                  ],
+                },
+              ],
+              "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
+              "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
+                { # Represents a predicate.
+                  "type": "A String", # The type of operator for this condition.
+                  "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                      # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                      # - At this time, the left operand (arg0) must be a reference to a macro.
+                      # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                      # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                    { # Represents a Google Tag Manager Parameter.
+                      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                        # Object with schema name: Parameter
+                      ],
+                      "list": [ # This list parameter's parameters (keys will be ignored).
+                        # Object with schema name: Parameter
+                      ],
+                      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                      "type": "A String", # The parameter type. Valid values are:
+                          # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                          # - integer: The value represents a 64-bit signed integer value, in base 10
+                          # - list: A list of parameters should be specified
+                          # - map: A map of parameters should be specified
+                          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                    },
+                  ],
+                },
+              ],
+              "type": "A String", # Defines the data layer event that causes this trigger.
+              "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+              "accountId": "A String", # GTM Account ID.
+            },
+        ],
+        "accountId": "A String", # GTM Account ID.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="publish">publish(accountId, containerId, containerVersionId, fingerprint=None)</code>
+  <pre>Publishes a Container Version.
+
+Args:
+  accountId: string, The GTM Account ID. (required)
+  containerId: string, The GTM Container ID. (required)
+  containerVersionId: string, The GTM Container Version ID. (required)
+  fingerprint: string, When provided, this fingerprint must match the fingerprint of the container version in storage.
+
+Returns:
+  An object of the form:
+
+    { # Publish container version response.
+    "containerVersion": { # Represents a Google Tag Manager Container Version. # The container version created.
+      "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
+          "timeZoneId": "A String", # Container Time Zone ID.
+          "timeZoneCountryId": "A String", # Container Country ID.
+          "publicId": "A String", # Container Public ID.
+          "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
+          "domainName": [ # Optional list of domain names associated with the Container.
+            "A String",
+          ],
+          "notes": "A String", # Container Notes.
+          "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
+          "accountId": "A String", # GTM Account ID.
+          "name": "A String", # Container display name.
+        },
+      "containerId": "A String", # GTM Container ID.
+      "deleted": True or False, # A value of true indicates this container version has been deleted.
+      "macro": [ # The macros in the container that this version was taken from.
+        { # Represents a Google Tag Manager Macro.
+            "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
+            "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
+            "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
+            "containerId": "A String", # GTM Container ID.
+            "type": "A String", # GTM Macro Type.
+            "notes": "A String", # User notes on how to apply this macro in the container.
+            "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+              "A String",
+            ],
+            "name": "A String", # Macro display name.
+            "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+              "A String",
+            ],
+            "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
+            "parameter": [ # The macro's parameters.
+              { # Represents a Google Tag Manager Parameter.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+            ],
+            "accountId": "A String", # GTM Account ID.
+          },
+      ],
+      "notes": "A String", # User notes on how to apply this container version in the container.
+      "rule": [ # The rules in the container that this version was taken from.
+        { # Represents a Google Tag Manager Rule.
+            "name": "A String", # Rule display name.
+            "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
+            "notes": "A String", # User notes on how to apply this rule in the container.
+            "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
+            "accountId": "A String", # GTM Account ID.
+            "condition": [ # The list of conditions that make up this rule (implicit AND between them).
+              { # Represents a predicate.
+                "type": "A String", # The type of operator for this condition.
+                "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                    # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                    # - At this time, the left operand (arg0) must be a reference to a macro.
+                    # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                    # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                  { # Represents a Google Tag Manager Parameter.
+                    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                      # Object with schema name: Parameter
+                    ],
+                    "list": [ # This list parameter's parameters (keys will be ignored).
+                      # Object with schema name: Parameter
+                    ],
+                    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                    "type": "A String", # The parameter type. Valid values are:
+                        # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                        # - integer: The value represents a 64-bit signed integer value, in base 10
+                        # - list: A list of parameters should be specified
+                        # - map: A map of parameters should be specified
+                        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                  },
+                ],
+              },
+            ],
+            "containerId": "A String", # GTM Container ID.
+          },
+      ],
+      "name": "A String", # Container version display name.
+      "tag": [ # The tags in the container that this version was taken from.
+        { # Represents a Google Tag Manager Tag.
+            "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
+            "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
+            "containerId": "A String", # GTM Container ID.
+            "type": "A String", # GTM Tag Type.
+            "notes": "A String", # User notes on how to apply this tag in the container.
+            "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
+            "name": "A String", # Tag display name.
+            "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
+              "A String",
+            ],
+            "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
+            "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
+            "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
+              "A String",
+            ],
+            "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
+              "A String",
+            ],
+            "parameter": [ # The tag's parameters.
+              { # Represents a Google Tag Manager Parameter.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+            ],
+            "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
+              "A String",
+            ],
+            "accountId": "A String", # GTM Account ID.
+          },
+      ],
+      "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
+      "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+      "trigger": [ # The triggers in the container that this version was taken from.
+        { # Represents a Google Tag Manager Trigger
+            "filter": [ # The trigger will only fire iff all Conditions are true.
+              { # Represents a predicate.
+                "type": "A String", # The type of operator for this condition.
+                "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                    # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                    # - At this time, the left operand (arg0) must be a reference to a macro.
+                    # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                    # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                  { # Represents a Google Tag Manager Parameter.
+                    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                      # Object with schema name: Parameter
+                    ],
+                    "list": [ # This list parameter's parameters (keys will be ignored).
+                      # Object with schema name: Parameter
+                    ],
+                    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                    "type": "A String", # The parameter type. Valid values are:
+                        # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                        # - integer: The value represents a 64-bit signed integer value, in base 10
+                        # - list: A list of parameters should be specified
+                        # - map: A map of parameters should be specified
+                        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                  },
+                ],
+              },
+            ],
+            "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "containerId": "A String", # GTM Container ID.
+            "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
+            "name": "A String", # Trigger display name.
+            "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "autoEventFilter": [ # Used in the case of auto event tracking.
+              { # Represents a predicate.
+                "type": "A String", # The type of operator for this condition.
+                "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                    # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                    # - At this time, the left operand (arg0) must be a reference to a macro.
+                    # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                    # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                  { # Represents a Google Tag Manager Parameter.
+                    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                      # Object with schema name: Parameter
+                    ],
+                    "list": [ # This list parameter's parameters (keys will be ignored).
+                      # Object with schema name: Parameter
+                    ],
+                    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                    "type": "A String", # The parameter type. Valid values are:
+                        # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                        # - integer: The value represents a 64-bit signed integer value, in base 10
+                        # - list: A list of parameters should be specified
+                        # - map: A map of parameters should be specified
+                        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                  },
+                ],
+              },
+            ],
+            "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
+            "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
+              { # Represents a predicate.
+                "type": "A String", # The type of operator for this condition.
+                "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                    # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                    # - At this time, the left operand (arg0) must be a reference to a macro.
+                    # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                    # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                  { # Represents a Google Tag Manager Parameter.
+                    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                      # Object with schema name: Parameter
+                    ],
+                    "list": [ # This list parameter's parameters (keys will be ignored).
+                      # Object with schema name: Parameter
+                    ],
+                    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                    "type": "A String", # The parameter type. Valid values are:
+                        # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                        # - integer: The value represents a 64-bit signed integer value, in base 10
+                        # - list: A list of parameters should be specified
+                        # - map: A map of parameters should be specified
+                        # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                  },
+                ],
+              },
+            ],
+            "type": "A String", # Defines the data layer event that causes this trigger.
+            "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+            "accountId": "A String", # GTM Account ID.
+          },
       ],
       "accountId": "A String", # GTM Account ID.
     },
@@ -2694,153 +1852,109 @@
 
     { # Represents a Google Tag Manager Container Version.
     "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
-      "timeZoneId": "A String", # Container Time Zone ID.
-      "timeZoneCountryId": "A String", # Container Country ID.
-      "publicId": "A String", # Container Public ID.
-      "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-      "domainName": [ # Optional list of domain names associated with the Container.
-        "A String",
-      ],
-      "notes": "A String", # Container Notes.
-      "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-        "A String",
-      ],
-      "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-      "accountId": "A String", # GTM Account ID.
-      "name": "A String", # Container display name.
-    },
+        "timeZoneId": "A String", # Container Time Zone ID.
+        "timeZoneCountryId": "A String", # Container Country ID.
+        "publicId": "A String", # Container Public ID.
+        "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
+        "domainName": [ # Optional list of domain names associated with the Container.
+          "A String",
+        ],
+        "notes": "A String", # Container Notes.
+        "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
+          "A String",
+        ],
+        "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
+        "accountId": "A String", # GTM Account ID.
+        "name": "A String", # Container display name.
+      },
     "containerId": "A String", # GTM Container ID.
     "deleted": True or False, # A value of true indicates this container version has been deleted.
     "macro": [ # The macros in the container that this version was taken from.
       { # Represents a Google Tag Manager Macro.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-        "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Macro Type.
-        "notes": "A String", # User notes on how to apply this macro in the container.
-        "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "name": "A String", # Macro display name.
-        "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-        "parameter": [ # The macro's parameters.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
+          "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
+          "containerId": "A String", # GTM Container ID.
+          "type": "A String", # GTM Macro Type.
+          "notes": "A String", # User notes on how to apply this macro in the container.
+          "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+            "A String",
+          ],
+          "name": "A String", # Macro display name.
+          "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
+          "parameter": [ # The macro's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "accountId": "A String", # GTM Account ID.
+        },
     ],
     "notes": "A String", # User notes on how to apply this container version in the container.
     "rule": [ # The rules in the container that this version was taken from.
       { # Represents a Google Tag Manager Rule.
-        "name": "A String", # Rule display name.
-        "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-        "notes": "A String", # User notes on how to apply this rule in the container.
-        "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-        "accountId": "A String", # GTM Account ID.
-        "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "containerId": "A String", # GTM Container ID.
-      },
+          "name": "A String", # Rule display name.
+          "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
+          "notes": "A String", # User notes on how to apply this rule in the container.
+          "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
+          "accountId": "A String", # GTM Account ID.
+          "condition": [ # The list of conditions that make up this rule (implicit AND between them).
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "containerId": "A String", # GTM Container ID.
+        },
     ],
     "name": "A String", # Container version display name.
     "tag": [ # The tags in the container that this version was taken from.
       { # Represents a Google Tag Manager Tag.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Tag Type.
-        "notes": "A String", # User notes on how to apply this tag in the container.
-        "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-        "name": "A String", # Tag display name.
-        "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-        "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-        "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-          "A String",
-        ],
-        "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-          "A String",
-        ],
-        "parameter": [ # The tag's parameters.
-          { # Represents a Google Tag Manager Parameter.
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
+          "containerId": "A String", # GTM Container ID.
+          "type": "A String", # GTM Tag Type.
+          "notes": "A String", # User notes on how to apply this tag in the container.
+          "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
+          "name": "A String", # Tag display name.
+          "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -2856,249 +1970,293 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-        "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
+          "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
+            "A String",
+          ],
+          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
+          "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
+          "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
+            "A String",
+          ],
+          "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
+            "A String",
+          ],
+          "parameter": [ # The tag's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
+            "A String",
+          ],
+          "accountId": "A String", # GTM Account ID.
+        },
     ],
     "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
     "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
     "trigger": [ # The triggers in the container that this version was taken from.
       { # Represents a Google Tag Manager Trigger
-        "filter": [ # The trigger will only fire iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
+          "filter": [ # The trigger will only fire iff all Conditions are true.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
             ],
-          },
-        ],
-        "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "containerId": "A String", # GTM Container ID.
-        "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-        "name": "A String", # Trigger display name.
-        "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "autoEventFilter": [ # Used in the case of auto event tracking.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
             ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-        "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-        "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
+          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
             ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-        "type": "A String", # Defines the data layer event that causes this trigger.
-        "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
+          "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "containerId": "A String", # GTM Container ID.
+          "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
+          "name": "A String", # Trigger display name.
+          "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "autoEventFilter": [ # Used in the case of auto event tracking.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
           ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
+          "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
+          "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
           ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          "type": "A String", # Defines the data layer event that causes this trigger.
+          "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "accountId": "A String", # GTM Account ID.
         },
-        "accountId": "A String", # GTM Account ID.
-      },
     ],
     "accountId": "A String", # GTM Account ID.
   }</pre>
@@ -3118,153 +2276,109 @@
 
     { # Represents a Google Tag Manager Container Version.
     "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
-      "timeZoneId": "A String", # Container Time Zone ID.
-      "timeZoneCountryId": "A String", # Container Country ID.
-      "publicId": "A String", # Container Public ID.
-      "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-      "domainName": [ # Optional list of domain names associated with the Container.
-        "A String",
-      ],
-      "notes": "A String", # Container Notes.
-      "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-        "A String",
-      ],
-      "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-      "accountId": "A String", # GTM Account ID.
-      "name": "A String", # Container display name.
-    },
+        "timeZoneId": "A String", # Container Time Zone ID.
+        "timeZoneCountryId": "A String", # Container Country ID.
+        "publicId": "A String", # Container Public ID.
+        "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
+        "domainName": [ # Optional list of domain names associated with the Container.
+          "A String",
+        ],
+        "notes": "A String", # Container Notes.
+        "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
+          "A String",
+        ],
+        "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
+        "accountId": "A String", # GTM Account ID.
+        "name": "A String", # Container display name.
+      },
     "containerId": "A String", # GTM Container ID.
     "deleted": True or False, # A value of true indicates this container version has been deleted.
     "macro": [ # The macros in the container that this version was taken from.
       { # Represents a Google Tag Manager Macro.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-        "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Macro Type.
-        "notes": "A String", # User notes on how to apply this macro in the container.
-        "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "name": "A String", # Macro display name.
-        "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-          "A String",
-        ],
-        "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-        "parameter": [ # The macro's parameters.
-          { # Represents a Google Tag Manager Parameter.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
+          "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
+          "containerId": "A String", # GTM Container ID.
+          "type": "A String", # GTM Macro Type.
+          "notes": "A String", # User notes on how to apply this macro in the container.
+          "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+            "A String",
+          ],
+          "name": "A String", # Macro display name.
+          "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
+          "parameter": [ # The macro's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "accountId": "A String", # GTM Account ID.
+        },
     ],
     "notes": "A String", # User notes on how to apply this container version in the container.
     "rule": [ # The rules in the container that this version was taken from.
       { # Represents a Google Tag Manager Rule.
-        "name": "A String", # Rule display name.
-        "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-        "notes": "A String", # User notes on how to apply this rule in the container.
-        "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-        "accountId": "A String", # GTM Account ID.
-        "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
-            ],
-          },
-        ],
-        "containerId": "A String", # GTM Container ID.
-      },
+          "name": "A String", # Rule display name.
+          "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
+          "notes": "A String", # User notes on how to apply this rule in the container.
+          "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
+          "accountId": "A String", # GTM Account ID.
+          "condition": [ # The list of conditions that make up this rule (implicit AND between them).
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "containerId": "A String", # GTM Container ID.
+        },
     ],
     "name": "A String", # Container version display name.
     "tag": [ # The tags in the container that this version was taken from.
       { # Represents a Google Tag Manager Tag.
-        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-        "containerId": "A String", # GTM Container ID.
-        "type": "A String", # GTM Tag Type.
-        "notes": "A String", # User notes on how to apply this tag in the container.
-        "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-        "name": "A String", # Tag display name.
-        "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-        "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-        "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-          "A String",
-        ],
-        "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-          "A String",
-        ],
-        "parameter": [ # The tag's parameters.
-          { # Represents a Google Tag Manager Parameter.
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
+          "containerId": "A String", # GTM Container ID.
+          "type": "A String", # GTM Tag Type.
+          "notes": "A String", # User notes on how to apply this tag in the container.
+          "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
+          "name": "A String", # Tag display name.
+          "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -3280,249 +2394,293 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-        "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-          "A String",
-        ],
-        "accountId": "A String", # GTM Account ID.
-      },
+          "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
+            "A String",
+          ],
+          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
+          "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
+          "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
+            "A String",
+          ],
+          "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
+            "A String",
+          ],
+          "parameter": [ # The tag's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
+            "A String",
+          ],
+          "accountId": "A String", # GTM Account ID.
+        },
     ],
     "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
     "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
     "trigger": [ # The triggers in the container that this version was taken from.
       { # Represents a Google Tag Manager Trigger
-        "filter": [ # The trigger will only fire iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
+          "filter": [ # The trigger will only fire iff all Conditions are true.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
             ],
-          },
-        ],
-        "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "containerId": "A String", # GTM Container ID.
-        "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-        "name": "A String", # Trigger display name.
-        "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "autoEventFilter": [ # Used in the case of auto event tracking.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
             ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-        "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-        "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-        "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-          { # Represents a predicate.
-            "type": "A String", # The type of operator for this condition.
-            "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-                # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-                # - At this time, the left operand (arg0) must be a reference to a macro.
-                # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-                # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-              { # Represents a Google Tag Manager Parameter.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
+          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
             ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-        ],
-        "type": "A String", # Defines the data layer event that causes this trigger.
-        "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
+          "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "containerId": "A String", # GTM Container ID.
+          "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
+          "name": "A String", # Trigger display name.
+          "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "autoEventFilter": [ # Used in the case of auto event tracking.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
           ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
+          "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
+          "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
           ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          "type": "A String", # Defines the data layer event that causes this trigger.
+          "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "accountId": "A String", # GTM Account ID.
         },
-        "accountId": "A String", # GTM Account ID.
-      },
     ],
     "accountId": "A String", # GTM Account ID.
   }</pre>
@@ -3541,422 +2699,6 @@
 
 { # Represents a Google Tag Manager Container Version.
   "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
-    "timeZoneId": "A String", # Container Time Zone ID.
-    "timeZoneCountryId": "A String", # Container Country ID.
-    "publicId": "A String", # Container Public ID.
-    "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
-    "domainName": [ # Optional list of domain names associated with the Container.
-      "A String",
-    ],
-    "notes": "A String", # Container Notes.
-    "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
-      "A String",
-    ],
-    "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
-    "accountId": "A String", # GTM Account ID.
-    "name": "A String", # Container display name.
-  },
-  "containerId": "A String", # GTM Container ID.
-  "deleted": True or False, # A value of true indicates this container version has been deleted.
-  "macro": [ # The macros in the container that this version was taken from.
-    { # Represents a Google Tag Manager Macro.
-      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
-      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
-      "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
-      "containerId": "A String", # GTM Container ID.
-      "type": "A String", # GTM Macro Type.
-      "notes": "A String", # User notes on how to apply this macro in the container.
-      "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-        "A String",
-      ],
-      "name": "A String", # Macro display name.
-      "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
-        "A String",
-      ],
-      "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
-      "parameter": [ # The macro's parameters.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-      "accountId": "A String", # GTM Account ID.
-    },
-  ],
-  "notes": "A String", # User notes on how to apply this container version in the container.
-  "rule": [ # The rules in the container that this version was taken from.
-    { # Represents a Google Tag Manager Rule.
-      "name": "A String", # Rule display name.
-      "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
-      "notes": "A String", # User notes on how to apply this rule in the container.
-      "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
-      "accountId": "A String", # GTM Account ID.
-      "condition": [ # The list of conditions that make up this rule (implicit AND between them).
-        { # Represents a predicate.
-          "type": "A String", # The type of operator for this condition.
-          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-              # - At this time, the left operand (arg0) must be a reference to a macro.
-              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-        },
-      ],
-      "containerId": "A String", # GTM Container ID.
-    },
-  ],
-  "name": "A String", # Container version display name.
-  "tag": [ # The tags in the container that this version was taken from.
-    { # Represents a Google Tag Manager Tag.
-      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
-      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
-      "containerId": "A String", # GTM Container ID.
-      "type": "A String", # GTM Tag Type.
-      "notes": "A String", # User notes on how to apply this tag in the container.
-      "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
-      "name": "A String", # Tag display name.
-      "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
-        "A String",
-      ],
-      "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
-      "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
-      "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
-        "A String",
-      ],
-      "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
-        "A String",
-      ],
-      "parameter": [ # The tag's parameters.
-        { # Represents a Google Tag Manager Parameter.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
-      ],
-      "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
-        "A String",
-      ],
-      "accountId": "A String", # GTM Account ID.
-    },
-  ],
-  "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
-  "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
-  "trigger": [ # The triggers in the container that this version was taken from.
-    { # Represents a Google Tag Manager Trigger
-      "filter": [ # The trigger will only fire iff all Conditions are true.
-        { # Represents a predicate.
-          "type": "A String", # The type of operator for this condition.
-          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-              # - At this time, the left operand (arg0) must be a reference to a macro.
-              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-        },
-      ],
-      "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "containerId": "A String", # GTM Container ID.
-      "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
-      "name": "A String", # Trigger display name.
-      "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "autoEventFilter": [ # Used in the case of auto event tracking.
-        { # Represents a predicate.
-          "type": "A String", # The type of operator for this condition.
-          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-              # - At this time, the left operand (arg0) must be a reference to a macro.
-              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-        },
-      ],
-      "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
-      "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
-        { # Represents a predicate.
-          "type": "A String", # The type of operator for this condition.
-          "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
-              # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
-              # - At this time, the left operand (arg0) must be a reference to a macro.
-              # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
-              # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
-            { # Represents a Google Tag Manager Parameter.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
-          ],
-        },
-      ],
-      "type": "A String", # Defines the data layer event that causes this trigger.
-      "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
-      "accountId": "A String", # GTM Account ID.
-    },
-  ],
-  "accountId": "A String", # GTM Account ID.
-}
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the container version in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Container Version.
-    "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
       "timeZoneId": "A String", # Container Time Zone ID.
       "timeZoneCountryId": "A String", # Container Country ID.
       "publicId": "A String", # Container Public ID.
@@ -3972,10 +2714,10 @@
       "accountId": "A String", # GTM Account ID.
       "name": "A String", # Container display name.
     },
-    "containerId": "A String", # GTM Container ID.
-    "deleted": True or False, # A value of true indicates this container version has been deleted.
-    "macro": [ # The macros in the container that this version was taken from.
-      { # Represents a Google Tag Manager Macro.
+  "containerId": "A String", # GTM Container ID.
+  "deleted": True or False, # A value of true indicates this container version has been deleted.
+  "macro": [ # The macros in the container that this version was taken from.
+    { # Represents a Google Tag Manager Macro.
         "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
         "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
         "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
@@ -4010,10 +2752,10 @@
         ],
         "accountId": "A String", # GTM Account ID.
       },
-    ],
-    "notes": "A String", # User notes on how to apply this container version in the container.
-    "rule": [ # The rules in the container that this version was taken from.
-      { # Represents a Google Tag Manager Rule.
+  ],
+  "notes": "A String", # User notes on how to apply this container version in the container.
+  "rule": [ # The rules in the container that this version was taken from.
+    { # Represents a Google Tag Manager Rule.
         "name": "A String", # Rule display name.
         "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
         "notes": "A String", # User notes on how to apply this rule in the container.
@@ -4048,10 +2790,10 @@
         ],
         "containerId": "A String", # GTM Container ID.
       },
-    ],
-    "name": "A String", # Container version display name.
-    "tag": [ # The tags in the container that this version was taken from.
-      { # Represents a Google Tag Manager Tag.
+  ],
+  "name": "A String", # Container version display name.
+  "tag": [ # The tags in the container that this version was taken from.
+    { # Represents a Google Tag Manager Tag.
         "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
         "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
         "containerId": "A String", # GTM Container ID.
@@ -4125,11 +2867,11 @@
         ],
         "accountId": "A String", # GTM Account ID.
       },
-    ],
-    "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
-    "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
-    "trigger": [ # The triggers in the container that this version was taken from.
-      { # Represents a Google Tag Manager Trigger
+  ],
+  "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
+  "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+  "trigger": [ # The triggers in the container that this version was taken from.
+    { # Represents a Google Tag Manager Trigger
         "filter": [ # The trigger will only fire iff all Conditions are true.
           { # Represents a predicate.
             "type": "A String", # The type of operator for this condition.
@@ -4362,6 +3104,422 @@
         },
         "accountId": "A String", # GTM Account ID.
       },
+  ],
+  "accountId": "A String", # GTM Account ID.
+}
+
+  fingerprint: string, When provided, this fingerprint must match the fingerprint of the container version in storage.
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Tag Manager Container Version.
+    "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
+        "timeZoneId": "A String", # Container Time Zone ID.
+        "timeZoneCountryId": "A String", # Container Country ID.
+        "publicId": "A String", # Container Public ID.
+        "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
+        "domainName": [ # Optional list of domain names associated with the Container.
+          "A String",
+        ],
+        "notes": "A String", # Container Notes.
+        "usageContext": [ # List of Usage Contexts for the Container. Valid values include: web, android, ios.
+          "A String",
+        ],
+        "fingerprint": "A String", # The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.
+        "accountId": "A String", # GTM Account ID.
+        "name": "A String", # Container display name.
+      },
+    "containerId": "A String", # GTM Container ID.
+    "deleted": True or False, # A value of true indicates this container version has been deleted.
+    "macro": [ # The macros in the container that this version was taken from.
+      { # Represents a Google Tag Manager Macro.
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
+          "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
+          "containerId": "A String", # GTM Container ID.
+          "type": "A String", # GTM Macro Type.
+          "notes": "A String", # User notes on how to apply this macro in the container.
+          "enablingRuleId": [ # For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+            "A String",
+          ],
+          "name": "A String", # Macro display name.
+          "disablingRuleId": [ # For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
+          "parameter": [ # The macro's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "accountId": "A String", # GTM Account ID.
+        },
+    ],
+    "notes": "A String", # User notes on how to apply this container version in the container.
+    "rule": [ # The rules in the container that this version was taken from.
+      { # Represents a Google Tag Manager Rule.
+          "name": "A String", # Rule display name.
+          "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
+          "notes": "A String", # User notes on how to apply this rule in the container.
+          "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
+          "accountId": "A String", # GTM Account ID.
+          "condition": [ # The list of conditions that make up this rule (implicit AND between them).
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "containerId": "A String", # GTM Container ID.
+        },
+    ],
+    "name": "A String", # Container version display name.
+    "tag": [ # The tags in the container that this version was taken from.
+      { # Represents a Google Tag Manager Tag.
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a tag.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a tag.
+          "containerId": "A String", # GTM Container ID.
+          "type": "A String", # GTM Tag Type.
+          "notes": "A String", # User notes on how to apply this tag in the container.
+          "tagId": "A String", # The Tag ID uniquely identifies the GTM Tag.
+          "name": "A String", # Tag display name.
+          "priority": { # Represents a Google Tag Manager Parameter. # User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
+            "A String",
+          ],
+          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
+          "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
+          "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
+            "A String",
+          ],
+          "firingTriggerId": [ # Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.
+            "A String",
+          ],
+          "parameter": [ # The tag's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "blockingTriggerId": [ # Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.
+            "A String",
+          ],
+          "accountId": "A String", # GTM Account ID.
+        },
+    ],
+    "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
+    "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+    "trigger": [ # The triggers in the container that this version was taken from.
+      { # Represents a Google Tag Manager Trigger
+          "filter": [ # The trigger will only fire iff all Conditions are true.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "videoPercentageList": { # Represents a Google Tag Manager Parameter. # List of integer percentage values. The trigger will fire as each percentage is reached in any instrumented videos. Only valid for YouTube triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "waitForTags": { # Represents a Google Tag Manager Parameter. # Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "containerId": "A String", # GTM Container ID.
+          "interval": { # Represents a Google Tag Manager Parameter. # Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "triggerId": "A String", # The Trigger ID uniquely identifies the GTM Trigger.
+          "name": "A String", # Trigger display name.
+          "eventName": { # Represents a Google Tag Manager Parameter. # Name of the GTM event that is fired. Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "autoEventFilter": [ # Used in the case of auto event tracking.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "limit": { # Represents a Google Tag Manager Parameter. # Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "waitForTagsTimeout": { # Represents a Google Tag Manager Parameter. # How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "checkValidation": { # Represents a Google Tag Manager Parameter. # Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "fingerprint": "A String", # The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.
+          "customEventFilter": [ # Used in the case of custom event, which is fired iff all Conditions are true.
+            { # Represents a predicate.
+              "type": "A String", # The type of operator for this condition.
+              "parameter": [ # A list of named parameters (key/value), depending on the condition's type. Notes:
+                  # - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively.
+                  # - At this time, the left operand (arg0) must be a reference to a macro.
+                  # - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive.
+                  # - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+            },
+          ],
+          "type": "A String", # Defines the data layer event that causes this trigger.
+          "enableAllVideos": { # Represents a Google Tag Manager Parameter. # Reloads the videos in the page that don't already have the YT API enabled. If false, only capture events from videos that already have the API enabled. Only valid for YouTube triggers.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+          "accountId": "A String", # GTM Account ID.
+        },
     ],
     "accountId": "A String", # GTM Account ID.
   }</pre>
diff --git a/docs/dyn/tagmanager_v1.accounts.html b/docs/dyn/tagmanager_v1.accounts.html
index 36f82c2..9c6ccd6 100644
--- a/docs/dyn/tagmanager_v1.accounts.html
+++ b/docs/dyn/tagmanager_v1.accounts.html
@@ -91,9 +91,6 @@
   <code><a href="#list">list()</a></code></p>
 <p class="firstline">Lists all GTM Accounts that a user has access to.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(accountId, body, fingerprint=None)</a></code></p>
-<p class="firstline">Updates a GTM Account. This method supports patch semantics.</p>
-<p class="toc_element">
   <code><a href="#update">update(accountId, body, fingerprint=None)</a></code></p>
 <p class="firstline">Updates a GTM Account.</p>
 <h3>Method Details</h3>
@@ -108,11 +105,11 @@
   An object of the form:
 
     { # Represents a Google Tag Manager Account.
-      "shareData": True or False, # Whether the account shares data anonymously with Google and others.
-      "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
-      "name": "A String", # Account display name.
-      "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
-    }</pre>
+    "shareData": True or False, # Whether the account shares data anonymously with Google and others.
+    "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
+    "name": "A String", # Account display name.
+    "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
+  }</pre>
 </div>
 
 <div class="method">
@@ -127,45 +124,16 @@
     { # List Accounts Response.
     "accounts": [ # List of GTM Accounts that a user has access to.
       { # Represents a Google Tag Manager Account.
-          "shareData": True or False, # Whether the account shares data anonymously with Google and others.
-          "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
-          "name": "A String", # Account display name.
-          "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
-        },
+        "shareData": True or False, # Whether the account shares data anonymously with Google and others.
+        "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
+        "name": "A String", # Account display name.
+        "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
+      },
     ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(accountId, body, fingerprint=None)</code>
-  <pre>Updates a GTM Account. This method supports patch semantics.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a Google Tag Manager Account.
-    "shareData": True or False, # Whether the account shares data anonymously with Google and others.
-    "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
-    "name": "A String", # Account display name.
-    "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
-  }
-
-  fingerprint: string, When provided, this fingerprint must match the fingerprint of the account in storage.
-
-Returns:
-  An object of the form:
-
-    { # Represents a Google Tag Manager Account.
-      "shareData": True or False, # Whether the account shares data anonymously with Google and others.
-      "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
-      "name": "A String", # Account display name.
-      "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
-    }</pre>
-</div>
-
-<div class="method">
     <code class="details" id="update">update(accountId, body, fingerprint=None)</code>
   <pre>Updates a GTM Account.
 
@@ -175,11 +143,11 @@
     The object takes the form of:
 
 { # Represents a Google Tag Manager Account.
-    "shareData": True or False, # Whether the account shares data anonymously with Google and others.
-    "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
-    "name": "A String", # Account display name.
-    "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
-  }
+  "shareData": True or False, # Whether the account shares data anonymously with Google and others.
+  "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
+  "name": "A String", # Account display name.
+  "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
+}
 
   fingerprint: string, When provided, this fingerprint must match the fingerprint of the account in storage.
 
@@ -187,11 +155,11 @@
   An object of the form:
 
     { # Represents a Google Tag Manager Account.
-      "shareData": True or False, # Whether the account shares data anonymously with Google and others.
-      "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
-      "name": "A String", # Account display name.
-      "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
-    }</pre>
+    "shareData": True or False, # Whether the account shares data anonymously with Google and others.
+    "fingerprint": "A String", # The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.
+    "name": "A String", # Account display name.
+    "accountId": "A String", # The Account ID uniquely identifies the GTM Account.
+  }</pre>
 </div>
 
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/tagmanager_v1.accounts.permissions.html b/docs/dyn/tagmanager_v1.accounts.permissions.html
index 29d8894..5747d60 100644
--- a/docs/dyn/tagmanager_v1.accounts.permissions.html
+++ b/docs/dyn/tagmanager_v1.accounts.permissions.html
@@ -87,9 +87,6 @@
   <code><a href="#list">list(accountId)</a></code></p>
 <p class="firstline">List all users that have access to the account along with Account and Container Permissions granted to each of them.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(accountId, permissionId, body)</a></code></p>
-<p class="firstline">Updates a user's Account & Container Permissions. This method supports patch semantics.</p>
-<p class="toc_element">
   <code><a href="#update">update(accountId, permissionId, body)</a></code></p>
 <p class="firstline">Updates a user's Account & Container Permissions.</p>
 <h3>Method Details</h3>
@@ -103,29 +100,6 @@
     The object takes the form of:
 
 { # Represents a user's permissions to an account and its container.
-  "containerAccess": [ # GTM Container access permissions.
-    { # Defines the Google Tag Manager Container access permissions.
-      "containerId": "A String", # GTM Container ID.
-      "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
-        "A String",
-      ],
-    },
-  ],
-  "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
-    "permission": [ # List of Account permissions. Valid account permissions are read and manage.
-      "A String",
-    ],
-  },
-  "emailAddress": "A String", # User's email address.
-  "permissionId": "A String", # Account Permission ID.
-  "accountId": "A String", # GTM Account ID.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a user's permissions to an account and its container.
     "containerAccess": [ # GTM Container access permissions.
       { # Defines the Google Tag Manager Container access permissions.
         "containerId": "A String", # GTM Container ID.
@@ -142,7 +116,30 @@
     "emailAddress": "A String", # User's email address.
     "permissionId": "A String", # Account Permission ID.
     "accountId": "A String", # GTM Account ID.
-  }</pre>
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a user's permissions to an account and its container.
+      "containerAccess": [ # GTM Container access permissions.
+        { # Defines the Google Tag Manager Container access permissions.
+          "containerId": "A String", # GTM Container ID.
+          "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
+            "A String",
+          ],
+        },
+      ],
+      "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
+        "permission": [ # List of Account permissions. Valid account permissions are read and manage.
+          "A String",
+        ],
+      },
+      "emailAddress": "A String", # User's email address.
+      "permissionId": "A String", # Account Permission ID.
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -167,23 +164,23 @@
   An object of the form:
 
     { # Represents a user's permissions to an account and its container.
-    "containerAccess": [ # GTM Container access permissions.
-      { # Defines the Google Tag Manager Container access permissions.
-        "containerId": "A String", # GTM Container ID.
-        "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
+      "containerAccess": [ # GTM Container access permissions.
+        { # Defines the Google Tag Manager Container access permissions.
+          "containerId": "A String", # GTM Container ID.
+          "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
+            "A String",
+          ],
+        },
+      ],
+      "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
+        "permission": [ # List of Account permissions. Valid account permissions are read and manage.
           "A String",
         ],
       },
-    ],
-    "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
-      "permission": [ # List of Account permissions. Valid account permissions are read and manage.
-        "A String",
-      ],
-    },
-    "emailAddress": "A String", # User's email address.
-    "permissionId": "A String", # Account Permission ID.
-    "accountId": "A String", # GTM Account ID.
-  }</pre>
+      "emailAddress": "A String", # User's email address.
+      "permissionId": "A String", # Account Permission ID.
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 <div class="method">
@@ -199,81 +196,28 @@
     { # List AccountUsers Response.
     "userAccess": [ # All GTM AccountUsers of a GTM Account.
       { # Represents a user's permissions to an account and its container.
-        "containerAccess": [ # GTM Container access permissions.
-          { # Defines the Google Tag Manager Container access permissions.
-            "containerId": "A String", # GTM Container ID.
-            "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
+          "containerAccess": [ # GTM Container access permissions.
+            { # Defines the Google Tag Manager Container access permissions.
+              "containerId": "A String", # GTM Container ID.
+              "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
+                "A String",
+              ],
+            },
+          ],
+          "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
+            "permission": [ # List of Account permissions. Valid account permissions are read and manage.
               "A String",
             ],
           },
-        ],
-        "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
-          "permission": [ # List of Account permissions. Valid account permissions are read and manage.
-            "A String",
-          ],
+          "emailAddress": "A String", # User's email address.
+          "permissionId": "A String", # Account Permission ID.
+          "accountId": "A String", # GTM Account ID.
         },
-        "emailAddress": "A String", # User's email address.
-        "permissionId": "A String", # Account Permission ID.
-        "accountId": "A String", # GTM Account ID.
-      },
     ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(accountId, permissionId, body)</code>
-  <pre>Updates a user's Account & Container Permissions. This method supports patch semantics.
-
-Args:
-  accountId: string, The GTM Account ID. (required)
-  permissionId: string, The GTM User ID. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # Represents a user's permissions to an account and its container.
-  "containerAccess": [ # GTM Container access permissions.
-    { # Defines the Google Tag Manager Container access permissions.
-      "containerId": "A String", # GTM Container ID.
-      "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
-        "A String",
-      ],
-    },
-  ],
-  "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
-    "permission": [ # List of Account permissions. Valid account permissions are read and manage.
-      "A String",
-    ],
-  },
-  "emailAddress": "A String", # User's email address.
-  "permissionId": "A String", # Account Permission ID.
-  "accountId": "A String", # GTM Account ID.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a user's permissions to an account and its container.
-    "containerAccess": [ # GTM Container access permissions.
-      { # Defines the Google Tag Manager Container access permissions.
-        "containerId": "A String", # GTM Container ID.
-        "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
-          "A String",
-        ],
-      },
-    ],
-    "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
-      "permission": [ # List of Account permissions. Valid account permissions are read and manage.
-        "A String",
-      ],
-    },
-    "emailAddress": "A String", # User's email address.
-    "permissionId": "A String", # Account Permission ID.
-    "accountId": "A String", # GTM Account ID.
-  }</pre>
-</div>
-
-<div class="method">
     <code class="details" id="update">update(accountId, permissionId, body)</code>
   <pre>Updates a user's Account & Container Permissions.
 
@@ -284,29 +228,6 @@
     The object takes the form of:
 
 { # Represents a user's permissions to an account and its container.
-  "containerAccess": [ # GTM Container access permissions.
-    { # Defines the Google Tag Manager Container access permissions.
-      "containerId": "A String", # GTM Container ID.
-      "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
-        "A String",
-      ],
-    },
-  ],
-  "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
-    "permission": [ # List of Account permissions. Valid account permissions are read and manage.
-      "A String",
-    ],
-  },
-  "emailAddress": "A String", # User's email address.
-  "permissionId": "A String", # Account Permission ID.
-  "accountId": "A String", # GTM Account ID.
-}
-
-
-Returns:
-  An object of the form:
-
-    { # Represents a user's permissions to an account and its container.
     "containerAccess": [ # GTM Container access permissions.
       { # Defines the Google Tag Manager Container access permissions.
         "containerId": "A String", # GTM Container ID.
@@ -323,7 +244,30 @@
     "emailAddress": "A String", # User's email address.
     "permissionId": "A String", # Account Permission ID.
     "accountId": "A String", # GTM Account ID.
-  }</pre>
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a user's permissions to an account and its container.
+      "containerAccess": [ # GTM Container access permissions.
+        { # Defines the Google Tag Manager Container access permissions.
+          "containerId": "A String", # GTM Container ID.
+          "permission": [ # List of Container permissions. Valid container permissions are: read, edit, delete, publish.
+            "A String",
+          ],
+        },
+      ],
+      "accountAccess": { # Defines the Google Tag Manager Account access permissions. # GTM Account access permissions.
+        "permission": [ # List of Account permissions. Valid account permissions are read and manage.
+          "A String",
+        ],
+      },
+      "emailAddress": "A String", # User's email address.
+      "permissionId": "A String", # Account Permission ID.
+      "accountId": "A String", # GTM Account ID.
+    }</pre>
 </div>
 
 </body></html>
\ No newline at end of file
